建设部 网站,网络维护员每天要干哪些事,seo推广怎么做视频教程,做网站确定什么主题好Prometheus使用各种Exporter来监控资源。Exporter可以看成是监控的agent端#xff0c;它负责收集对应资源的指标#xff0c;并提供接口给到Prometheus读取。不同资源的监控对应不同的Exporter#xff0c;如node-exporeter、mysql-exporter、kafka-exporter等#xff0c;在这…Prometheus使用各种Exporter来监控资源。Exporter可以看成是监控的agent端它负责收集对应资源的指标并提供接口给到Prometheus读取。不同资源的监控对应不同的Exporter如node-exporeter、mysql-exporter、kafka-exporter等在这其中最常用的当属node_exporter。
node-exporter使用Go语言编写它主要用来监控主机系统的各项性能参数可收集各种主机指标的库还提供了textfile功能用于自定义指标。
1、安装node-exporter
1.1 二进制安装
下载安装包并解压下载地址: https://prometheus.io/download/
tar zxvf node_exporter-0.16.0.linux-amd64.tar.gz -C /usr/local/
mv /usr/local/node_exporter-0.16.0.linux-amd64/ /usr/local/node_exporter启动node_exporter
里面就一个启动命令node_exporter,可以直接使用此命令启动
[rootagent expoter]# ls /usr/local/node_exporter/
LICENSE node_exporter NOTICE
[rootagent expoter]# nohup /usr/local/node_exporter/node_exporter 1.2 docker安装
官方不建议通过Docekr方式部署node-exporter因为它需要访问主机系统。通过docker部署的方式需要把任何非根安装点都绑定到容器中并通过–path.rootfs参数指定。
docker pull prom/node-exporter
docker run -d --nethost --pidhost -v /:/host:ro,rslave prom/node-exporter --path.rootfs/host访问http://localhost:9100/metrics可以看到当前node exporter获取到的当前主机的所有监控数据如下所示
2、配置node-exporter
node-exporter提供不少配置参数可使用 --help 进行查看。
[rootagent node_exporter]# ./node_exporter --help例如通过–web.listen-address 改变监听的端口
./node_exporter --web.listen-address:8080 如果需要收集主机上面运行服务的状态可启用systemd收集器。由于systemd指标较多可以用–collector.systemd.unit-include参数配置只收集指定的服务减少无用数据该参数支持正则表达式匹配。如docker和ssh服务状态
示例
./node_exporter --collector.systemd --collector.systemd.unit-whitelist(docker|sshd).service 3、textfile收集器
textfile是一个特定的收集器它的功能非常有用textfile允许我们暴露自定义的指标。这些指标或者是没有相关的exporter可以使用或者是你自己开发的应用指标。
textfile通过扫描指定目录中的文件提取所有符合Prometheus数据格式的字符串然后暴露它们给到Prometheus进行抓取。
示例
创建指标文件保存目录
mkdir /opt/prom写入指标文件此处我们用手动方式写入
cat EOF | tee /tmp/prom/metadata.prom
# HELP alex_test this is a test
# TYPE alex_test gauge
alex_test{servertest,idcbj} 1
EOF启用textfile
./node_exporter --collector.textfile.directory/tmp/prom 访问node-exporter的地址可看到指标已生效
4、Prometheus抓取指标
在Prometheus配置关于node-exporter节点的target即可抓取相关节点指标数据。
- job_name: agent1static_configs:- targets: [192.168.75.162:9100] # 被监控ip端口9100实例抓取正常
上一篇Prometheus监控实战系列八标签重写 下一篇Prometheus监控运维实战十 主机监控指标