首页 » Monitor » Prometheus » Prometheus通过Nginx加密node_exporter(三)

Prometheus通过Nginx加密node_exporter(三)

 

上一篇文章介绍了Prometheus通过Nginx反向代理进行登陆认证,那么如果换成node_exporter呢?当然也是可以的。

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

我这里介绍一下需求,node_exporter部署在了线上远程服务器上,Prometheus部署在了公司内网中(无公网IP),这样就产生了一个问题,node_exporter如果在远程服务器上运行,势必会打开防火墙,这样node_exporter就暴露在了公网环境下,这么做势必是不安全的,相信没有人愿意把数据暴露出去。

有了上一篇文章的经验,部署起来就容易的多,为了更加容易理解,我这里画了一张图,线上远程服务器node_exporter启动默认端口9100,Nginx暴露端口19100。

远程服务器配置

下载node_exporter

启动node_exporter

Nginx配置如下:

401密钥的生成参考上一篇文章:https://blog.whsir.com/post-4241.html

至此远程服务器配置完成,此时暴露在外的端口为19100,访问http://IP:19100出现401登陆认证!

 

公司内网Prometheus配置

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

配置完成后记得重启Prometheus,访问内网Prometheus地址,在Targets中可以看到State显示UP成功,如果你账号密码配置错误,则Error会显示401认证失败(server returned HTTP status 401 Unauthorized)。

原文链接:Prometheus通过Nginx加密node_exporter(三),转载请注明来源!

1