内容简介:Dockbix意为docker+zabbix,即使用zabbix来监控docker容器的插件或者模块,既然有专业的cadvisor、prometheus等容器监控方案,为什么还要用传统的zabbix呢?使用zabbix来监控docker有几种方案,比如:python sdk:
一.概述
Dockbix意为docker+zabbix,即使用zabbix来监控 docker 容器的插件或者模块,既然有专业的cadvisor、prometheus等容器监控方案,为什么还要用传统的zabbix呢?
- 在docker刚出现时,还没有专业的容器监控方案
- 公司已有zabbix的成熟实践,想直接集成到zabbix中(虽然不太优雅)
使用zabbix来监控docker有几种方案,比如:
- 自己写agent,利用docker的api获取stats信息,暴露api接口给zabbix采集
- 使用zabbix的Module,将docker的采集展示集成到现有的zabbix系统中
如何使用
写API
python sdk: https://docker-py.readthedocs.io/en/stable/containers.html#docker.models.containers.Container.stats
stats(**kwargs) Stream statistics for this container. Similar to the docker stats command. Parameters: decode (bool) – If set to true, stream will be decoded into dicts on the fly. Only applicable if stream is True. False by default. stream (bool) – If set to false, only the current stats will be returned instead of a stream. True by default. Raises: docker.errors.APIError – If the server returns an error.
如计算cpu:
def calculate_cpu_percent(d): cpu_count = len(d["cpu_stats"]["cpu_usage"]["percpu_usage"]) cpu_percent = 0.0 cpu_delta = float(d["cpu_stats"]["cpu_usage"]["total_usage"]) - \ float(d["precpu_stats"]["cpu_usage"]["total_usage"]) system_delta = float(d["cpu_stats"]["system_cpu_usage"]) - \ float(d["precpu_stats"]["system_cpu_usage"]) if system_delta > 0.0: cpu_percent = cpu_delta / system_delta * 100.0 * cpu_count return cpu_percent
Zabbix Module
通过部署一个zabbix agent的docker容器来监控宿主机器和宿主机器上docker的状态。
搬运下开源项目: https://github.com/monitoringartist/zabbix-docker-monitoring
1.在需要监控的宿主机器上运行运行Agent容器
docker run \ --name=dockbix-agent-xxl \ --net=host \ --privileged \ -v /:/rootfs \ -v /var/run:/var/run \ --restart unless-stopped \ -e "ZA_Server=<ZABBIX SERVER IP/DNS NAME/IP RANGE>" \ -e "ZA_ServerActive=<ZABBIX SERVER IP/DNS NAME>" \ -d monitoringartist/dockbix-agent-xxl-limited:latest
2.配置监控模板
在zabbix server上导入监控docker的模版,可用模板包括:
- Zabbix-Template-App-Docker.xml - 标准推荐模板:被动
- Zabbix-Template-App-Docker-active.xml - 检查模板:主动
- Zabbix-Template-App-Docker-Mesos-Marathon-Chronos.xml - Mesos (Marathon/Chronos)集群的docker模板
也可以用docker镜像直接运行,来导入模板: monitoringartist/zabbix-templates ,如:
docker run --rm \ -e XXL_apiurl=http://zabbix.org/zabbix \ -e XXL_apiuser=Admin \ -e XXL_apipass=zabbix \ monitoringartist/zabbix-templates
item为:
详细的metric的值可以参考: https://github.com/monitoringartist/zabbix-docker-monitoring/blob/master/README.md
3.可视化
zabbix的监控图:
grafana中也有zabbix的 数据模板
本文为容器监控实践系列文章,完整内容见: container-monitor-book
以上所述就是小编给大家介绍的《容器监控实践—Dockbix》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web标准和SEO应用实践
Aarron Walter / 李清 / 机械工业出版社 / 2008 / 36.00元
本书是关于搜索引擎优化和易发现性的技术指南。. 本书介绍Web标准、可访问性以及Ajax、API、Flash和微格式等内容,包括标记策略、服务器端策略、内容策略、建构易发现的博客、在网站内添加搜索、防止易发现性障碍、用邮件列表挽回流量、将易发现性付诸实践。 本书适合网站开发者与SEO技术业余爱好者等参考。 这不是为营销专家写的一本SEO的书。 针对那些想要找到网站的目标用户......一起来看看 《Web标准和SEO应用实践》 这本书的介绍吧!