docker容器監(jiān)控的實(shí)現(xiàn)方法

本篇內(nèi)容主要講解“docker容器監(jiān)控的實(shí)現(xiàn)方法”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“docker容器監(jiān)控的實(shí)現(xiàn)方法”吧!

創(chuàng)新互聯(lián)專注于企業(yè)成都營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、荷塘網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為荷塘等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

本文寫于2015年,所有PAAS平臺(tái)相關(guān)內(nèi)容都已經(jīng)在2015Q3完成,當(dāng)時(shí)使用的docker版本為1.6.2,雖然docker新版本發(fā)布很快,但是下面提到的監(jiān)控相關(guān)的內(nèi)容大致相同。

一、 docker容器有哪些指標(biāo)需要監(jiān)控?

  • 容器CPU、內(nèi)存、IO、網(wǎng)絡(luò)、應(yīng)用存活

二、 如何監(jiān)控?

宿主機(jī)監(jiān)控 zabbix可以實(shí)現(xiàn),容器內(nèi)部安裝zabbix?
(數(shù)據(jù)和宿主機(jī)一致,無(wú)法反應(yīng)容器真實(shí)狀態(tài))
看別人都如何實(shí)現(xiàn)?
Searching GitHub…

  • seagull
    可以查看、啟停容器,管理鏡像,但不支持查看容器使用CPU、內(nèi)存、IO、網(wǎng)絡(luò)等情況。

  • Prometheus
    太龐大

  • Docker官方stats接口
    要求docker在1.5以上版本,有命令行和API兩種方式,API為非中斷式,不停的顯示數(shù)據(jù)

  • Docker-mon
    命令行工具,1.5以上版本,展示效果很好,但數(shù)據(jù)無(wú)法匯總,也無(wú)法查看歷史數(shù)據(jù)

  • Dockernana
    可以對(duì)docker宿主進(jìn)行日常cpu、內(nèi)存、IO進(jìn)行監(jiān)控,但無(wú)法監(jiān)控容器的資源使用。

  • cAdvisor
    可以查看容器對(duì)CPU、內(nèi)存、磁盤的使用情況,WEB界面方式,缺點(diǎn)是每個(gè)宿主都要起個(gè)容器,而且數(shù)據(jù)無(wú)法匯總,無(wú)法查看歷史數(shù)據(jù)。

圖1:Docker-mon
docker容器監(jiān)控的實(shí)現(xiàn)方法
圖2:cAdvisor
docker容器監(jiān)控的實(shí)現(xiàn)方法
最終腳本如下:

  1. a1_user=`cat /cgroup/cpuacct/docker/$i/cpuacct.stat | grep user |awk '{print $2}'`

  2. a1_sys=`cat /cgroup/cpuacct/docker/$i/cpuacct.stat | grep sys | awk '{print $2}'`

  3. sleep 5

  4. a2_user=`cat /cgroup/cpuacct/docker/$i/cpuacct.stat | grep user |awk '{print $2}'`

  5. a2_sys=`cat /cgroup/cpuacct/docker/$i/cpuacct.stat | grep sys | awk '{print $2}'`

  6.  

  7. cpuall=$((a2_user + a2_sys - a1_user - a1_sys))

  8. CPUSTAT=`echo "scale=2;$cpuall/5/100">

內(nèi)存
  1. #@當(dāng)前使用內(nèi)存除以最大內(nèi)存限制

  2. [root@BJ-YF-64-7 ~]#cat /cgroup/memory/docker/$DOCKERID/memory.limit_in_bytes

  3. 1073741824

  4. [root@BJ-YF-64-7 ~]#cat /cgroup/memory/docker/$DOCKERID/memory.usage_in_bytes

  5. 186269696

網(wǎng)絡(luò)流量
  1. #@根據(jù)容器PID來(lái)獲取該進(jìn)程的網(wǎng)絡(luò)狀態(tài)

  2. PID=`docker inspect -f '{{.State.Pid}}' $i`

  3. a1_rx=`cat /proc/$PID/net/dev | grep eth2 |awk '{print $2}'`

網(wǎng)絡(luò)連接數(shù)
  1. #@根據(jù)容器PID來(lái)獲取該進(jìn)程的網(wǎng)絡(luò)狀態(tài)

  2. cat /proc/$PID/net/tcp

四、 初步展示shell+InfluxDB+Grafana

使用Shell打印結(jié)果:
docker容器監(jiān)控的實(shí)現(xiàn)方法
使用InfluxDB+ Grafana展示結(jié)果:
docker容器監(jiān)控的實(shí)現(xiàn)方法

五、 接入Zabbix

數(shù)據(jù)展示問(wèn)題解決了,那數(shù)據(jù)報(bào)警呢? Zabbix
Zabbix一臺(tái)宿主機(jī)有N張圖,容器1CPU、容器1內(nèi)存、容器2CPU…
數(shù)據(jù)獲取很復(fù)雜,很困難

每個(gè)容器都運(yùn)行Zabbix
數(shù)據(jù)通過(guò)shell腳本打印到容器在宿主的映射目錄
docker容器監(jiān)控的實(shí)現(xiàn)方法
歷史趨勢(shì)圖

到此,相信大家對(duì)“docker容器監(jiān)控的實(shí)現(xiàn)方法”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

新聞名稱:docker容器監(jiān)控的實(shí)現(xiàn)方法
當(dāng)前網(wǎng)址:http://muchs.cn/article28/jcpscp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、響應(yīng)式網(wǎng)站、用戶體驗(yàn)、電子商務(wù)、做網(wǎng)站、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)