摘要:一概述意為,即使用來監控容器的插件或者模塊,既然有專業的等容器監控方案,為什么還要用傳統的呢在剛出現時,還沒有專業的容器監控方案公司已有的成熟實踐,想直接集成到中雖然不太優雅使用來監控有幾種方案,比如自己寫,利用的獲取信息,暴露接口給采集使
一.概述
Dockbix意為docker+zabbix,即使用zabbix來監控docker容器的插件或者模塊,既然有專業的cadvisor、prometheus等容器監控方案,為什么還要用傳統的zabbix呢?
在docker剛出現時,還沒有專業的容器監控方案
公司已有zabbix的成熟實踐,想直接集成到zabbix中(雖然不太優雅)
使用zabbix來監控docker有幾種方案,比如:
自己寫agent,利用docker的api獲取stats信息,暴露api接口給zabbix采集
使用zabbix的Module,將docker的采集展示集成到現有的zabbix系統中
如何使用 寫APIpython 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_percentZabbix 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=" -e "ZA_ServerActive= " -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
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/33187.html
摘要:一概述意為,即使用來監控容器的插件或者模塊,既然有專業的等容器監控方案,為什么還要用傳統的呢在剛出現時,還沒有專業的容器監控方案公司已有的成熟實踐,想直接集成到中雖然不太優雅使用來監控有幾種方案,比如自己寫,利用的獲取信息,暴露接口給采集使 一.概述 Dockbix意為docker+zabbix,即使用zabbix來監控docker容器的插件或者模塊,既然有專業的cadvisor、pr...
摘要:一概述意為,即使用來監控容器的插件或者模塊,既然有專業的等容器監控方案,為什么還要用傳統的呢在剛出現時,還沒有專業的容器監控方案公司已有的成熟實踐,想直接集成到中雖然不太優雅使用來監控有幾種方案,比如自己寫,利用的獲取信息,暴露接口給采集使 一.概述 Dockbix意為docker+zabbix,即使用zabbix來監控docker容器的插件或者模塊,既然有專業的cadvisor、pr...
摘要:方案匯總一開源方案采集展示報警二商業方案三云廠商騰訊云阿里云百度云華為云四主機監控五日志監控六服務監控七存儲后端腦圖本文為容器監控實踐系列文章,完整內容見 概述 隨著越來越多的線上服務docker化,對容器的監控、報警變得越來越重要,容器監控有多種形態,有些是開源的(如promethues),而另一些則是商業性質的(如Weave),有些是集成在云廠商一鍵部署的(Rancher、谷歌云)...
摘要:可以指定一個已停止的容器,但是停止的容器不返回任何數據。但它并不意味著你的每個容器都能訪問那么多的內存默認時命令會每隔秒鐘刷新一次,如果只看當前狀態指定查看某個容器的資源可以指定名稱或本文為容器監控實踐系列文章,完整內容見 前言 傳統虛機監控一般采用類似Zabbix的方案,但容器出現之后,再使用Zabbix agent來采集數據的話就顯得有些吃力了,如果每個容器都像OS那樣監控,則me...
閱讀 3490·2019-08-30 15:53
閱讀 3405·2019-08-29 16:54
閱讀 2190·2019-08-29 16:41
閱讀 2396·2019-08-23 16:10
閱讀 3377·2019-08-23 15:04
閱讀 1342·2019-08-23 13:58
閱讀 347·2019-08-23 11:40
閱讀 2451·2019-08-23 10:26