zoukankan      html  css  js  c++  java
  • Prometheus入门到放弃(4)之cadvisor监控docker容器

    Prometheus监控docker容器运行状态,我们用到cadvisor服务,cadvisor我们这里也采用docker方式直接运行。

    1、下载镜像

    [root@prometheus-server ~]# docker pull google/cadvisor

    2、运行

    cadvisor我们需要运行在docker宿主机上(与node_exporter类似),然后通过HTTP方式供Prometheus获取数据

    [root@prometheus-server ~]# 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 
    --volume=/cgroup:/cgroup:ro
    --privileged=true
    --publish=9101:8080 --detach=true --name=cadvisor google/cadvisor

    注意:这里是把容器8080端口映射到主机9101,cadvisor有web界面地址:http://IP:9101

    3、配置 Prometheus 添加docker容器监控目标

    [root@prometheus-server ~]# vim /etc/prometheus/prometheus.yml 
    .....
    ### 新增对对docker容器的监控
    - job_name: 'docker' static_configs: - targets: ['172.16.11.248:9101','10.10.0.13:9101'] ## 目标主机

    然后重启prometheus,看Prometheus界面targets是否有新增加的主机

    4、接入Grafana展示容器监控数据

    这里我们去Grafana官网,找别人做好的Dashboard模板,地址:https://grafana.com/dashboards/4170,下载模板json文件然后导入本地Grafana。关于导入Dashbozrd模板参考https://www.cnblogs.com/tchua/p/11115146.html

    模板导入后需要修改几个地方:

      1)修改label_values(up{job="container"}, instance),container改为对应的值,可以通过Prometheus界面查询具体的job对应名称。

       2)修改监控图形中公式值,因为该模板不是基于最新版Node_exporter开发,有些值并不适用,我们需要修改对应的值,具体我们也可以通过Prometheus查询界面确定value值。

     5、查看Dashboard面板

    可以看到不仅可以监控node节点容器的信息,还可以简单展示dokcer容器宿主机的系统状况,并可以在左上角Node处选择不同的node节点查看不同的node节点上的docker运行信息。

  • 相关阅读:
    深入理解ASP.NET Core依赖注入
    Docker Swarm 从入门到放弃
    Asp.net Core全局异常监控和记录日志
    NServiceBus+RabbitMQ开发分布式应用
    NServiceBus+Saga开发分布式应用
    使用NServiceBus开发分布式应用
    springboot自动配置原理
    SpringMVC 源码解析
    instruments symbol name 不显示函数名!
    ld: framework not found FileProvider for architecture arm64
  • 原文地址:https://www.cnblogs.com/tchua/p/11120228.html
Copyright © 2011-2022 走看看