文章转载于:https://devopscube.com/monitor-linux-servers-prometheus-node-exporter/
Node Exporter是收集所有 Linux 服务器相关指标和统计数据以进行监视的最佳方法。
使用Prometheus Node Exporter监控Linux服务器
在本指南中,您将学习如何在 Linux 服务器上设置Prometheus Node Exporter,以便将所有Node级别指标导出到Prometheus服务器
准备条件
- Prometheus Node Exporter需要Prometheus服务器保持启动和运行。如果您想配置Prometheus服务,请参考 Linux Prometheus 配置指南。
英文文档,也可参照我的简书中文文章 - 在服务器防火墙中打开端口9100,因为Prometheus通过该端口的读取相关监控指标数据。
安装Prometheus Node Exporter
步骤1:下载最新的 node exporter安装包,您应该检查确认Prometheus的版本,并更新此命令以获取该软件包。
cd /tmp
curl -LO https://github.com/prometheus/node_exporter/releases/download/v1.6.0/node_exporter-1.6.0.linux-amd64.tar.gz
可以在https://prometheus.io/download/获得最新版本下载地址或者下载,如图所示:
步骤2:解压tar压缩包
tar -xvf node_exporter-1.6.0.linux-amd64.tar.gz
步骤3:将解压后的文件移到 /usr/local/bin
sudo mv node_exporter-1.6.0.linux-amd64/node_exporter /usr/local/bin/
创建自定义Node Exporter服务
步骤1:创建一个node_exporter用户,来运行Node Exporter服务。
sudo useradd -rs /bin/false node_exporter
步骤2:在 systemd 下创建Node Exporter服务文件。
sudo vim /etc/systemd/system/node_exporter.service
步骤3:在服务文件中添加以下服务文件内容并保存。
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target
步骤4:重新加载系统守护进程并启动Node Exporter服务。
sudo systemctl daemon-reload
sudo systemctl start node_exporter
步骤5:检查Node Exporter状态,确保其处于正常运行状态。
sudo systemctl status node_exporter
步骤6:开启服务器开机自启动Node Exporter服务。
sudo systemctl enable node_exporter
现在,Node Exporter可以通过 9100 端口导出监控指标数据了。
您可以通过访问您的服务器URL/metrics查看所有服务器指标,如所示
http://<server-IP>:9100/metrics
配置Prometheus
现在我们已经在服务器上安装并运行了Node Exporter服务,我们必须在Prometheus服务器配置中将该服务器添加为目标。
注意:该配置应在 Prometheus 服务器上完成。
步骤1:登录Prometheus服务器并打开prometheus.yml文件。
sudo vim /etc/prometheus/prometheus.yml
步骤2:在 scrape config 部分下添加Node Exporter服务,如下所示。将 localhost 改为您设置节点输出器的服务器 IP。为便于识别,任务名称可以是您的服务器主机名或 IP。
- job_name: 'node_exporter_metrics'
scrape_interval: 5s
static_configs:
- targets: ['localhost:9100']
步骤3:重启prometheus服务,使配置更改生效。
sudo systemctl restart prometheus
现在,如果您在prometheus web UI(http://<prometheus-IP>:9090/targets)中检查目标,您将能够看到如下所示的状态。
sudo systemctl status prometheus
用户界面,如下图所示:
此外,您还可以使用 Prometheus 表达式浏览器查询Node Exporter相关指标数据。以下是一些关键node指标数据,您可以用来查找其统计数据。
node_memory_MemFree_bytes
node_cpu_seconds_total
node_filesystem_avail_bytes
rate(node_cpu_seconds_total{mode="system"}[1m])
rate(node_network_receive_bytes_total[1m])
使用prometheus查询标签来查询可用的指标,如下图所示:
接下来只需要安装配置好Grafana就可以将相关指标数据可视化展示了。