您好,登錄后才能下訂單哦!
本篇內容介紹了“Prometheus怎么監控Docker Swarm集群”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
為了解決容器的監控問題,Google開發了一款容器監控工具cAdvisor(Container Advisor),它為容器用戶提供了對其運行容器的資源使用和性能特征的直觀展示。它是一個運行守護程序,用于收集,聚合,處理和導出有關正在運行的容器的信息。
cAdvisor可以對節點機器上的資源及容器進行實時監控和性能數據采集,包括CPU、內存、網絡及文件系統使用情況。
cAdvisor使用go語言開發,如果想了解更多請訪問其官方github
cAdvisor
有兩種方法來運行,一種是以二進制可執行文件安裝運行,配置 systemd
來管理,另一種是以 Docker
容器運行,使用docker-compose來管理,在這里我們只講docker方式部署與管理方法。
我們可以通過以下命令來在實驗環境的虛擬機運行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秒抓取一次數據,默認值為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
以上是我們為了大家能了解docker是如何監控實現的方法的,現在我們進入docker監控具體環節,GitHub上已經有了已經配置好的開源,直接拿來用即可。
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,會發現container中已經有了redis這個容器了。
“Prometheus怎么監控Docker Swarm集群”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。