cAdvisor(Container Advisor)
是 Google
開源的一個(gè)容器監(jiān)控工具,可用于對(duì)容器資源的使用情況和性能進(jìn)行監(jiān)控。用于收集、聚合、處理和導(dǎo)出正在運(yùn)行容器的有關(guān)信息。具體來(lái)說(shuō),該組件對(duì)每個(gè)容器都會(huì)記錄其資源隔離參數(shù)、歷史資源使用情況、完整歷史資源使用情況的直方圖和網(wǎng)絡(luò)統(tǒng)計(jì)信息。cAdvisor
本身就對(duì) Docker
容器支持,并且還對(duì)其它類型的容器盡可能的提供支持,力求兼容與適配所有類型的容器。
由以上介紹我們可以知道,cAdvisor
是用于監(jiān)控容器引擎的,由于其監(jiān)控的實(shí)用性,Kubernetes
已經(jīng)默認(rèn)將其與 Kubelet
融合作為容器監(jiān)控指標(biāo)的默認(rèn)工具,所以,對(duì)于云原生集群直接使用 Kubelet
組件提供的指標(biāo)采集地址即可。
1、使用以下命令安裝啟動(dòng)cAdvisor組件
:
(資料圖片僅供參考)
docker run \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:ro \ --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 \ --privileged \ --device=/dev/kmsg \ google/cadvisor:latest
2、此時(shí),cAdvisor組件
已經(jīng)啟動(dòng),我們可以使用瀏覽器訪問(wèn) http://自己IP地址:8080
訪問(wèn)到cAdvisor組件
的Web UI
:
3、而在多主機(jī)的情況下,在所有節(jié)點(diǎn)上運(yùn)行一個(gè)cAdvisor
再通過(guò)各自的Web UI
查看監(jiān)控信息顯然不太方便,同時(shí)cAdvisor
默認(rèn)只保存2分鐘的監(jiān)控?cái)?shù)據(jù)。好消息是cAdvisor
已經(jīng)內(nèi)置了對(duì)Prometheus
的支持。訪問(wèn)http://自己的IP地址:8080/metrics
即可獲取到標(biāo)準(zhǔn)的Prometheus
監(jiān)控樣本輸出:
4、下面表格中列舉了一些cAdvisor
中獲取到的典型監(jiān)控指標(biāo):
指標(biāo)名稱 | 類型 | 含義 |
---|---|---|
container_cpu_load_average_10s | gauge | 過(guò)去10秒容器CPU的平均負(fù)載 |
container_cpu_usage_seconds_total | counter | 容器在每個(gè)CPU內(nèi)核上的累積占用時(shí)間 (單位:秒) |
container_cpu_system_seconds_total | counter | System CPU累積占用時(shí)間(單位:秒) |
container_cpu_user_seconds_total | counter | User CPU累積占用時(shí)間(單位:秒) |
container_fs_usage_bytes | gauge | 容器中文件系統(tǒng)的使用量(單位:字節(jié)) |
container_fs_limit_bytes | gauge | 容器可以使用的文件系統(tǒng)總量(單位:字節(jié)) |
container_fs_reads_bytes_total | counter | 容器累積讀取數(shù)據(jù)的總量(單位:字節(jié)) |
container_fs_writes_bytes_total | counter | 容器累積寫入數(shù)據(jù)的總量(單位:字節(jié)) |
container_memory_max_usage_bytes | gauge | 容器的最大內(nèi)存使用量(單位:字節(jié)) |
container_memory_usage_bytes | gauge | 容器當(dāng)前的內(nèi)存使用量(單位:字節(jié) |
container_spec_memory_limit_bytes | gauge | 容器的內(nèi)存使用量限制 |
machine_memory_bytes | gauge | 當(dāng)前主機(jī)的內(nèi)存總量 |
container_network_receive_bytes_total | counter | 容器網(wǎng)絡(luò)累積接收數(shù)據(jù)總量(單位:字節(jié)) |
container_network_transmit_bytes_total | counter | 容器網(wǎng)絡(luò)累積傳輸數(shù)據(jù)總量(單位:字節(jié)) |
1、創(chuàng)建prometheus
存儲(chǔ)數(shù)據(jù)外掛目錄,避免容器重啟丟失:
mkdir -p /disk/docker-monitor/prometheus/datachmod 777 /disk/docker-monitor/prometheus/data
2、prometheus配置文件外掛出來(lái),方便修改,vi /disk/docker-monitor/prometheus/prometheus.yml
:
global: scrape_interval: 15s evaluation_interval: 15s alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093rule_files: - rule/record/*.ymlscrape_configs: - job_name: "prometheus" static_configs: - targets: ["localhost:9090"] - job_name: "cadvisor" static_configs: - targets: ["124.222.45.207:8080"]
?job_name: "prometheus"配置抓取Prometheus自身相關(guān)指標(biāo);job_name: "cadvisor"配置抓取之前配置的cAdvisor組件指標(biāo)。?
3、Docker
部署Prometheus
:
docker run -d -p 9090:9090 --name prometheus \ -v /disk/docker-monitor/prometheus/conf:/opt/bitnami/prometheus/conf \ -v /disk/docker-monitor/prometheus/data:/opt/bitnami/prometheus/data \ bitnami/prometheus:2.42.0 \ --web.enable-lifecycle --web.enable-admin-api\ --config.file=/opt/bitnami/prometheus/conf/prometheus.yml\ --storage.tsdb.path=/opt/bitnami/prometheus/data
?--web.enable-lifecycle --web.enable-admin-api提供rest api接口方式管理prometheus,比如配置熱加載:curl -XPOST http://localhost:9090/-/reload。注意:這里將prometheus配置文件和存儲(chǔ)目錄外掛出來(lái),避免容器重啟后數(shù)據(jù)丟失。?
4、Prometheus
啟動(dòng)完成后,瀏覽器訪問(wèn):
訪問(wèn)Status -> Targets
頁(yè)面,發(fā)現(xiàn)配置的兩個(gè)抓取Job
已經(jīng)顯示,并且State
是綠色UP
,則接入成功。
5、當(dāng)能夠正常采集到cAdvisor
的樣本數(shù)據(jù)后,可以通過(guò)以下表達(dá)式計(jì)算容器的CPU使用率
:sum(irate(container_cpu_usage_seconds_total{image!=""}[1m])) without (cpu)
1、部署Grafana
:
docker run -d --name=grafana -p 3000:3000 -v grafana:/var/lib/grafana grafana/grafana
?/var/lib/grafana路徑外掛出來(lái),該目錄存儲(chǔ)Grafana插件、數(shù)據(jù)信息,避免Docker容器重啟數(shù)據(jù)丟失。?
2、訪問(wèn):http://自己的IP:3000/login
,輸入賬號(hào)admin/admin
:
3、創(chuàng)建Prometheus
類型數(shù)據(jù)源,指向剛才搭建的Prometheus
:
4、導(dǎo)入Docker
容器監(jiān)控面板,這里使用11277
:
5、監(jiān)控面板就可以看到Docker
容器運(yùn)行情況,如下圖,當(dāng)前運(yùn)行中容器有4個(gè),總占用內(nèi)存319MB
,總CPU使用率
大概1.84%,并以曲線方式展示每個(gè)容器的CPU使用率
、內(nèi)存使用率、網(wǎng)絡(luò)IO和磁盤IO等。
關(guān)鍵詞:
凡本網(wǎng)注明“XXX(非中國(guó)微山網(wǎng))提供”的作品,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和其真實(shí)性負(fù)責(zé)。
恒生指數(shù)午后跌幅擴(kuò)大至1%,恒生科技指數(shù)跌約0 5%,騰訊控股跌2 3%,阿里巴巴跌1 7%。
2023-04-24 13:44
關(guān)于天美暫緩NXS項(xiàng)目研發(fā)的傳言,騰訊方面回應(yīng)稱:該消息為不實(shí)信息,項(xiàng)目還在正常推進(jìn)中。此前有媒體報(bào)道
2023-04-24 13:24
阿里巴巴集團(tuán)副總裁、天貓精靈總裁彭超在一場(chǎng)全國(guó)工商聯(lián)活動(dòng)中透露:此前“鳥鳥分鳥”使用的個(gè)性化大模型,
2023-04-24 13:26
股市大擴(kuò)容是利好還是利空?股市大擴(kuò)容,毫無(wú)疑問(wèn),對(duì)股市當(dāng)然是利空。大擴(kuò)容,意思就是擴(kuò)大規(guī)模,那么就會(huì)改變股市的供求關(guān)系,股票變多了
2023-04-24 13:42
港股為什么估值低?港股市場(chǎng)只是相對(duì)A股估值較低,港股的估值低是結(jié)構(gòu)性的,并非是所有股票都低。而且港股的市盈率低并不表示估值就一定低,
2023-04-24 13:33
被套的股票如何解套?一:忍痛止損割肉離場(chǎng),弊端是有可能是以比買進(jìn)時(shí)低很多的價(jià)格賣出,稍微有點(diǎn)得不償失,不過(guò)卻是解套的好方法。二:堅(jiān)
2023-04-24 13:30
市凈率市盈率市銷率的關(guān)系是什么?從理論上來(lái)說(shuō),市凈率、市盈率、市銷率三種指標(biāo)會(huì)呈現(xiàn)出正相關(guān)性,因?yàn)橐患疑鲜泄镜匿N量上來(lái)了,對(duì)提高
2023-04-24 13:28
股票凍結(jié)是利好嗎?股票被凍結(jié)是利好還是利空,不可一概而論。要是大股東違規(guī)控制股市被發(fā)現(xiàn)二凍結(jié)了股票的化,不用多說(shuō),肯定是利空了。要
2023-04-24 13:26
國(guó)際數(shù)據(jù)公司(IDC)最新發(fā)布的《中國(guó)視頻云市場(chǎng)跟蹤,2022下半年》報(bào)告顯示,2022下半年中國(guó)視頻云市場(chǎng)規(guī)模
2023-04-24 12:44
藍(lán)鯨1號(hào)、深藍(lán)1號(hào)、耕海1號(hào)、國(guó)信1號(hào)……在山東3500多公里的海岸線上,誕生了諸多編號(hào)為“1”的大國(guó)重器。
2023-04-24 12:00