您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Prometheus怎么監(jiān)控Docker Swarm集群”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
為了解決容器的監(jiān)控問題,Google開發(fā)了一款容器監(jiān)控工具cAdvisor(Container Advisor),它為容器用戶提供了對其運行容器的資源使用和性能特征的直觀展示。它是一個運行守護程序,用于收集,聚合,處理和導出有關正在運行的容器的信息。
cAdvisor可以對節(jié)點機器上的資源及容器進行實時監(jiān)控和性能數(shù)據(jù)采集,包括CPU、內(nèi)存、網(wǎng)絡及文件系統(tǒng)使用情況。
cAdvisor使用go語言開發(fā),如果想了解更多請訪問其官方github
cAdvisor
有兩種方法來運行,一種是以二進制可執(zhí)行文件安裝運行,配置 systemd
來管理,另一種是以 Docker
容器運行,使用docker-compose來管理,在這里我們只講docker方式部署與管理方法。
我們可以通過以下命令來在實驗環(huán)境的虛擬機運行cAdvisor容器:
Docker方式啟動
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=18080:18080 \
--detach=true \
--name=cadvisor \
google/cadvisor:latest
以上的啟動方式對于管理來說稍顯繁瑣,為了方便管理,我們使用docker-compose來管理
安裝docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
mkdir -p /data/docker-monitor/
docker-compose文件
cat > docker-compose.yml <<EOF
version: '3.2'
volumes:
prometheus_data: {}
grafana_data: {}
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
ports:
- 9090:9090
command:
- --config.file=/etc/prometheus/prometheus.yml
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
depends_on:
- cadvisor
cadvisor:
image: google/cadvisor:latest
container_name: cadvisor
ports:
- 8080:8080
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
depends_on:
- redis
redis:
image: redis:latest
container_name: redis
ports:
- 6379:6379
EOF
# Prometheus.yml文件
cat > prometheus.yml <<EOF
global:
scrape_interval: 15s # 每15秒抓取一次數(shù)據(jù),默認值為1分鐘
evaluation_interval: 15s # 每15秒檢測一次可用性,默認值為1分鐘
scrape_timeout: 60s # 抓取的超時時間
# Alertmanager
alerting:
alertmanagers:
- static_configs:
#- targets: ['127.0.0.1:9093']
# 抓取配置配置
scrape_configs:
- job_name: 'cadvisor'
scrape_interval: 10s
static_configs:
- targets: ['localhost:8080']
labels:
instance: 'cadvisor-server'
alias: 'cadvisor'
EOF
# 啟動
docker-compose up -d
docker會自動去pull images,需要等一會,等待啟動完成后,我們直接可以訪問 http://192.168.1.220:8080
以上是我們?yōu)榱舜蠹夷芰私鈊ocker是如何監(jiān)控實現(xiàn)的方法的,現(xiàn)在我們進入docker監(jiān)控具體環(huán)節(jié),GitHub上已經(jīng)有了已經(jīng)配置好的開源,直接拿來用即可。
git clone https://github.com/stefanprodan/dockprom.git
ADMIN_USER=admin ADMIN_PASSWORD=admin docker-compose up -d
先決條件:
Containers:
啟動完成以后,我們直接訪問http://192.168.1.220:3000端口,使用初始化的賬號密碼,admin:admin進入,此時會提示你修改密碼,修改成你需要的密碼即可。
redis:
image: redis:latest
container_name: redis
restart: unless-stopped
expose:
- 6379
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
# 重啟
docker-compose up -d
這時訪問CAdvisor,會發(fā)現(xiàn)container中已經(jīng)有了redis這個容器了。
“Prometheus怎么監(jiān)控Docker Swarm集群”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。