Docker?監(jiān)控平臺(tái)部署的兩種實(shí)現(xiàn)步驟
一、Docker 自帶的監(jiān)控命令
1、docker ps
[root@docker ~]# docker ps
2、docker top <容器名>
[root@docker ~]# docker top mycentos
3、docker stats
[root@docker ~]# docker stats
優(yōu)點(diǎn)與缺點(diǎn)
- 優(yōu)點(diǎn):簡(jiǎn)單、快速查看容器狀態(tài)
- 缺點(diǎn):僅實(shí)時(shí)數(shù)據(jù),無(wú)法查看歷史趨勢(shì);功能有限
二、Docker 監(jiān)控解決方案:cAdvisor + Prometheus + Grafana
架構(gòu)說(shuō)明
- cAdvisor:數(shù)據(jù)采集器,收集容器和主機(jī)的資源使用情況
- Prometheus:時(shí)序數(shù)據(jù)庫(kù),存儲(chǔ)監(jiān)控?cái)?shù)據(jù)
- Grafana:數(shù)據(jù)可視化平臺(tái),展示監(jiān)控圖表
1、部署 cAdvisor
拉取并運(yùn)行 cAdvisor 容器
[root@docker ~]# docker pull google/cadvisor [root@docker ~]# docker run -d -v /:/rootfs:ro -v /var/run:/var/run:ro -v /sys:/sys:ro -v /var/lib/docker/:/var/lib/docker:ro -v /dev/disk/:/dev/disk:ro -p 8080:8080 --detach=true --name=cadvisor --privileged --device=/dev/kmsg google/cadvisor:latest
訪問(wèn)界面
http://<IP>:8080/containers/docker

cAdvisor 特點(diǎn)
- 展示主機(jī)和容器兩個(gè)層次的監(jiān)控?cái)?shù)據(jù)
- 支持歷史數(shù)據(jù)查看
- 界面簡(jiǎn)陋,但支持?jǐn)?shù)據(jù)導(dǎo)出(如 Prometheus)
2、部署 Prometheus
創(chuàng)建配置文件 /etc/prometheus/prometheus.yml
[root@docker ~]# mkdir -p /etc/prometheus [root@docker ~]# vim /etc/prometheus/prometheus.yml [root@docker ~]# chmod 777 /etc/prometheus/prometheus.yml [root@docker ~]# systemctl restart chronyd [root@docker ~]# systemctl enable chronyd [root@docker ~]# hwclock -w
global:
scrape_interval: 15s
evaluation_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets:
rule_files:
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['192.168.100.10:9090']
- job_name: 'cadvisor'
static_configs:
- targets: ['192.168.100.10:8080']
[root@docker ~]# docker pull prom/prometheus [root@docker ~]# docker run -itd --name prometheus -p 9090:9090 -v /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus:latest --config.file=/etc/prometheus/prometheus.yml --web.enable-lifecycle
訪問(wèn)界面
http://<IP>:9090/targets

- 查看數(shù)據(jù)源狀態(tài)(應(yīng)顯示
cAdvisor為 UP)
3、部署 Grafana
拉取并運(yùn)行 Grafana
[root@docker ~]# docker pull grafana/grafana [root@docker ~]# docker run -itd --name=grafana -p 3000:3000 grafana/grafana
訪問(wèn)界面
賬號(hào):admin
密碼:admin
登錄后重設(shè)密碼
http://<IP>:3000/login

配置數(shù)據(jù)源
點(diǎn)擊 Add your first data source

選擇 Prometheus

填寫(xiě) URL:http://<Prometheus_IP>:9090

點(diǎn)擊 “Save & Test”

導(dǎo)入儀表盤(pán)
點(diǎn)擊左側(cè) Dashboards 后,點(diǎn)擊 + Create dashboard

先點(diǎn)擊 Import a dashboard 后,再點(diǎn)擊 Discard

輸入儀表盤(pán)模板 ID :193

選擇剛剛配置的 Prometheus 數(shù)據(jù)源

查看監(jiān)控面板
顯示每個(gè)容器的 CPU、內(nèi)存、I/O 使用情況

獲取儀表盤(pán)模板ID
https://grafana.com/grafana/dashboards/

三、總結(jié)
- 推薦使用 cAdvisor + Prometheus + Grafana 組合,實(shí)現(xiàn) Docker 容器全方位監(jiān)控
- cAdvisor 負(fù)責(zé)數(shù)據(jù)采集,Prometheus 負(fù)責(zé)存儲(chǔ),Grafana 負(fù)責(zé)可視化
- Docker 自帶命令適合快速查看狀態(tài),但不適合長(zhǎng)期監(jiān)控與趨勢(shì)分析
- 監(jiān)控歷史數(shù)據(jù)有助于分析容器運(yùn)行狀況和性能瓶頸
- 若 Grafana 無(wú)數(shù)據(jù),請(qǐng)檢查 Docker 主機(jī)與監(jiān)控機(jī)時(shí)間是否同步
到此這篇關(guān)于Docker 監(jiān)控平臺(tái)部署的兩種實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)Docker 監(jiān)控平臺(tái)部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
安裝docker-ce報(bào)錯(cuò)yum倉(cāng)庫(kù)錯(cuò)誤問(wèn)題及解決
安裝Docker-CE時(shí),可能會(huì)因依賴(lài)軟件版本不足導(dǎo)致報(bào)錯(cuò),解決方法包括使用yum update更新軟件包,若倉(cāng)庫(kù)無(wú)該包則需更新repo源,也可通過(guò)yum install -y docker-ce --skip-broken跳過(guò)依賴(lài)更新直接安裝,若遇yum命令執(zhí)行報(bào)錯(cuò)2024-11-11
使用?Docker安裝?Zabbix并配置自定義監(jiān)控項(xiàng)的過(guò)程詳解
Zabbix?可以用來(lái)監(jiān)控各種網(wǎng)絡(luò)參數(shù),來(lái)保證服務(wù)器和系統(tǒng)的安全運(yùn)行,是一個(gè)基于?Web?界面提供的分布式系統(tǒng)監(jiān)控以及網(wǎng)絡(luò)監(jiān)控功能的企業(yè)級(jí)開(kāi)源解決方案,對(duì)Docker?安裝?Zabbix配置自定義監(jiān)控項(xiàng)相關(guān)知識(shí)感興趣的朋友一起看看吧2022-04-04
kubernetes1.5.2升級(jí)到kubernetes1.10一些主要的設(shè)定修改記錄
今天小編就為大家分享一篇關(guān)于kubernetes1.5.2升級(jí)到kubernetes1.10一些主要的設(shè)定修改記錄,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12
docker?環(huán)境搭建、docker?與容器常用指令大全(推薦)
這篇文章主要介紹了docker?環(huán)境搭建、docker?與容器常用指令大全,主要包括docker容器操作命令匯總,文中介紹需要注意的是如果想要?jiǎng)h除一個(gè)容器,需要先停止該容器且如果鏡像中有運(yùn)行狀態(tài)的容器,也是無(wú)法刪除容器的,需要的朋友可以參考下2022-06-06
docker imageid 和 digest區(qū)別解析
在Docker中,image ID和digest是兩個(gè)不同的標(biāo)識(shí)符,用于唯一標(biāo)識(shí)和引用Docker鏡像的不同方面,這篇文章主要介紹了docker imageid 和 digest區(qū)別,需要的朋友可以參考下2023-06-06
Docker基礎(chǔ) :網(wǎng)絡(luò)配置詳解
本篇文章將講述 Docker 的網(wǎng)絡(luò)功能,包括使用端口映射機(jī)制來(lái)將容器內(nèi)應(yīng)用服務(wù)提供給外部網(wǎng)絡(luò),以及通過(guò)容器互聯(lián)系統(tǒng)讓多個(gè)容器之間進(jìn)行快捷的網(wǎng)絡(luò)通信,有興趣的可以了解下。2017-02-02

