下载部署
git地址: https://github.com/prometheus/node_exporter/releases
#下载后解压
tar -zxvf node_exporter-1.5.0.linux-amd64.tar.gz -C /usr/local
#使用systemctl管理
# --web.config.file参数指定了认证,可选参数
#--web.listen-address参数指定了端口,可选参数
cat > /etc/systemd/system/node_exporter.service << EOF
[Unit]
Description=node_exporter
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/node_exporter-1.5.0.linux-amd64/node_exporter --web.config.file=/usr/local/node_exporter-1.5.0.linux-amd64/config.yaml --web.listen-address=:9091
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
#启动
systemctl daemon-reload
systemctl start node_exporter.service
为*node_exporter*配置密码(*–web.config.file可选参数)***
注意,高版本才有这个参数,具体参考githup或者./node_exporter-xxx.linux-amd64 –help
#我们直接可以使用 htpasswd 来生成 bcrypt 密码 hash
htpasswd -nBC 12 '' | tr -d ':\\n'
New password:
Re-type new password:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#把生成的密码放入config.yaml里:
#这段对应 admin: Simple@2022!
cat > /usr/local/node_exporter-1.5.0.linux-amd64/config.yaml << EOF
basic_auth_users:
admin: $2y$12$SGWqAtiYnvyHHkZzewhqYePTg8BS8eJfREtXDQz23PwKF8wUPvjEG
EOF
在prometheus需添加认证(当你加入了认证才需要配置)
...
- job_name: 'linux_node'
basic_auth:
username: admin #刚才node_exporter生成的用户密码
password: Simple@2022!
static_configs:
- targets: ['10.252.202.2:9091','10.252.202.3:9091','10.252.202.4:9091','10.252.202.5:9091']
labels:
group: '我的监控机器'
访问验证:
当访问时弹出这个表示认证添加成功
认证参考: