centos7安装node_exporter并配置安全访问
简单介绍
node_exporter是用来采集服务器的基本指标信息的,prometheus负责连接node_exporter来收集node_exporter获取到的数据,让grafana来负责展示prometheus采集到的数据。
简单看一下成果:

安装node_exporter
由于是给arm64的机器安装node_exporter来采集数据,所以本文中的例子皆以arm64机器为准:
下载node_exporter并且将二进制文件放到bin目录中
| 1 | #去github找到最新的版本 | 
增加安全访问措施
增加安全访问措施,主要分为两个主要步骤:
- 将地址设置为HTTPS,保障数据在传输过程中加密传输
- 加上基础的账号密码验证
我这边主要是参考node_exporter增加密码和https验证,主要步骤如下:
- 创建ssl证书 - 1 
 2
 3
 4
 5
 6
 7
 8- #存放证书的文件夹 
 mkdir -p node_exporter_config/cert
 #打开文件夹
 cd node_exporter_config/cert
 #有效期10年的ssl自签名证书
 openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -keyout server.key -out server.crt -subj "/C=CN/ST=Beijing/L=Beijing/O=CJ/CN=127.0.0.1" -addext "subjectAltName = DNS:127.0.0.1"
- 创建node_exporter的配置文件 - 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17- #存放配置的文件夹,一下都以该文件夹为准 
 cd node_exporter_config/
 #生成对应的密码(如果没有htpasswd,那么用yum 安装即可),输入你要设置的密码,然后将生成的串保存
 htpasswd -nBC 10 "" | tr -d ':\n'; echo
 #创建配置文件
 vi config.yml
 #将以下内容写进去,对应的htpasswd就是上一步生成的字符串
 tls_server_config:
 cert_file: cert/server.crt
 key_file: cert/server.key
 basic_auth_users:
 node_exporter: <the-output-value-of-htpasswd>
将node_exporter设置为service
- 使用命令 - vi /etc/systemd/system/node_exporter.service创建service文件,并填充如下内容:- 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13- [Unit] 
 Description=Node exporter
 After=network.target
 [Service]
 User=root
 Group=root
 Type=simple
 ExecStart=/usr/local/bin/node_exporter --path.rootfs=/data/logs/exporter --web.listen-address=:1006 --web.config=node_exporter_config/config.yml
 [Install]
 WantedBy=multi-user.target
考虑到实际情况,所以修改了具体的保存点和对应的端口,如果不需要可以修改或者移除--path.rootfs=/data/logs/exporter --web.listen-address=:1006
如果没有执行权限:chmod +x /etc/systemd/system/node_exporter.service
- 启动node_exporter 并加入开启启动项
| 1 | # reload daemon | 
设置prometheus正确的采集数据
| 1 | #假定prometheus已安装好并且已经在使用状态下 | 
总结
由于node_exporter的特殊性,一向喜欢用docker来进行管理的我这次选择了用源文件来安装对应的服务,实际上docker安装的效果是完全一致的。
本次的node_exporter主要遇到的坑点就是SSL一直提示握手失败,然后我各种搜文档,找资料。
最后一行代码解决:insecure_skip_verify: true,还是要多看官方文档,查看有没有可用的选项让你避免出现错误什么的。
参考文档:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 星空!
 评论
