docker服務(wù)監(jiān)控中的cAdvisor詳解
概述
cAdvisor(Container Advisor)是谷歌開源的一款容器資源監(jiān)控工具,它可以收集容器的 CPU、內(nèi)存、磁盤 I/O、網(wǎng)絡(luò)等資源使用情況的信息,并提供了一個(gè)直觀的 Web 界面來展示這些數(shù)據(jù),方便用戶快速了解容器的運(yùn)行狀態(tài)。
特點(diǎn)
資源監(jiān)控:能實(shí)時(shí)監(jiān)控容器的各項(xiàng)資源使用情況,包括 CPU 使用率、內(nèi)存使用量、磁盤讀寫速率、網(wǎng)絡(luò)帶寬等。例如,通過它可以查看某個(gè)容器是否占用了過多的 CPU 資源,導(dǎo)致其他容器運(yùn)行緩慢。
容器拓?fù)浣Y(jié)構(gòu)展示:可以展示容器之間的關(guān)系以及它們與宿主機(jī)的關(guān)系,使用戶清晰地了解容器的部署情況。
歷史數(shù)據(jù)存儲(chǔ)與查詢:支持將監(jiān)控?cái)?shù)據(jù)存儲(chǔ)到后端數(shù)據(jù)庫中,如 InfluxDB,以便用戶查詢歷史數(shù)據(jù),分析容器資源使用的趨勢(shì)。
支持多種運(yùn)行環(huán)境:不僅支持 Docker 容器,還能用于其他容器化技術(shù),如 runc、systemd-nspawn 等,具有很強(qiáng)的通用性。
工作原理
cAdvisor 通過收集宿主機(jī)和容器的相關(guān)信息來實(shí)現(xiàn)監(jiān)控功能。它利用了 Linux 系統(tǒng)的 cgroups(控制組)來獲取容器的資源使用數(shù)據(jù)。cgroups 為每個(gè)容器分配了獨(dú)立的資源限制和統(tǒng)計(jì)信息,cAdvisor 通過讀取這些信息來了解容器對(duì) CPU、內(nèi)存、磁盤等資源的使用情況。同時(shí),它還利用了 Linux 的網(wǎng)絡(luò)協(xié)議棧來收集網(wǎng)絡(luò)相關(guān)的統(tǒng)計(jì)數(shù)據(jù)。
部署cAdvisor監(jiān)控Docker
這里不要使用Google的cadvisor,否則會(huì)報(bào)
F0501 07:18:47.974792 1 cadvisor.go:146] Failed to create a Container Manager: mountpoint for cpu not found
我這里使用lagoudocker/cadvisor:v0.37.0解決的
# 運(yùn)行容器 [root@lb ~]# 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 \ lagoudocker/cadvisor:v0.37.0 # 查看 [root@lb ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b1d70b85c056 lagoudocker/cadvisor:v0.37.0 "/usr/bin/cadvisor -…" 6 seconds ago Up 6 seconds (health: starting) 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp cadvisor
直接訪問http://10.0.0.10:8080/

到此這篇關(guān)于docker服務(wù)監(jiān)控中的cAdvisor詳解的文章就介紹到這了,更多相關(guān)docker服務(wù)監(jiān)控cAdvisor內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
linux下使用Docker Compose部署Spug實(shí)現(xiàn)公網(wǎng)遠(yuǎn)程訪問的過程
這篇文章主要介紹了linux下使用Docker Compose部署Spug實(shí)現(xiàn)公網(wǎng)遠(yuǎn)程訪問,本例演示搭建使用docker compose 方式安裝Spug,并結(jié)合cpolar,需要的朋友可以參考下2023-11-11
Docker 部署 Elasticsearch 9 的搭建過程
本文詳解Elasticsearch 9.x在Linux上通過Docker部署流程,涵蓋新特性如Lucene10優(yōu)化、BBQ提升向量搜索、EDOT支持多云監(jiān)控等,并指導(dǎo)配置安全認(rèn)證與訪問權(quán)限,感興趣的朋友跟隨小編一起看看吧2025-06-06
docker安裝并持久化postgresql數(shù)據(jù)庫的操作步驟
這篇文章主要介紹了docker安裝并持久化postgresql數(shù)據(jù)庫的操作步驟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
如何使用Docker定時(shí)備份數(shù)據(jù)
這篇文章主要介紹了如何使用Docker定時(shí)備份數(shù)據(jù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-04-04
Gitlab-runner+Docker實(shí)現(xiàn)自動(dòng)部署SpringBoot項(xiàng)目
這篇文章主要介紹了Gitlab-runner+Docker自動(dòng)部署SpringBoot項(xiàng)目,我們的主要流程就是通過Gitlab管理代碼,然后利用Gitlab自帶的Gitlab?CI/CD功能與GitlabRunner進(jìn)行注冊(cè)綁定,需要的朋友可以參考下2022-04-04

