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、内存、和网络的使用情况

  • 相关阅读:
    Nginx技术研究系列6-配置详解
    IBatis.Net 老技术新研究
    .Net 内存对象分析
    Nginx技术研究系列2-基于Redis实现动态路由
    hexo d 报错‘fatal: could not read Username for 'https://github.com': No error’
    从架构理解价值-我的软件世界观(转载)
    消息队列1:RabbitMQ解析并基于Springboot实战
    PostgreSQL之oracle_fdw安装与使用
    消息队列0:消息队列概述
    Java多线程1:进程和线程的区别
  • 原文地址:https://www.cnblogs.com/cyleon/p/12864720.html
Copyright © 2011-2022 走看看