gpt4 book ai didi

docker - 使用 prometheus 监控 docker - 不同容器的 cpu 使用率看起来相同

转载 作者:行者123 更新时间:2023-12-02 21:21:43 26 4
gpt4 key购买 nike

我的设置:

  • 普罗米修斯服务器
  • 2 个节点导出商
  • 格拉法纳

  • docker -compose.yml
    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

    Prometheus 服务器的 Dockerfile:
    FROM prom/prometheus
    ADD prometheus.yml /etc/prometheus/

    普罗米修斯.yml
    # 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 峰值,例如 this :
    docker container exec -it prom_node_exporter sh
    / # dd if=/dev/zero of=/dev/null

    我最终看到的是,这两个图表看起来非常相似:

    enter image description here

    我想 CPU 使用率应该比使用命令的容器高得多。这里出了什么问题?有什么建议么?

    最佳答案

    我假设您在同一主机上运行所有容器。节点导出器将导出主机信息 - 因此两个节点导出器将显示有关一台主机的相同信息。

    收集容器CPU使用率信息,请使用cAdvisor :它将允许您收集每个容器的 CPU 使用情况。

    您应该为每台主机运行一个 cAdvisor 以收集有关主机上容器的信息,并为每台主机运行一个节点导出器以收集有关主机的信息。

    关于docker - 使用 prometheus 监控 docker - 不同容器的 cpu 使用率看起来相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44805904/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com