摘要:可以指定一個已停止的容器,但是停止的容器不返回任何數(shù)據(jù)。但它并不意味著你的每個容器都能訪問那么多的內(nèi)存默認時命令會每隔秒鐘刷新一次,如果只看當(dāng)前狀態(tài)指定查看某個容器的資源可以指定名稱或本文為容器監(jiān)控實踐系列文章,完整內(nèi)容見
前言
傳統(tǒng)虛機監(jiān)控一般采用類似Zabbix的方案,但容器出現(xiàn)之后,再使用Zabbix agent來采集數(shù)據(jù)的話就顯得有些吃力了,如果每個容器都像OS那樣監(jiān)控,則metric數(shù)量將會非常巨大,而且這些數(shù)據(jù)很可能幾分鐘之后就沒有意義了(容器已經(jīng)停止或漂移),且容器的指標(biāo)匯總更應(yīng)該是按照APP甚至POD維度。
如果只是過渡方案,或者想將容器監(jiān)控統(tǒng)一到公司現(xiàn)有的Zabbix中,可以參考zabbix-docker-monitoring,有很多模板如:zabbix-template-app-docker.xml
參考文章:https://segmentfault.com/a/11...
Docker原生監(jiān)控常用方式:
docker ps/top/logs
docker stats
docker Remote API
docker 偽文件系統(tǒng)
docker stats
該命令默認以流式方式輸出,如果想打印出最新的數(shù)據(jù)并立即退出,可以使用 no-stream=true 參數(shù)。
可以指定一個已停止的容器,但是停止的容器不返回任何數(shù)據(jù)。
例如:
Remote API
Docker Remote API是一個取代遠程命令行界面(rcli)的REST API
如:curl http://127.0.0.1:4243/containers/json
可以使用API來獲取監(jiān)控數(shù)據(jù)并集成到其他系統(tǒng),注意不要給Docker daemon帶來性能負擔(dān),如果你一臺主機有很多容器,非常頻繁的采集可能會大量占據(jù)CPU
偽文件系統(tǒng)
以下操作的環(huán)境為:Centos7系統(tǒng) docker17.03版本
docker stats的數(shù)據(jù)來自于/sys/fs/cgroup下的文件
mem usage那一列的值,來自于
/sys/fs/cgroup/memory/docker/[containerId]/memory.usage_in_bytes
如果沒限制內(nèi)存,Limit = machine_mem,否則來自于
/sys/fs/cgroup/memory/docker/[id]/memory.limit_in_bytes
內(nèi)存使用率 = memory.usage_in_bytes/memory.limit_in_bytes
一般情況下,cgroup文件夾下的內(nèi)容包括CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等信息:
如memory下的文件有:
幾個常用的指標(biāo)含義:
memory.stat中的信息是最全的:
更多資料參考:cgroup memory
原理分析:Libcontainer 深度解析
總結(jié)優(yōu)缺點:
優(yōu)點:原生,很方便的看到當(dāng)前宿主機上所有容器的CPU、內(nèi)存、網(wǎng)絡(luò)流量等數(shù)據(jù)。
缺點:只能統(tǒng)計當(dāng)前宿主機的所有容器,數(shù)據(jù)是實時的,沒有存儲,沒有報警,沒有可視化。
備注:
1.如果你沒有限制容器內(nèi)存,那么docker stats將顯示您的主機的內(nèi)存總量。但它并不意味著你的每個容器都能訪問那么多的內(nèi)存
2.默認時stats命令會每隔1秒鐘刷新一次,如果只看當(dāng)前狀態(tài):docker stats --no-stream
3.指定查看某個容器的資源可以指定名稱或PID: docker stats --no-stream registry 1493
本文為容器監(jiān)控實踐系列文章,完整內(nèi)容見:container-monitor-book
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27661.html
摘要:可以指定一個已停止的容器,但是停止的容器不返回任何數(shù)據(jù)。但它并不意味著你的每個容器都能訪問那么多的內(nèi)存默認時命令會每隔秒鐘刷新一次,如果只看當(dāng)前狀態(tài)指定查看某個容器的資源可以指定名稱或本文為容器監(jiān)控實踐系列文章,完整內(nèi)容見 前言 傳統(tǒng)虛機監(jiān)控一般采用類似Zabbix的方案,但容器出現(xiàn)之后,再使用Zabbix agent來采集數(shù)據(jù)的話就顯得有些吃力了,如果每個容器都像OS那樣監(jiān)控,則me...
摘要:正在走遠,新年之初,小數(shù)精選過去一年閱讀量居高的技術(shù)干貨,從容器到微服務(wù)云原生,匯集成篇精華集錦,充分反映了這一年的技術(shù)熱點走向。此文值得收藏,方便隨時搜索和查看。,小數(shù)將繼續(xù)陪伴大家,為朋友們奉獻更有逼格的技術(shù)內(nèi)容。 2017正在走遠,新年之初,小數(shù)精選過去一年閱讀量居高的技術(shù)干貨,從容器、K8S 到微服務(wù)、云原生、Service Mesh,匯集成52篇精華集錦,充分反映了這一年的技...
摘要:在中包含大量的了相關(guān)的信息參考原生監(jiān)控文章的收集器更多源碼參考文章總結(jié)優(yōu)缺點優(yōu)點谷歌開源產(chǎn)品,監(jiān)控指標(biāo)齊全,部署方便,而且有官方的鏡像。 概述 為了解決docker stats的問題(存儲、展示),谷歌開源的cadvisor誕生了,cadvisor不僅可以搜集一臺機器上所有運行的容器信息,還提供基礎(chǔ)查詢界面和http接口,方便其他組件如Prometheus進行數(shù)據(jù)抓取,或者cadvis...
摘要:在中包含大量的了相關(guān)的信息參考原生監(jiān)控文章的收集器更多源碼參考文章總結(jié)優(yōu)缺點優(yōu)點谷歌開源產(chǎn)品,監(jiān)控指標(biāo)齊全,部署方便,而且有官方的鏡像。 概述 為了解決docker stats的問題(存儲、展示),谷歌開源的cadvisor誕生了,cadvisor不僅可以搜集一臺機器上所有運行的容器信息,還提供基礎(chǔ)查詢界面和http接口,方便其他組件如Prometheus進行數(shù)據(jù)抓取,或者cadvis...
摘要:斌哥是誰劉斌,擁有多年編程經(jīng)驗,曾參與翻譯過第一本書入門與實踐應(yīng)用安全權(quán)威指南等多本技術(shù)書籍,主講過入門與實踐課程的后臺工程師。主要的解決方式就是以或者為單位進行監(jiān)控通過等方式。 過去的一年中,關(guān)于 Docker 的話題從未斷過,而如今,從嘗試 Docker 到最終決定使用 Docker 的轉(zhuǎn)化率依然在逐步升高,關(guān)于 Docker 的討論更是有增無減。另一方面,大家的注意力也漸漸從 D...
閱讀 2643·2021-09-28 09:35
閱讀 3287·2021-09-03 10:28
閱讀 2942·2019-08-30 15:43
閱讀 1505·2019-08-30 14:04
閱讀 1846·2019-08-29 17:02
閱讀 1846·2019-08-26 13:59
閱讀 735·2019-08-26 11:51
閱讀 3301·2019-08-23 17:16