使用Node Exporter采集主机数据

news/2024/5/19 0:57:15 标签: node exporter, prometheus, 数据采集

安装 Node Exporter

在 Prometheus 的架构设计中,Prometheus Server 并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西,如主机的 CPU 使用率,我们需要使用到 Exporter。Prometheus 周期性的从 Exporter 暴露的 HTTP 服务地址(通常是/metrics)拉取监控样本数据。
这里为了能够采集到主机的运行指标如 CPU、 内存、磁盘等信息,我们可以使用 Node Exporter。
Node Exporter 同样采用 Golang 编写,并且不存在任何的第三方依赖,只需要下载,解压即可运行。可以从官网获取最新的 node exporter 版本的二进制包。

下载地址:https://prometheus.io/download/

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

也可以使用 docker 安装

docker run -d -p 9100:9100 prom/node-exporter

访问http://localhost:9100/可以看到页面。

初始 Node Exporter 监控指标:
访问http://localhost:9100/metrics,可以看到当前 node exporter 获取到的当前主机的所有监控数据。
每一个监控指标之前都会有一段类似于如下形式的信息:

# HELP node_cpu Seconds the cpus spent in each mode.
# TYPE node_cpu counter
node_cpu{cpu="cpu0",mode="idle"} 362812.7890625
# HELP node_load1 1m load average.
# TYPE node_load1 gauge
node_load1 3.0703125

其中 HELP 用于解释当前指标的含义,TYPE 则说明当前指标的数据类型。在上面的例子中 node_cpu 的注释表明当前指标是 cpu0 上 idle 进程占用 CPU 的总时间,CPU 占用时间是一个只增不减的度量指标,从类型中也可以看出 node_cpu 的数据类型是计数器(counter),与该指标的实际含义一致。又例如 node_load1 该指标反映了当前主机在最近一分钟以内的负载情况,系统的负载情况会随系统资源的使用而变化,因此 node_load1 反映的是当前状态,数据可能增加也可能减少,从注释中可以看出当前指标类型为仪表盘(gauge),与指标反映的实际含义一致。

除了这些以外,在当前页面中根据物理主机系统的不同,你还可能看到如下监控指标:

  • node_boot_time:系统启动时间
  • node_cpu:系统 CPU 使用量
  • nodedisk*:磁盘 IO
  • nodefilesystem*:文件系统用量
  • node_load1:系统负载
  • nodememeory*:内存使用量
  • nodenetwork*:网络带宽
  • node_time:当前系统时间
  • go_*:node exporter 中 go 相关指标
  • process_*:node exporter 自身进程相关运行指标

从 Node Exporter 收集监控数据

为了能够让 Prometheus Server 能够从当前 node exporter 获取到监控数据,这里需要修改 Prometheus 配置文件。编辑 prometheus.yml 并在 scrape_configs 节点下添加以下内容:

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
  # 采集node exporter监控数据
  - job_name: 'node'
    static_configs:
      - targets: ['localhost:9100']

重新启动 Prometheus Server。
访问http://localhost:9090,进入到 Prometheus Server。如果输入“up”并且点击执行按钮以后,可以看到如下结果:
图片2.png
如果 Prometheus 能够正常从 node exporter 获取数据,则会看到以下结果:

up{instance="localhost:9090",job="prometheus"} 1 
up{instance="localhost:9100",job="node"} 1

其中“1”表示正常,反之“0”则为异常。


http://www.niftyadmin.cn/n/5296298.html

相关文章

《深入理解C++11:C++11新特性解析与应用》笔记六

第六章 提高性能及操作硬件的能力 6.1 常量表达式 6.1.1 运行时常量性与编译时常量性 大多数情况下,const描述的是运行时常量性,也即是运行时数据的不可更改性。但有时候我们需要的却是编译时的常量性,这是const关键字无法保证的。例如&am…

3D视觉-结构光测量-网格结构光测量

网格结构光测量 网格结构光测量也常常被称为面结构光测量,它首先需要用投影器件产生符合条件的网格状投射光,并投射到待测物表面,由于网格上的光条具有两个方向,因此该方法可以通过两个测量方向分析待测物表面的三维坐标信息&…

学习动态规划解决不同路径、最小路径和、打家劫舍、打家劫舍iii

学习动态规划|不同路径、最小路径和、打家劫舍、打家劫舍iii 62 不同路径 动态规划,dp[i][j]表示从左上角到(i,j)的路径数量dp[i][j] dp[i-1][j] dp[i][j-1] import java.util.Arrays;/*** 路径数量* 动态规划,dp[i][j]表示从左上角到(i,j)的路径数量…

【INTEL(ALTERA)】为什么低延迟以太网 10G MAC 英特尔® Stratix® 10 FPGA IP 设计示例生成完成并出错?

说明 由于英特尔 Quartus Prime 专业版软件 21.3 版本存在问题,无法成功生成低延迟以太网 10G MAC 英特尔 Stratix 10 FPGA IP 设计示例。 解决方法 此问题计划在 英特尔 Quartus Prime 专业版软件的未来版本中修复。 对于英特尔 Quartus Prime Pro Edition 软件…

【maven】正式版本和快照版本详解

在 Maven 中,"正式版本"和"快照版本"是两种不同的版本类型,它们的主要区别在于版本号和发布周期。 一、定义 正式版本(Release): 正式版本是项目的一个稳定、有序的发布版本,用于生…

Stable Diffusion 系列教程 - 5 ControlNet

ControlNet和LORA的定位都是对大模型做微调的额外网络。作为入门SD的最后一块拼图是必须要去了解和开发的。为什么ControlNet的影响力如此的大?在它之前,基于扩散模型的AIGC是非常难以控制的,扩散整张图像的过程充满了随机性。这种随机性并不…

GIT提交、回滚等基本操作记录

1、add文件时warning: LF will be replaced by CRLF in .idea/workspace.xml. 原因:windows中的换行符为 CRLF, 而在Linux下的换行符为LF,所以在执行add . 时会出现以下提示 解决:git config core.autocrlf false 2、GIT命令&…

AIGC重塑基础设施,高密数据中心为何众望所归?

凯文凯利在《必然》中认为,科技在本质上有所偏好,使得它朝往某种特定方向。 毫无疑问,进入到数字经济时代,人工智能技术飞速发展与加速应用之际,这个特定方向逐渐明朗:即算力科技,算力已经成为…