Prometheus监控实战day2——监控主机和容器

  Prometheus使用exporter工具来暴露主机和应用程序上的指标,目前有很多exporter可供利用。对于收集各种主机指标数据(包括CPU、内存和磁盘),我们使用Node Exporter即可。如果需要监控Docker的话,建议使用cadvisor(容器)进行监控

 

Node exporter的下载与安装:

Prometheus官方exporter下载地址

https://prometheus.io/docs/instrumenting/exporters/

安装部署步骤我就省略了。直接下载解压运行即可

 

Node Exporter配置:

建议在使用前使用 --help命令查看帮助文档,这个很有用

textfile收集器:

node_exporter有一个textfile收集器,利用该手机器,我们可以配置一些静态指标。

例如我们在某个路径创建某个目录,并在该目录内新建以prom结尾的文件,文件内书写相应的文本格式,例如:

metadata{role="docker_server",datacenter="SZ"} 1      #role和datacenter好像是可以自己随便命名的,后面为对应的值,最后的1是因为该值是用来提供上下文的,不是计数型、测量型和计时型的指标

该收集器默认会被自动加载,只需要在运行时使用--collector.textfile.directory参数即可。

 

systemd收集器

node_exporter默认收集的systemd的指标太多了,我们可以使用该收集器指定只接收的systemd服务监控内容,例如我们只想监控docker、ssh、rsyslog服务的监控内容指标,只需要在运行node_exporter指定--collector.systemd.unit-whitelist="(docker|ssh|rsyslog).service"即可

 

具体示例

Prometheus监控实战day2——监控主机和容器

 

配置多个Node Exporter示例

监控多台node

修改prometheus.yml文件对应部分内容

Prometheus监控实战day2——监控主机和容器

 

配置只监听部分指标,例如cpu,内存信息等,其他未指定指标将被忽略

Prometheus监控实战day2——监控主机和容器

 

 可以通过以下命令进行测试

Prometheus监控实战day2——监控主机和容器

 

运行cAdvisor

Prometheus监控实战day2——监控主机和容器

 

 使用浏览器访问

 Prometheus监控实战day2——监控主机和容器

 

数据收集上来之后,会被存储起来。但是cAdvisor收集了大量的数据,为了节省空间,我们可以将部分收集上来的数据直接drop掉,如下: 

 

Prometheus监控实战day2——监控主机和容器

 

提取收集上来的数据中的某项的部分信息

Prometheus监控实战day2——监控主机和容器

 

直接定义监控项(计算CPU在五分钟内的使用率,需要减去idle空闲的)

Prometheus监控实战day2——监控主机和容器

 

 Prometheus监控实战day2——监控主机和容器

 

上一篇:Prometheus+node_exporter+grafana


下一篇:Prometheus监控指标的label注入方法