Prometheus通过node_exporter监控Node节点,Node节点的详细指标解读

在这里插入图片描述

✨✨ 欢迎大家来到景天科技苑✨✨

🎈🎈 养成好习惯,先赞后看哦~🎈🎈

🏆 作者简介:景天科技苑
🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。
🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi,flask等框架,云原生k8s,Prometheus监控,linux,shell脚本等实操经验,网站搭建,数据库等分享。

所属的专栏:Prometheus监控系统零基础到进阶
景天的主页:景天科技苑

在这里插入图片描述

文章目录

  • Prometheus如何监控Node节点
    • 安装node_exporter
    • 配置node_exporter
    • 启动node_exporter
    • 配置Prometheus
    • 导⼊Grafana模板
  • node_exporter常用指标详细解读
    • CPU与内存相关指标
      • 1、CPU负载相关核心指标
      • 2、CPU使用相关核心指标
      • 3、内存相关核心指标
      • 4、SWAP相关核心指标
    • 磁盘与网络相关指标
      • 1、磁盘空间相关核心指标
      • 2、磁盘Inode相关核心指标
      • 3、磁盘IO吞吐量相关核心指标
      • 4、磁盘IOPS相关核心指标
      • 5、网络核心指标
      • 6、连接追踪核心指标
    • TCP与其他相关指标
      • 1、TCP相关核心指标
      • 2、文件描述符
      • 3、系统其他指标

Prometheus如何监控Node节点

监控节点(如服务器或者虚拟机)通常涉及收集硬件和操作系统层⾯的指标,比如 CPU 使⽤率、内存占⽤、磁盘 I/O、⽹络流量等。
但是这些指标并不能直接被Prometheus 抓取,因此我们需要借助Node exporter将对应的指标转为Prometheus能够兼容的指标格式,并对外提供HTTP接⼝暴露给Prometheus进⾏指标抓取。

监控地址规划:
在这里插入图片描述

安装node_exporter

1、访问Prometheus官⽹ https://prometheus.io/download/ 获取Node-exporter的下载地址
https://github.com/prometheus/node_exporter/releases/
在这里插入图片描述

当然,如果是windows机器,也可以获取其他比如Windows上的版本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在服务器wget下载

wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz

在这里插入图片描述
在这里插入图片描述

推送给其他节点

for i in {21..22};do scp node_exporter-1.8.2.linux-amd64.tar.gz 10.10.0.$i:/root/;done

在这里插入图片描述

2、解压node-exporter

tar xf node_exporter-1.8.2.linux-amd64.tar.gz -C /etc/

创建软连接

ln -s /etc/node_exporter-1.8.2.linux-amd64/ /etc/node_exporter

在这里插入图片描述

配置node_exporter

启动 Node Exporter 即可开始进⾏指标采集,它默认启⽤了⼀些常⻅的收集器以监控 CPU、内存、⽹络等关键指标。
然而,由于每个操作系统对收集器的⽀持程度不同,Node Exporter 也提供了⼀些"默认未启用的收集器"。我们可以根据监控需求,通过特定的参数来启用这些收集器。
我们可通过 ./node_exporter --help 可以查看哪有是默认启动了,哪些默认没启动
在这里插入图片描述

要禁⽤默认激活的收集器,可以使⽤参数 --no-collector.<name>
要启⽤默认未激活的收集器,可以使⽤参数 --collector.<name>
如果只想启动某些特定的收集器,可以使⽤ --collector.disable-defaults 标志禁用所有默认的,然后在指定具体要启⽤收集器 --collector.<name> 来进⾏收集。
默认关闭一些收集器的原因在于,有些指标采集需要占用过多资源开销、太重、太慢;所以谨慎开启;如果你想启用,就要小心测试了,看看采集耗时、对机器的资源占用的影响等。
其实,默认开启的收集器,就足够我们使用了
我们直接启动看看
在这里插入图片描述
在这里插入图片描述

1、例如,禁⽌默认启动的arp的采集
#直接启动会发现有arp采集
[root@prom-node01 ~]# /etc/node_exporter/node_exporter

ts=2023-12-10T02:42:06.808Z caller=node_exporter.go:117 level=info collector=arp

#禁⽤arp收集器,就看不到了
[root@prom-node01 ~]# /etc/node_exporter/node_exporter --no-collector.arp

2、启⽤默认未激活的 tcpstat 收集器
#直接启动默认不会收集tcpstat
[root@prom-node01 ~]# /etc/node_exporter/node_exporter
#启⽤tcpstat
[root@prom-node01 ~]# /etc/node_exporter/node_exporter --collector.tcpstat

ts=2023-12-10T02:46:13.612Z caller=node_exporter.go:117 level=info collector=tcpstat

3、也可以禁⽤所有收集器,仅启用那些只想启用的收集器

[root@jingtian01 node_exporter ]#./node_exporter --collector.disable-defaults --collector.cpu --collector.diskstats --collector.netstat

在这里插入图片描述

启动node_exporter

1、配置system管理Prometheus启动和停止

[root@jingtian01 node_exporter ]#vim /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
Documentation=https://prometheus.io/
After=network.target
[Service]
ExecStart=/etc/node_exporter/node_exporter \--web.listen-address=:9100 \--web.max-requests=40 \--collector.mountstats \--collector.systemd \--collector.ethtool \--collector.tcpstat
ExecReload=/bin/kill -HUP $MAINPID
TimeoutStopSec=20s
Restart=always
[Install]
WantedBy=multi-user.target

在这里插入图片描述

2、启动node-exporter

systemctl daemon-reload
systemctl start node_exporter.service

查看启动状态

systemctl status node_exporter.service

在这里插入图片描述

3、检查监听的端⼝

netstat -lanptu|grep 9100

在这里插入图片描述

4、访问对应的metrics,验证是否能采集到数据

curl -s http://localhost:9100/metrics

有数据,也可以在浏览器上查看
在这里插入图片描述

在这里插入图片描述

另外两台也都开启node_exporter服务

配置Prometheus

1、修改Prometheus配置,添加新的Job分组,然后将对应的节点纳⼊监控中;

[root@jingtian01 node_exporter ]#vim /etc/prometheus/prometheus.yml- job_name: "node_exporter"metrics_path: "metrics"scheme: "http"static_configs:- targets: ["jingtian01:9100","jingtian02:9100","jingtian03:9100"]

2、重新加载Prometheus

[root@jingtian01 node_exporter ]#curl -vv -X POST http://localhost:9090/-/reload
* About to connect() to localhost port 9090 (#0)
*   Trying ::1...
* Connected to localhost (::1) port 9090 (#0)
> POST /-/reload HTTP/1.1
> User-Agent: curl/7.29.0
> Host: localhost:9090
> Accept: */*
> 
< HTTP/1.1 200 OK
< Date: Wed, 04 Sep 2024 05:41:21 GMT
< Content-Length: 0
< 
* Connection #0 to host localhost left intact

3、检查Prometheus是否已将对应节点纳⼊监控(点击Status–>Targets)
http://10.10.0.20:9090/
在这里插入图片描述

在普罗米修斯查看指标
在这里插入图片描述

导⼊Grafana模板

在Grafana的官⽅插件库中,有很多Node-exporter模板。
其中相对受欢的模板的ID是: 11074、1860 。
11074 :模板包括了CPU、内存、磁盘、网络、温度传感器等指标(常用)。
1860 :模板包括CPU、内存、磁盘、网络等。这运⾏状况,及时发现潜在
问题并进行调优。
我们直接可以进官网搜
https://grafana.com/grafana/dashboards/
在这里插入图片描述

这个就是node_epxorter
在这里插入图片描述

点进去可以看到ID
在这里插入图片描述

或者直接在这搜
在这里插入图片描述

怎么导入呢?
点击仪表盘
在这里插入图片描述

点击 新建–导入
在这里插入图片描述

这里输入ID
在这里插入图片描述

点击加载,除了输入ID,也可以将json文件复制过来点击加载
在这里插入图片描述

选择数据源,我们选prometheus
在这里插入图片描述

点击import
在这里插入图片描述

然后就可以到dashboard
在这里插入图片描述
在这里插入图片描述

node_exporter常用指标详细解读

CPU与内存相关指标

1、CPU负载相关核心指标

gauge类型,数据会随着系统变化而产生变化
在这里插入图片描述

2、CPU使用相关核心指标

Counter类型,数据会随着时间一直累加
在这里插入图片描述
在这里插入图片描述

可以过滤,用大括号包裹着标签
在这里插入图片描述

3、内存相关核心指标

在这里插入图片描述
在这里插入图片描述

node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100

在这里插入图片描述

4、SWAP相关核心指标

在这里插入图片描述

磁盘与网络相关指标

1、磁盘空间相关核心指标

在这里插入图片描述
在这里插入图片描述

查看磁盘可用空间

node_filesystem_avail_bytes / node_filesystem_size_bytes * 100

在这里插入图片描述

2、磁盘Inode相关核心指标

在这里插入图片描述

3、磁盘IO吞吐量相关核心指标

在这里插入图片描述

4、磁盘IOPS相关核心指标

在这里插入图片描述
在这里插入图片描述

5、网络核心指标

在这里插入图片描述

6、连接追踪核心指标

在这里插入图片描述

TCP与其他相关指标

1、TCP相关核心指标

在这里插入图片描述
在这里插入图片描述

2、文件描述符

在这里插入图片描述
在这里插入图片描述

node_filefd_maximum
在这里插入图片描述

node_filefd_allocated
在这里插入图片描述

3、系统其他指标

在这里插入图片描述

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

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

相关文章

吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)1.9-1.10

目录 第四门课 卷积神经网络&#xff08;Convolutional Neural Networks&#xff09;第一周 卷积神经网络&#xff08;Foundations of Convolutional Neural Networks&#xff09;1.9 池化层&#xff08;Pooling layers&#xff09;1.10 卷 积 神 经 网 络 示 例 &#xff08; …

Linux_kernel汇编驱动06

一、ARM汇编语言&#xff08;GUN-gcc编译器下&#xff09; 1、语句格式 {symbol} {instruction|directive|pseudo-instruction} { comment} symbol&#xff1a;为符号。 在ARM汇编语言中&#xff0c;符号必须从一行的行头开始&#xff0c;并且符号中不能包含空格。 在指令和伪指…

基于C++实现(MFC界面)家谱管理系统

一、题目&#xff1a;家谱管理系统 二、内容&#xff1a; 2.1 概述 2.1.1 选题原因 做此题的原因是因为可以比较方便的记录家族历代成员的情况与关系&#xff0c;能很好的保存家族每一代的信息&#xff0c;而不用人工纸质的方式来存取家谱&#xff0c;更便于人们保存和使用…

爬虫练习(js逆向解密)

目标 网站地址交易列表 - 福建省公共资源交易电子公共服务平台 (fj.gov.cn) 抓取内容如下&#xff1a; 分析 查找js代码 点击下一页翻页的时候&#xff0c;查看请求返回的数据&#xff0c;发现data数据是经过加密后得到的 通过全局搜索data,发现有两千多个结果&#xff0c;一个…

AI超强语音转文本SenseVoice,本地化部署教程!

文章目录 模型介绍SenseVoice在线预览链接本地化部署VsCode 远程连接 模型介绍 SenseVoice专注于高精度多语言语音识别、情感辨识和音频事件检测 多语言识别&#xff1a; 采用超过40万小时数据训练&#xff0c;支持超过50种语言&#xff0c;识别效果上优于Whisper模型。富文本…

跨境电商代购系统中前台基本功能介绍:帮助更快的了解跨境代购业务

前台多语言&#xff1a;可支持语言有中文&#xff08;繁体&#xff09;中文&#xff08;简体&#xff09;英文等。多语言使用百度翻译引擎接口实现&#xff0c;翻译效果与百度一致&#xff1b;网站语言分为两大块&#xff1a;1.系统后台有语言包可以编辑修改网站标题以及发布文…

WPS中JS宏使用说明(持续优化...)

前言 好久没发文章了&#xff0c;今天闲来无事发篇文章找找之前的码字感觉。 正文 最近在写教案&#xff0c;发现之前的技术又可以派上用场了。就是JS&#xff0c;全称JavaScript&#xff0c;这个语言太强大了&#xff0c;我发现WPS里的宏现在默认就是JS。功能选项如下图&…

MySQL数据库安装(详细)—>Mariadb的安装(day21)

该网盘链接有效期为7天&#xff0c;有需要评论区扣我&#xff1a; 通过网盘分享的文件&#xff1a;mariadb-10.3.7-winx64.msi 链接: https://pan.baidu.com/s/1-r_w3NuP8amhIEedmTkWsQ?pwd2ua7 提取码: 2ua7 1 双击打开安装软件 本次安装的是mariaDB&#xff0c;双击打开mar…

Java运行环境的下载、安装、配置与运行

一、实验目的及要求 目的&#xff1a;掌握如何下载java JDK软件包&#xff0c;如何设置Java程序的运行环境&#xff0c;如何编写与运行Java程序&#xff0c;了解Java概貌。 要求&#xff1a; 1、安装Java JDK软件包&#xff1b; 2、练习编写简单的Java Application程序并掌握…

vscode安装使用plantuml插件

使用 VSCode 插件 如果你在 Visual Studio Code 中使用 PlantUML 插件&#xff0c;你可以按照以下步骤生成图片&#xff1a; 安装 PlantUML 插件&#xff1a; 在 VSCode 的扩展市场中搜索并安装 PlantUML 插件。 配置插件&#xff1a; 打开设置&#xff0c;确保插件配置正确。…

Node.js发票查验接口示例、识别查验接口参数返回

财务、审计等经常与发票打交道的人员常常会遇到虚假发票、错票、重复报销等一系列问题。对于会计审计、代理记账、电子商务等发票查验量多的企业来说&#xff0c;成千上万张发票如果仅依赖于人工来进行核验&#xff0c;速度慢效率低&#xff0c;准确率也没保障&#xff0c;因此…

MySQL record

更改密码&#xff1a; alter user rootlocalhost identified with mysql_native_password by ‘123456’; 注意&#xff1a; 在命令行方式下&#xff0c;每条MySQL的命令都是以分号结尾的&#xff0c;如果不加分号&#xff0c;MySQL会继续等待用户输入命令&#xff0c;直到MyS…

kube-prometheus部署

一、自定义配置(二选一&#xff0c;不建议用这个) grafana-service.yml apiVersion: v1 kind: Service metadata:name: grafananamespace: kube-monitoringlabels:app: grafanacomponent: core spec:type: NodePortports:- port: 3000nodePort: 30011selector:app: grafanaco…

uniapp 懒加载、预加载、缓存机制深度解析

uniapp 懒加载、预加载、缓存机制深度解析 文章目录 uniapp 懒加载、预加载、缓存机制深度解析一、为什么要使用uniapp的懒加载、预加载和缓存机制二、如何使用uniapp的懒加载、预加载和缓存机制1. 懒加载2. 预加载3. 缓存机制 四、扩展与高级技巧1. 结合懒加载和预加载优化页面…

链表.......

从右到左 更新尾部 typedef typedef struct ListNode { int value; struct ListNode *next;(这里不能用listnode*应为还没有定义) } ListNode; #include <stdio.h> #include <stdlib.h> // 定义链表节点结构体 struct ListNode { int value; s…

开发台球助教小程序前景分析

开发台球助教小程序的前景分析可从以下维度展开探讨&#xff1a; 市场需求的增长 台球作为一项受欢迎的休闲运动&#xff0c;其爱好者群体正在扩大。随着大众对这项运动兴趣的增加&#xff0c;寻求系统化培训的需求也愈发明显。台球助教小程序正好填补了这一市场空白&#xf…

【Hadoop|HDFS篇】HDFS的Shell操作

1. 基本语法 hadoop fs 具体命令或者hadoop dfs 具体命令。 两个是完全相同的。 2. 命令大全 hadoop fs&#xff1a; Usage: hadoop fs [generic options][-appendToFile <localsrc> ... <dst>][-cat [-ignoreCrc] <src> ...][-checksum <src> ..…

DrissionPage设置启动浏览器为edge

1.查看浏览器启动路径 在浏览器地址栏输入下面地址&#xff0c;拿到可执行文件的路径 。 edge://version/ 2.替换路径 打开DrissionPage._configs. chromium_options.py文件&#xff0c;找到def browser_path(self)这个函数&#xff0c;将返回内容替换为edge的启动路径&#x…

【网络安全】服务基础第一阶段——第十节:Windows系统管理基础---- 组策略高级应用

目录 一、组策略的基本概念 1.1 组策略的基本概念 1.1.1 组策略对象 1.2 配置 1.2.1 计算机配置&#xff08;Computer Configuration&#xff09; 1.2.2 用户配置&#xff08;User Configuration&#xff09; 1.3 作用范围 1.4 继承和优先级 1.4.1 继承&#xff08;In…

Qt:玩转QPainter序列九(文本,文本框,填充)

前言 继续承接序列八 正文 1. drawImage系列函数 绘制图像 inline void drawImage(const QPoint &p, const QImage &image); 作用: 在指定的点 p 上绘制 QImage 图像。图像的左上角将对齐到 p 点。 inline void drawImage(int x, int y, const QImage &image,…