容器监控体系怎样做,一片文章汇报你谜底
跟着线上处事的全面docker化,对docker容器的监控就很重要了。SA的监控体系是物理机的监控,在一个物理机跑多个容器的环境下,我们是没法从一个监控图表内里区分各个容器的资源占用环境的。 为了更好的监控容器运行环境,更重要的是为了后续的容器动态调治算法必要的大量运行时数据的汇集,颠末调研后,基于CAdvisor + InfluxDB + Grafana搭建了这套容器监控体系。 CAdvisor是一个容器资源监控器材,包罗容器的内存,CPU,收集IO,磁盘IO等监控,同时提供了一个WEB页面用于查察容器的及时运行状态。CAdvisor默认存储2分钟的数据,并且只是针对单物理机。不外,CAdvisor提供了很大都据集成接口,支持InfluxDB,Redis,Kafka,Elasticsearch等集成,可以加上对应设置将监控数据发往这些数据库存储起来。 因为CAdvisor已经容器化,陈设和运行很简朴,执行如下呼吁即可: 如前面说到,CAdvisor默认只在本机生涯最近2分钟的数据,为了耐久化存储数据和同一网络展示监控数据,必要将数据存储到InfluxDB中。InfluxDB是一个时序数据库,专门用于存储时序相干数据,很得当存储CAdvisor的数据。并且,CAdvisor自己已经提供了InfluxDB的集成要领,在启动容器时指定设置即可。 我们行使了打点容器来打点CAdvisor,修改后的启动设置如下。首要指定了存储引擎为InfluxDB,以及指定InfluxDB的HTTP API的地点(这里用到了自建DNS的域名 influxdb.service.consul以停止袒露外部端口),尚有对应的数据库和用户名暗码。 { "binds": [ "/:/rootfs:ro", "/var/run:/var/run:rw", "/sys:/sys:ro", "/home/docker/var/lib/docker/:/var/lib/docker:ro" ], "image": "forum-cadvisor", "labels": { "type": "cadvisor" }, "command": " -docker_only=true -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxdb.service.consul:8086 -storage_driver_user=testuser -storage_driver_password=testpwd", "tag": "latest", "hostname": "cadvisor-{{lan_ip}}" } 留意到我们行使了一个本身的forum-cadvisor镜像来取代官方的cadvisor镜像,这是为了修复cadvisor一些题目以及基于打点利便性的思量。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |