zoukankan      html  css  js  c++  java
  • Prometheus监控Docker服务(五)

    一、使用cAdvisor(Container Advisor)收集正在运行的容器资源使用和性能信息。

    https://github.com/google/cadvisor

    运行单个cAdvisor来监控整个Docker主机,默认的监听端口为8080

    # docker run 
      --volume=/:/rootfs:ro 
      --volume=/var/run:/var/run:ro 
      --volume=/sys:/sys:ro 
      --volume=/var/lib/docker/:/var/lib/docker:ro 
      --volume=/dev/disk/:/dev/disk:ro 
      --publish=8080:8080 
      --detach=true 
      --name=cadvisor 
      google/cadvisor:latest
    
    # docker ps
    CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS              PORTS                                      NAMES
    736e45251dd4        google/cadvisor:latest   "/usr/bin/cadvisor -…"   20 seconds ago      Up 16 seconds       0.0.0.0:8080->8080/tcp                     cadvisor
    64b6b784dcb0        tengine2.2:v2            "nginx -g 'daemon of…"   5 months ago        Up 5 months         0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   nginx
    c864cd8e4f09        php55:v13                "php-fpm"                5 months ago        Up 5 months         0.0.0.0:9000->9000/tcp                     php

    查看metrics:

    http://192.168.5.85:8080/metrics

     二、修改prometheus配置文件

    # vim /usr/local/prometheus/prometheus.yml 
    # my global config
    global:
      scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
      evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
    
    alerting:
      alertmanagers:
      - static_configs:
        - targets:
          # - alertmanager:9093
    
    rule_files:
      # - "first_rules.yml"
      # - "second_rules.yml"
    
    scrape_configs:
      - job_name: 'prometheus'
    
        # metrics_path defaults to '/metrics'
        # scheme defaults to 'http'.
    
        static_configs:
        - targets: ['192.168.5.237:9090']
    
      - job_name: 'node'
        file_sd_configs:
        - refresh_interval: 30s
          files:
          - "/usr/local/prometheus/sd_config/node*.yml"
    # 增加要监控的docker主机
      - job_name: 'docker'
        static_configs:                                                                                                                     
        - targets: ['192.168.5.85:8080']   
    
    # 检查配置文件
    # /usr/local/prometheus/promtool check config /usr/local/prometheus/prometheus.yml 
    Checking /usr/local/prometheus/prometheus.yml
      SUCCESS: 0 rule files found
    
    # 重启服务
    # systemctl restart prometheus.service 

    targets中已经能查到docker主机的信息了

     

     三、配置Grafana图表盘

     修改名称及数据源等信息后点击import

     能查到主机上所有运行容器的CPU、内存、和网络的使用情况

  • 相关阅读:
    SSH整合简述一
    错误:找不到类org.springframework.web.context.ContextLoaderListener
    Spring(七)持久层
    CSS 类选择器(四)
    BeanFactory not initialized or already closed
    Spring(六)AOP切入方式
    Postman Mock Server
    Sentry快速开始并集成钉钉群机器人
    OAuth2实现单点登录SSO
    图解TCP三次握手
  • 原文地址:https://www.cnblogs.com/cyleon/p/12864720.html
Copyright © 2011-2022 走看看