你必须知道的容器监控 (2) cAdvisor
#?實(shí)驗(yàn)環(huán)境:阿里云ECS主機(jī)(兩臺(tái)),CentOS 7.4
01
—
cAdvisor簡(jiǎn)介
? 為了解決容器的監(jiān)控問(wèn)題,Google開(kāi)發(fā)了一款容器監(jiān)控工具cAdvisor(Container Advisor),它為容器用戶(hù)提供了對(duì)其運(yùn)行容器的資源使用和性能特征的直觀展示。?它是一個(gè)運(yùn)行守護(hù)程序,用于收集,聚合,處理和導(dǎo)出有關(guān)正在運(yùn)行的容器的信息。
cAdvisor可以對(duì)節(jié)點(diǎn)機(jī)器上的資源及容器進(jìn)行實(shí)時(shí)監(jiān)控和性能數(shù)據(jù)采集,包括CPU使用情況、內(nèi)存使用情況、網(wǎng)絡(luò)吞吐量及文件系統(tǒng)使用情況。
cAdvisor使用go語(yǔ)言開(kāi)發(fā),如果想了解更多請(qǐng)?jiān)L問(wèn)其官方github:https://github.com/google/cadvisor
02
—
安裝cAdvisor
?????? cAdvisor 有兩種方法來(lái)運(yùn)行,一種是以二進(jìn)制可執(zhí)行文件安裝運(yùn)行,另一種是以 Docker 容器運(yùn)行。這里我們主要介紹第二種以Docker方式安裝運(yùn)行。
我們可以通過(guò)以下命令來(lái)在實(shí)驗(yàn)環(huán)境的云服務(wù)器中運(yùn)行cAdvisor容器:
docker run \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:rw \ --volume=/sys:/sys:ro \ --volume=/var/lib/docker/:/var/lib/docker:ro \ --volume=/dev/disk/:/dev/disk:ro \ --publish=8080:8080 \ --detach=true \ --name=cadvisor \ google/cadvisor:latest執(zhí)行之后你會(huì)看到以下提示信息:
? 看到以上信息代表我們以docker方式運(yùn)行成功,我們可以通過(guò) http://[Your Host IP]:8080(默認(rèn)是8080端口)來(lái)訪問(wèn)cAdvisor。看到以下界面,代表我們的安裝工作完成。
03
—
使用cAdvisor
監(jiān)控容器
??????? cAdvisor提供了對(duì)Host和容器的監(jiān)控,單擊“Docker Containers”鏈接:
? 我們即可進(jìn)入容器監(jiān)控列表
? 單擊其中某個(gè)容器例如exceptionless_api_1,即可進(jìn)入該容器實(shí)例的監(jiān)控頁(yè)面(前方長(zhǎng)圖,注意流量):
????????我們可以清楚地看到:CPU、內(nèi)存、網(wǎng)絡(luò)、文件系統(tǒng)的動(dòng)態(tài)使用情況。
監(jiān)控Host
????????除了監(jiān)控容器之外,cAdvisor也提供了對(duì)Host的監(jiān)控。退出Docker Containers,我們?cè)谑醉?yè)就可以看到如下圖所示的Host動(dòng)態(tài)性能數(shù)據(jù):
同樣,我們也能清楚地看到CPU、內(nèi)存、網(wǎng)絡(luò)、文件系統(tǒng)等資源的動(dòng)態(tài)使用情況以及歷史數(shù)據(jù)的變化。
04
—
小結(jié)
????????本文簡(jiǎn)單介紹了Google開(kāi)發(fā)的容器監(jiān)控工具cAdvisor的基本安裝與使用,總結(jié)下來(lái)cAdvisor可以幫助展示Host和容器兩方面的監(jiān)控?cái)?shù)據(jù),還可以動(dòng)態(tài)展示歷史數(shù)據(jù)的變化。但是,cAdvisor的缺點(diǎn)也非常明顯,那就是它的操作界面比較簡(jiǎn)陋,而且需要多個(gè)頁(yè)面來(lái)回跳轉(zhuǎn),其易用性甚至還不如Weave Scope。更為重要的是,它不能監(jiān)控多個(gè)Host,而Weave Scope至少還可以監(jiān)控多個(gè)Host。那么,為何我們還要學(xué)習(xí)它呢?因?yàn)閏Advisor有一個(gè)亮點(diǎn)之處就在于它可以將監(jiān)控?cái)?shù)據(jù)導(dǎo)出給第三方工具,而這個(gè)第三方工具就是我們下一篇將要學(xué)習(xí)的Prometheus,Prometheus會(huì)對(duì)這些監(jiān)控?cái)?shù)據(jù)做進(jìn)一步加工處理。
因此,我們后續(xù)的監(jiān)控結(jié)構(gòu)是:Prometheus + Node Exporter & cAdvisor + Grafana,敬請(qǐng)期待。
參考資料:
Cloud Man,《每天5分鐘玩轉(zhuǎn)Docker容器技術(shù)》
二二向箔,《容器監(jiān)控實(shí)踐-cAdvisor》
Ein Verne,《使用Google出品的cAdvisor監(jiān)控Docker容器》
點(diǎn)個(gè)【在看】,和更多人一起分享!
總結(jié)
以上是生活随笔為你收集整理的你必须知道的容器监控 (2) cAdvisor的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 面对万物互联的智能世界,你是否也想分一杯
- 下一篇: 动手造轮子:实现一个简单的依赖注入(一)