[英]Monitoring docker with prometheus - cpu usage looks the same for different containers
我的設置:
version: '2'
services:
prometheus_srv:
build: ./prom_serv
image: prom/prometheus
container_name: prometheus_server
hostname: prometheus_server
prometheus_node:
image: prom/node-exporter
container_name: prom_node_exporter
hostname: prom_node_exporter
depends_on:
- prometheus_srv
prometheus_node2:
image: prom/node-exporter
container_name: prom_node_exporter2
hostname: prom_node_exporter2
depends_on:
- prometheus_node
grafana:
image: grafana/grafana
container_name: grafana_server
hostname: grafana_server
depends_on:
- prometheus_node2
FROM prom/prometheus
ADD prometheus.yml /etc/prometheus/
# Load and evaluate rules in this file eve
scrape_configs:
# Scrape Prometheus itself
- job_name: 'prometheus'
scrape_interval: 10s
scrape_timeout: 10s
static_configs:
- targets: ['localhost:9090']
# Scrape the Node Exporter
- job_name: 'node'
scrape_interval: 10s
static_configs:
- targets: ['prom_node_exporter:9100']
# Scrape the Node Exporter2
- job_name: 'node2'
scrape_interval: 10s
static_configs:
- targets: ['prom_node_exporter2:9100']
在將Prometheus數據源添加到Grafana之后,我添加了一個新儀表板,其中包含2個CPU使用情況圖,每個節點導出器一個:
100 - (avg by (instance) (irate(node_cpu{job="node",mode="idle"}[5m])) * 100)
100 - (avg by (instance) (irate(node_cpu{job="node2",mode="idle"}[5m])) * 100)
並嘗試生成第一個節點導出器的CPU峰值,如下所示 :
docker container exec -it prom_node_exporter sh
/ # dd if=/dev/zero of=/dev/null
我最終看到的是,兩個圖看起來非常相似:
我認為CPU使用率應該比使用該命令的容器高得多。 這里出什么問題了? 有什么建議么?
我假設您正在同一主機上運行所有容器。 節點導出器將導出主機信息-因此,兩個節點導出器將顯示有關一個主機的相同信息。
要收集有關容器CPU使用率的信息,請使用cAdvisor :它將允許您收集每個容器的CPU使用率。
您應該為每個主機運行一個cAdvisor,以收集有關主機上容器的信息,並且為每個主機運行一個節點導出器,以收集有關主機的信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.