在目标服务器安装数据收集器 node-exporter
1. 安装数据收集器 node-exporter
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
tar xvf node_exporter-1.6.1.linux-amd64.tar.gz
mv node_exporter-1.6.1.linux-amd64 node_exporter
mv node_exporter /usr/local/
2. 验证
运行如下命令测试 node-exporter 收集器启动情况,正常情况下会输出服务端口。
/usr/local/node_exporter/node_exporter
......
ts=2023-10-24T10:59:12.674Z caller=tls_config.go:274 level=info msg="Listening on" address=[::]:9100
ts=2023-10-24T10:59:12.674Z caller=tls_config.go:277 level=info msg="TLS is disabled." http2=false address=[::]:910
3. 将node_exporter加入系统启动项中
-
service版本
创建启动脚本
vi /usr/local/node_exporter/start_node_exporter.sh
内容如下
#!/bin/bash /usr/local/node_exporter/node_exporter #可用 --web.listen-address=:9900 配置端口
确保脚本文件有执行权限:
chmod +x /usr/local/node_exporter/start_node_exporter.sh
创建启动脚本的Service文件
在/etc/init.d/目录下,创建一个以服务名为基础的文件,比如/etc/init.d/node_exporter。编辑这个文件,并添加以下内容:
#!/bin/bash # chkconfig: 345 99 10 # description: My Custom Service case "$1" in start) /usr/local/node_exporter/start_node_exporter.sh 2>&1 >> /opt/logs/node-exportererror.log & ;; stop) # 停止服务的命令,如果需要的话 ;; restart) $0 stop sleep 1 $0 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac exit 0
同时,设置脚本文件的执行权限:
chmod +x /etc/init.d/node_exporter
启用启动项
chkconfig --add node_exporter chkconfig node_exporter on service node_exporter start service node_exporter stop service node_exporter restart
-
systemctl版本
添加到系统服务
vi /etc/systemd/system/node_exporter.service
内容如下
[Unit] Description=mysqld_exporter After=network.target [Service] ExecStart=/usr/local/node_exporter/node_exporter Restart=on-failure [Install] WantedBy=multi-user.target
加载并重启服务
# 加载配置 systemctl daemon-reload # 启动服务 systemctl restart node_exporter.service # 查看服务状态 systemctl status node_exporter.service # 配置开机启动 systemctl enable node_exporter.service
4. 查看数据收集情况
curl http://127.0.0.1:9100/metrics
出现如下信息