目录
介绍
Prometheus是一款开源的监控和警报工具,而Node Exporter是Prometheus的一个官方插件,用于采集主机上的各种系统和硬件指标。
安装Node Exporter
下载最新版本的Node Exporter二进制文件,可以在 Prometheus GitHub Releases 找到。
wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz
解压缩并将二进制文件移到你希望运行的位置。
tar -xzvf node_exporter-1.7.0.linux-amd64.tar.gz
启动Node Exporter:
./node_exporter
或者将其作为服务运行,具体方式取决于你的操作系统。
配置Prometheus
在Prometheus的配置文件(通常为prometheus.yml)中添加Node Exporter的目标配置。
scrape_configs:
------
- job_name: 'node-exporter'
static_configs:
- targets: ['localhost:9100'] # Node Exporter的默认端口为9100
重新启动Prometheus以加载新的配置。
验证配置
访问Prometheus的Web界面(默认端口为9090):http://localhost:9090。
在"Targets"页面,你应该看到一个名为"node-exporter"的目标,并且其状态应为"UP"。
查询和可视化
切换到Graph面板,使用Prometheus的查询语言(PromQL)来检索和分析采集到的数据。
以下仅是一些示例查询,实际使用中,可以根据需求和系统的不同进行调整。
查看 CPU 使用率
100 - avg(rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100
该查询计算过去5分钟内的平均 CPU 使用率。
查看内存使用率
(node_memory_MemTotal_bytes - node_memory_MemFree_bytes - node_memory_Buffers_bytes - node_memory_Cached_bytes) / node_memory_MemTotal_bytes * 100
该查询计算系统内存的使用率,考虑了已使用的内存和缓存。
查看磁盘使用率
100 - (node_filesystem_free_bytes{mountpoint="/"} / node_filesystem_size_bytes{mountpoint="/"}) * 100
该查询计算指定挂载点(例如根目录“/”)的磁盘使用率。
查看网络流量
sum(rate(node_network_receive_bytes_total{device=~"eth.*"}[5m])) by (device)
该查询计算过去5分钟内每个以 "eth" 开头的网络设备的接收速率。
查看系统负载
node_load1
该查询返回系统的1分钟负载。
查看进程数
count(processes)
该查询返回当前系统上运行的进程数量。