Grafana+Prometheus打造运维监控系统(二)-数据获取篇-node_exporter

news2024/11/25 2:35:24

要实现各种数据指标采集,需要安装不同的数据导出器,常用的导出器有node_exporter、process-exporter、blackbox_exporter,这里简单讲一下node_exporter,node_exporter安装参考上篇:https://blog.csdn.net/zcm545186061/article/details/128172488

node_exporter

node_exporter可以采集CPU、磁盘、内存、网络、主机信息等数据

1. CPU使用率

1.1 CPU指标获取

node_exporter抓取CPU相关信息主要是各个node_cpu_seconds_total
在这里插入图片描述

# 几个重点指标说明
idel:空闲cpu时间
iowait:等待io的cpu时间
nice:用户空间进程内改变过优先级的进程使用cpu时间
system:内核进程使用cpu时间
user:用户进程使用cpu时间
...

这些时间加在一起即为总的cpu时间,比如idle 6480.1代表cpu 0开机以来到当前时间点,cpu 0的空闲时间是6480.1秒,用它除以总的cpu时间,就是cpu的空闲率

1.2 CPU使用率计算公式

我们一步步来进行使用率的计算推导

1.2.1 cpu空闲时间

increase(node_cpu_seconds_total{cpu='0', mode='idle'}[2m])
increase代表递增,该指令的意思是:cpu 0在过去两分钟内的空闲时间为115.22秒
在这里插入图片描述

1.2.2 cpu空闲占比

sum(increase(node_cpu_seconds_total{mode='idle'}[2m]))/sum(increase(node_cpu_seconds_total[2m]))
一台机器可能有多个核心,sum累加各个核心的数值,该指令的意思是:过去两分钟,该机器的cpu空闲值为0.9739(四舍五入)
在这里插入图片描述

1.2.3 cpu使用率

sum by (instance)(increase(node_cpu_seconds_total{mode='idle'}[2m]))/sum by (instance)(increase(node_cpu_seconds_total[2m]))
如果监控多台主机,要对多台主机做sum,使用sum by (instance)
在这里插入图片描述
得到2min内cpu使用率的计算公式:100 * (1 - sum by (instance)(increase(node_cpu_seconds_total{mode='idle'}[2m]))/sum by (instance)(increase(node_cpu_seconds_total[2m])))
在这里插入图片描述

1.2.4 cpu核心数

count(node_cpu_seconds_total{job="node_exporter",mode='system'}) by (instance)
在这里插入图片描述

1) cpu负载情况
node_load1{job="node_exporter"}
node_load5{job="node_exporter"}
node_load15{job="node_exporter"}
2) cpu使用率:
(1 - sum(rate(node_cpu_seconds_total{job="node_exporter",mode="idle"}[1m])) by (instance) / sum(rate(node_cpu_seconds_total{job="node_exporter"}[1m])) by (instance) ) 
 
3) cpu 空闲模式占比:
sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter",mode="idle"}[1m])) / sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter"}[1m]))
 
4) cpu user模式占比:
sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter",mode="user"}[1m])) / sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter"}[1m]))
 
5) cpu system模式占比:
sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter",mode="system"}[1m])) / sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter"}[1m]))
 
6) nice 模式占比
sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter",mode="nice"}[1m])) / sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter"}[1m]))
 
7) iowait 模式占比
sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter",mode="iowait"}[1m])) / sum by (instance)(rate(node_cpu_seconds_total{job="node_exporter"}[1m]))
 
8) cpu 核数
count(node_cpu_seconds_total{job="node_exporter",mode='system'}) by (instance)

摘自:https://blog.csdn.net/lovely_nn/article/details/122131923

2 内存使用率

2.1 内存指标获取

node_memory_xxxxxx用来抓取内存指标

2.1.1 可用内存

node_memory_MemTotal_bytes / 1024 / 1024,默认为kb,转化为mb需要除以两个1024
在这里插入图片描述

2.1.2 空闲内存

node_memory_MemFree_bytes / 1024 / 1024,默认为kb,转化为mb需要除以两个1024
在这里插入图片描述

2.1.3 缓冲内存

node_memory_Buffers_bytes

2.1.4 缓存内存

node_memory_Cached_bytes

2.1.5 交换内存

node_memory_SwapFree_bytes

2.1.6 已用内存

已用内存=可用内存 - (缓冲内存 + 缓存内存 + 空闲内存),即node_memory_MemTotal_bytes - (node_memory_Cached_bytes + node_memory_Buffers_bytes + node_memory_MemFree_bytes)

2.1.7 内存使用率

(1- (node_memory_Buffers_bytes + node_memory_Cached_bytes + node_memory_MemFree_bytes) / node_memory_MemTotal_bytes)
在这里插入图片描述

3 磁盘使用率

1)"/"磁盘使用率(文件系统类型为 ext.?或 xfs的)
(node_filesystem_size_bytes{job="node_exporter",fstype=~"ext.?|xfs", mountpoint="/"} - node_filesystem_free_bytes{ job="node_exporter",fstype=~"ext.?|xfs", mountpoint="/"}) / node_filesystem_size_bytes{ job="node_exporter",fstype=~"ext.?|xfs", mountpoint="/"}
 
2)"/"磁盘大小
node_filesystem_size_bytes{job="node_exporter",fstype=~"ext.?|xfs", mountpoint="/"}
 
3)"/"磁盘剩余空间
node_filesystem_free_bytes{fstype="ext4", job="node_exporter",mountpoint="/"}
 
4)磁盘每秒读取(1h内)
sum by (instance) (rate(node_disk_reads_completed_total{job="node_exporter"}[1h]))
 
5)磁盘每秒写入(1h内)
sum by (instance)(rate(node_disk_writes_completed_total{job="node_exporter"}[1h]))
 
6)磁盘每秒读写总数(1h内)
sum by (instance) (rate(node_disk_reads_completed_total{job="node_exporter"}[1h]))+sum by (instance)(rate(node_disk_writes_completed_total{job="node_exporter"}[1h]))
 
指标注释:
node_disk_writes_completed_total   #成功写操作的总次数
node_disk_reads_completed_total    #成功读操作的总次数
node_filesystem_size_bytes         #文件系统大小
node_filesystem_free_bytes         #文件系统空闲空间

摘自:https://blog.csdn.net/lovely_nn/article/details/122131923

4. 网络速率

1)上传速率:
rate(node_network_transmit_bytes_total{job="node_exporter"}[5m])
2)下载速率:
rate(node_network_receive_bytes_total{job="node_exporter"}[5m])
3)TCP连接数:
sum(time() - node_boot_time_seconds{job="node_exporter"})by(instance)

摘自:https://blog.csdn.net/lovely_nn/article/details/122131923

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/65317.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringCloud Nacos入门教程

服务发现和服务健康监测 动态配置服务 动态DNS服务 服务及其元数据管理 二、Nacos快速开始 结构图: Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用: 64 …

木聚糖-聚乙二醇-聚丙烯酸|PAA-PEG-Xylan|聚丙烯酸-PEG-木聚糖

木聚糖-聚乙二醇-聚丙烯酸|PAA-PEG-Xylan|聚丙烯酸-PEG-木聚糖 英文名称:Xylan-PAA 别称:聚丙烯酸修饰木聚糖,聚丙烯酸-木聚糖 PEG接枝修饰木聚糖 木聚糖-聚乙二醇-聚丙烯酸 PAA-PEG-Xylan 聚丙烯酸-PEG-木聚糖 纯度:95% …

1. 英文SCI论文引言写作四步走模型学习笔记

课程链接 目录 课程链接 一、利用逆向工程建立引言模型 1. 说明研究重要性 2. 提供事实依据,为啥这么重要 3. 目前研究关注的研究点 4. 现有研究如何解决该问题 4.1 研究断层 4.2 现有研究如何解决 连接词举例 5. 我们的研究怎么做、研究动机与方法 研究…

[AI] 优先级LRTA*搜索算法 Prioritized-LRTA*

Prioritized-LRTA*一、算法原理二、举个栗子!参考一、算法原理 原文点这儿! 优先级扫描(Prioritized Sweeping)是一种用于强化学习问题的算法,它根据优先级排序的状态更新执行异步动态规划(Moore & A…

30_待机唤醒实验

目录 待机唤醒 STM32的3种低功耗模式: 相关寄存器讲解 相关库函数介绍 待机唤醒配置步骤: 实验源码: 待机唤醒 很多单片机有低功耗模式,STM32也不例外。在系统或者电源复位后,微控制器出于运行状态之下, HCLK为CPU提供时钟,内核执行代码。当CPU不需要继续运行时,可以利用…

Google,微软等世界级大厂的面试套路,原来如此

最近在读吴军老师的《硅谷来信谷歌方法论》,其实,吴军老师谈到了很多谷歌,微软,高盛等世界级公司面试的问题,我从中启发很多,也理解了开放性问题对于一个人的重要性。开放性问题并不具有标准答案&#xff0…

(附源码)ssm医疗管理系统 毕业设计 260952

SSM医疗管理系统 摘 要 随着社会的发展与科技的进步,医疗的管理越来越复杂,过去的信息记录已经无法满足医院的需要。近些年随着电脑普及和数字信息技术发展,可以讲信息技术运用于医院的信息管理。促进医院各部门之间协调工作,提高…

[附源码]计算机毕业设计JAVA疫情状态下病房管理平台

[附源码]计算机毕业设计JAVA疫情状态下病房管理平台 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM …

React跨域请求,http-proxy-middleware代理服务,Axios实现前端请求

React Axios跨域请求 React跨域React Axios跨域请求一、跨域概念二、前后端中跨域现象三、跨域解决方案(2种)0、产生原因1、前端解决(React框架)解决原理:配置过程2、后端解决(Spring-boot配置&#xff0…

可观测性神器之 Micrometer

简介 对于大部分开发人员来说可能用过普罗米修斯 Grafana 这样的监控系统,从未听说过 Micrometer 工具,这里就详细的来介绍下可观测性神器 Micrometer,让你在开发时使用它就和使用 SLFJ 日志系统一样简单易用,有效的提升系统的健…

使用DevExpress WPF主题设计器轻松创建Office 2019绿色主题(一)

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 DevExpress WPF的The…

使用JavaRestClient查询文档排序、分页、高亮

可以参考着“利用JavaRestClient实现文档的CRUD(从mysql数据库转移到es)”来看 http://t.csdn.cn/SP5nx 1、解析响应的方法 private void handleResponse(SearchResponse response) {// 4.解析响应SearchHits searchHits response.getHits();// 4.1.获取…

NPM相关

npm包管理工具,安装完node.js,就有npm相关 winR node -v 查看node版本 npm -v 查看npm版本 node.js与npm的关系,只能说node.js里内嵌了npm 功能相关 npm的一些命令 npm conf ls 和 npm config list 都是查看npm配置信息 没有区别 注意:如果你是在当前目录下,比如我这…

头部咨询管理企业的数字化转型之路

咨询管理行业前景与现状! 5000字讲解3家头部咨询企业案例,希望能给大家在数字化方面带来一些启发。(找客服,可获取咨询行业解决方案详细版) 1、数字化转型同样是咨询行业的大命题 新冠疫情发生以来,各行…

Linux重定向原理与系统调用dup2

🧸🧸🧸各位大佬大家好,我是猪皮兄弟🧸🧸🧸 文章目录一、重定向原理①输出重定向②输入重定向二、重定向的系统调用dup2dup2输出重定向三、如何理解一切皆文件四.缓冲区①常见的缓冲区刷新策略②…

【数据结构与算法】B树与B+树

🔥 本文由 程序喵正在路上 原创,CSDN首发! 💖 系列专栏:数据结构与算法 🌠 首发时间:2022年12月6日 🦋 欢迎关注🖱点赞👍收藏🌟留言🐾…

电脑e盘不见了怎么恢复?6个步骤找回e盘

电脑e盘不见虽然不是一件常见的事,但是也会有发生的情况。虽然我们还有其他磁盘,平时也会经常忽略e盘。但是e盘也是一个存储磁盘,当电脑e盘不见了,我们也会想要找回来。那么电脑里的e盘丢失了怎么找回呢?下面我们就一起…

QListWidget::itemEntered无效

利用QListWidget进行数据列表的展示; (1)初始化一个QListWidget: QListWidget* newListWidget new QListWidget(parent); newListWidget->setResizeMode(QListView::Adjust); newListWidget->setViewMode(QListView::Icon…

论文浅尝 | AdaLoGN: 基于推理的机器阅读理解的自适应逻辑图网络

笔记整理:何仕玉珑,天津大学硕士链接:https://arxiv.org/pdf/2203.08992.pdf动机最近的机器阅读理解数据集(如ReClor和LogiQA)需要对文本执行逻辑推理。传统的神经模型不足以进行逻辑推理,而符号推理机不能直接应用于文本推理。为…

【Cross-Direction and Progressive Network:交叉的挖掘信息】

A Cross-Direction and Progressive Network for Pan-Sharpening (一种交叉递进的泛锐化网络) 本文提出了一种交叉方向渐进(cross-direction and progressive)网络CPNet来解决全色锐化问题。对信息的充分处理是我们模型的主要特…