跳转至

使用Node Exporter采集主机运行数据

安装Node Exporter

在Prometheus的架构设计中,Prometheus Server并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西,如主机的CPU使用率,我们需要使用到Exporter。Prometheus周期性的从Exporter暴露的HTTP服务地址(通常是/metrics)拉取监控样本数据。

从上面的描述中可以看出Exporter可以是一个相对开放的概念,其可以是一个独立运行的程序独立于监控目标以外,也可以是直接内置在监控目标中。只要能够向Prometheus提供标准格式的监控样本数据即可。

这里为了能够采集到主机的运行指标如CPU, 内存,磁盘等信息。我们可以使用Node Exporter。

Node Exporter同样采用Golang编写,并且不存在任何的第三方依赖,只需要下载,解压即可运行。可以从 https://prometheus.io/download/ 获取最新的node exporter版本的二进制包。

curl -OL https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz
tar -xf node_exporter-1.8.2.linux-amd64.tar.gz
cd node_exporter-1.8.2.linux-amd64/
mv node_exporter /usr/local/bin/
生成服务器管理脚本
cat <<EOF >/usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_exporter for linux server
Documentation=https://prometheus.io/
After=network-online.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/local/bin/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
启动服务
service node_exporter  start

修改 prometheus 配置,收集 node-exporter 数据

  - job_name: "Linux-Exporter"
    static_configs:
      - targets: ["192.168.1.99:9100","192.168.3.111:9100"]

对接 Grafana 看板

https://grafana.com/grafana/dashboards/ 模板市场

选择需要的模板,node exporter full
image-20240904192906694
image-20240904193006646

添加仪表盘

点击左侧的 dashboards → new → import
image-20240904193145729
输入模板 ID,点击 load
image-20240904193312111
选择 prometheus → import
image-20240904193421038
查看效果
image-20240904193540181