zoukankan      html  css  js  c++  java
  • prometheus监控docker的状态2020-06-17

    参考课程来源:https://www.bilibili.com/video/BV1T54y1Q7VY

    1.prometheus

    prometheus是监控系统,也是时间序列数据库

    prometheus.yml配置文件,关于配置文件,也可以参考官方文档:https://prometheus.io/docs/prometheus/latest/configuration/configuration/

    global:
      # How frequently to scrape targets by default.
      scrape_interval: 15s  
    
      # How frequently to evaluate rules.
      evaluation_interval: 15s
    
    # Rule files specifies a list of globs. Rules and alerts are read from
    # all matching files.
    rule_files:
      # - "first_rules.yml"
      # - "second_rules.yml"
    
    # A list of scrape configurations.
    scrape_configs:
      - job_name: 'prometheus'
      static_configs:
      - targets:['localhost:9090']
    
    # Alerting specifies settings related to the Alertmanager.
    alerting:  
      alertmanagers:
        - targets:
      # - alertmanager:9093

    prometheus配置文件说明,参考自官方文档

    创建prometheus容器,请注意prometheus.yml配置文件存放的位置

    sudo docker run -d 
    --name=prometheus 
    --restart=always 
    -p 9090:9090 
    -v /root/docker/temp/prometheus.yml:/etc/prometheus/prometheus.yml 
    prom/prometheus

    运行效果

    打开服务器的9090端口,能看到只监控自己本身(即localhost:9090) 

    2.cAdvisor

    cAdvisor(Container Advisor)是Google开源,用于收集一台机器上所有运行的容器信息(cAdvisor只进行查看,并不做数据的保存,所以需要将cAdvisor的数据加载到Prometheus中)

    sudo docker run -d 
    --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 
    --restart=always 
    google/cadvisor:latest

    运行效果

    查看服务器的8080端口

    查看服务器的8080端口如果进入到服务器的http://172.17.130.131:8080/metrics地址,则可以看到监控的指标

    3.node-exporter

    node-expoter是prometheus开源的,能够提取到机器的信息

    docker run -d -p 9100:9100 
      -v "/proc:/host/proc:ro" 
      -v "/sys:/host/sys:ro" 
      -v "/:/rootfs:ro" 
      --net="host" 
      prom/node-exporter

    运行效果

    查看服务器地址:http://172.17.130.131:9100/metrics,也可以查看到node-export的监控指标

    修改配置文件prometheus.yml,增加了cAdvisor和node-expoter配置,修改如下(删除了部分注释),然后重启prometheus容器

    lobal:
      scrape_interval:     15s
      evaluation_interval: 15s
     
    scrape_configs:
      - job_name: prometheus
        static_configs:
          - targets: ['localhost:9090']
            labels:
              instance: prometheus
     
      - job_name: docker
        static_configs:
          - targets: ['172.17.130.131:8080']
            labels:
              instance: localhost
    
      - job_name: linux
        static_configs:
          - targets: ['172.17.130.131:9100']
            labels:
              instance: localhost  

    4.Grafana

    grafana是跨平台的开源试题分析和可视化工具,可以通过将采集的数据查询然后做可视化的展示。
    启动Grafana容器

    sudo docker run -d --name=grafana --restart=always -p 3001:3000 grafana/grafana

    运行效果

    进入到服务器的3001端口(原本是3000端口,因为服务器在占用3000端口,所以修改成3001)
    默认的用户名与密码都是admin,首次进入需要修改密码

    进入后新增数据源(Data Source)

    可以增加一个prometheus的数据源

    在prometheus中选择数据源为服务器的9090地址

    导入grafana,http://172.17.130.131:3001/dashboard/import
    Docker主机监控模板:193
    Linux主机监控模板:9276 8919 12227

     点击Load后,可以看到看板的信息

    Docker容器的看板

    有道云笔记地址:https://note.youdao.com/ynoteshare1/index.html?id=d91a9f59c0d6f208fdc42014c3870c59&type=note

  • 相关阅读:
    暑假快乐期刊(Android体温计特别篇)
    大二寒假作业之javaweb
    大二寒假作业之账本开发
    大二寒假作业之账本开发
    大二寒假作业之账本开发
    大二寒假作业之账本开发
    大二寒假作业之账本开发
    大二寒假作业之Android
    大二寒假作业之Android
    大二寒假作业之Android
  • 原文地址:https://www.cnblogs.com/weschen/p/13151122.html
Copyright © 2011-2022 走看看