下载部署

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: '我的监控机器'

访问验证:

当访问时弹出这个表示认证添加成功

认证参考:

为 Prometheus Node Exporter 加上认证

为 Prometheus Node Exporter 加上认证_Chai Yingchao的博客-CSDN博客