Prometheus通过Nginx防盗链加密node_exporter

node_exporter是Prometheus的一个扩展程序,也是通过go语言编写,同样是开箱即食,主要用来采集服务器上的数据(CPU、内存等等)

主机Prometheus可以通过部署在客户端的node_exporter拉取到数据,只需要在Prometheus.yml里面添加一个job就可以了。

当线上服务器的客户端端口的node_exporter暴露在外面,所以加上nginx的auth认证可以增加安全性。

 

 远程服务器配置

cd /usr/local/src
wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
tar xf node_exporter-0.17.0.linux-amd64.tar.gz -C /usr/local/
mv /usr/local/node_exporter-0.17.0.linux-amd64/ /usr/local/node_exporter

启动node_exporter

cd /usr/local/node_exporter
./node_exporter &

配置node_exporter启停

vim /usr/lib/systemd/system/node_exporter.service

复制代码
[Unit]
Description=node_exporter
After=network.target
[Service]
Type=simple
ExecStart=/promethus/node_exporter/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
复制代码

保存完记得systemctl daemon-reload

Nginx配置如下:

复制代码
server {
    listen 19100;
    server_name 你的远程主机IP;
 
    location / {
        proxy_pass http://localhost:9100/;
        auth_basic "Prometheus";
        auth_basic_user_file /usr/local/nginx/conf/401htpasswd;
    }
}

注意:这里的监听19100是反向代理出去的,所以要会有两个端口,一个是内部访问的9100, 然后跳转出去19100出去。
复制代码

如何添加htpasswd生成密码功能可以参考:https://www.cnblogs.com/zpzp/p/16276888.html

公司内网Prometheus配置

vim /usr/local/prometheus/prometheus.yml

在Prometheus配置文件下面添加以下内容,username是远程服务器认证账号,password为加密密码,此处IP为远程服务器的IP地址,不需要加http。

  - job_name: server
    static_configs:
      - targets: ['IP:19100']
        labels:
          instance: name
    basic_auth:
      username: whsir
      password: blog.whsir.com

 参考:https://blog.whsir.com/post-4328.html

posted @   不积硅步,无以至千里  阅读(307)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示