Prometheus:监控与告警:12:使用cadvisor + Node Exporter进行监控

cadvisor和Node Exporter都可以提供监控数据,前者重点关注与容器的状态,后者关注与节点的状态,这篇文章使用Prometheus Server + cadvisor + Node Exporter + Grafana介绍如何进行设定以进行监控。

版本信息

本文验证使用的软件的版本信息如下所示:

软件 版本信息
Prometheus Server 2.15.1
cadvisor 0.33.0
Node Exporter 0.18.1
Grafana 6.5.2

事前准备

环境准备

  • Prometheus + cadvisor + Node Exporter
    docker-compose配置文件信息如下所示:
liumiaocn:nodecadvisor liumiao$ cat docker-compose.yml 
version: '2'

services:
    prometheus:
        image: prom/prometheus:v2.15.1
        privileged: true
        volumes:
            - ./prometheus.yml:/etc/prometheus/prometheus.yml
        command:
            - '--config.file=/etc/prometheus/prometheus.yml'
        ports:
            - '9090:9090'

    cadvisor:
        image: google/cadvisor:v0.33.0
        container_name: cadvisor
        restart: unless-stopped
        ports:
          - '8080:8080'
        volumes:
          - /:/rootfs:ro
          - /var/run:/var/run:rw
          - /sys:/sys:ro
          - /var/lib/docker/:/var/lib/docker:ro

    node-exporter:
        image: prom/node-exporter:v0.18.1
        ports:
            - '9100:9100'
liumiaocn:nodecadvisor liumiao$

而Prometheus所用到的配置文件信息如下所示, 使用时需要将IP替换为本机的IP

liumiaocn:nodecadvisor liumiao$ cat prometheus.yml 
global:
  scrape_interval:     10s
  evaluation_interval: 10s

scrape_configs:
  - job_name: 'node'
    static_configs:
      - targets: ['192.168.31.242:9100']
        labels:
          group: 'node_exporter'

  - job_name: 'cadvisor'
    static_configs:
      - targets: ['192.168.31.242:8080']
        labels:
          group: 'cadvisor_group'
liumiaocn:nodecadvisor liumiao$ 
  • 启动服务
liumiaocn:nodecadvisor liumiao$ docker-compose up -d
Creating network "nodecadvisor_default" with the default driver
Creating nodecadvisor_node-exporter_1 ... done
Creating cadvisor                     ... done
Creating nodecadvisor_prometheus_1    ... done
liumiaocn:nodecadvisor liumiao$ 
  • 服务确认
liumiaocn:nodecadvisor liumiao$ docker-compose ps
            Name                          Command                  State               Ports         
-----------------------------------------------------------------------------------------------------
cadvisor                       /usr/bin/cadvisor -logtostderr   Up (healthy)   0.0.0.0:8080->8080/tcp
nodecadvisor_node-exporter_1   /bin/node_exporter               Up             0.0.0.0:9100->9100/tcp
nodecadvisor_prometheus_1      /bin/prometheus --config.f ...   Up             0.0.0.0:9090->9090/tcp
liumiaocn:nodecadvisor liumiao$
  • Grafana的准备
    本文直接使用如下docker run命令进行启动,设定登录账号密码为:admin/liumiaocn

执行命令:docker run -p 3000:3000 -e “GF_SECURITY_ADMIN_PASSWORD=liumiaocn” --name=grafana -d grafana/grafana:6.5.2

  • 结果确认

Prometheus一旦和cadvisor、Node Exporter能够正常连通,可以在/targets下确认到UP的正常状态
在这里插入图片描述
也可以确认连接的cadvisor的指标详细信息
在这里插入图片描述
通过8080端口也可以看到cadvisor的监控信息
在这里插入图片描述

cadvisor的Grafana模版

使用方法

步骤1: 下载Grafana模版

点击Download JSON按钮进行下载
在这里插入图片描述

步骤2: 在Grafana中导入模版

点击左侧菜单中的Import菜单项
在这里插入图片描述
点击Upload JSON按钮选中刚刚下载的模版文件
在这里插入图片描述
选择已经配置的Prometheus的数据源,配置方法可参看:

只要Prometheus和Node Exporter能够正常动作,此时Grafana的模版就已经可以使用了
在这里插入图片描述
在这里插入图片描述

参考内容

https://prometheus.io/docs/guides/cadvisor/

发布了1020 篇原创文章 · 获赞 1288 · 访问量 398万+

猜你喜欢

转载自blog.csdn.net/liumiaocn/article/details/104051553