docker容器监控的实现方法


本篇内容主要讲解“docker容器监控的 香港云主机实现方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker容器监控的实现方法”吧!本文写于2015年,所有PAAS平台相关内容都已经在2015Q3完成,当时使用的docker版本为1.6.2,虽然docker新版本发布很快,但是下面提到的监控相关的内容大致相同。容器CPU、内存、IO、网络、应用存活宿主机监控 zabbix可以实现,容器内部安装zabbix?
数据和宿主机一致,无法反应容器真实状态)
看别人都如何实现?
Searching GitHub…seagull
可以查看、启停容器,管理镜像,但不支持查看容器使用CPU、内存、IO、网络等情况。Prometheus
太庞大Docker官方stats接口
要求docker在1.5以上版本,有命令行和API两种方式,API为非中断式,不停的显示数据Docker-mon
命令行工具,1.5以上版本,展示效果很好,但数据无法汇总,也无法查看历史数据Dockernana
可以对docker宿主进行日常cpu、内存、IO进行监控,但无法监控容器的资源使用。cAdvisor
可以查看容器对CPU、内存、磁盘的使用情况,WEB界面方式,缺点是每个宿主都要起个容器,而且数据无法汇总,无法查看历史数据。图1:Docker-mon

图2:cAdvisor

最终脚本如下:a1_user=`cat /cgroup/cpuacct/docker/$i/cpuacct.stat | grep user |awk '{print $2}'`a1_sys=`cat /cgroup/cpuacct/docker/$i/cpuacct.stat | grep sys | awk '{print $2}'`sleep5a2_user=`cat /cgroup/cpuacct/docker/$i/cpuacct.stat | grep user |awk '{print $2}'`a2_sys=`cat /cgroup/cpuacct/docker/$i/cpuacct.stat | grep sys | awk '{print $2}'`cpuall=$((a2_user+a2_sys-a1_user-a1_sys))CPUSTAT=`echo "scale=2;$cpuall/5/100">#@当前使用内存除以最大内存限制[root@BJ-YF-64-7~]#cat/cgroup/memory/docker/$DOCKERID/memory.limit_in_bytes1073741824[root@BJ-YF-64-7~]#cat/cgroup/memory/docker/$DOCKERID/memory.usage_in_bytes186269696#@根据容器PID来获取该进程的网络状态PID=`docker inspect -f '{{.State.Pid}}' $i`a1_rx=`cat /proc/$PID/net/dev | grep eth2 |awk '{print $2}'`#@根据容器PID来获取该进程的网络状态cat/proc/$PID/net/tcp使用Shell打印结果:

使用InfluxDB+ Grafana展示结果:
数据展示问题解决了,那数据报警呢? Zabbix
Zabbix一台宿主机有N张图,容器1CPU、容器1内存、容器2CPU…
数据获取很复杂,很困难每个容器都运行Zabbix
数据通过shell脚本打印到容器在宿主的映射目录

历史趋势图
到此,相信大家对“docker容器监控的实现方法”有了更深的了解,不妨来实际操作一番吧!这里是开发云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: 社交电商趋势已经到来,如何快速转型社交电商?

以平台为中心的电子商务模式时代已经过去,在流量获取转化交易到业绩增长很难再有突破口。所以在2019年前后小米、阿里、京东纷纷布局社交电商做未来的战略布局。不论是对于互联网公司还是中小企业来说,通过社交电商模式做新的战略布局,是至关重要的! 香港云主机 了解更多…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 08/02 16:07
Next 08/02 16:48

相关推荐