资讯专栏INFORMATION COLUMN

Prometheus+Grafana监控Docker容器

白马啸西风 / 605人阅读

一、监控系统概述

cAdvisor (Container Advisor) :用于收集正在运行的容器资源使用和性能信息。
开源地址:
https://github.com/google/cadvisor

Prometheus(普罗米修斯):容器监控系统。
官网地址:
https://prometheus.io
开源地址:https://github.com/prometheus

Grafana:是一个开源的度量分析和可视化系统。
开源地址:
https://grafana.com/grafana

cAdvisor (采集所有容器资源利用率,部署在每个docker主机上)->Prometheus(收集与存储)->Grafana(可视化展示)

二、监控系统部署

注:如果镜像拉取过慢,建议可以使用UCloud UHub镜像加速服务。推荐文章:UCloud UHub镜像库隐藏福利-海外容器镜像加速

2.1 Docker部署cAdvisor

[root@kvm ~]# 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 \
google/cadvisor:latest

http://$ip:8080

image.png

2.2 Docker部署Prometheus

#(1)首次运行Prometheus,并把/etc/prometheus配置copy出来
[root@kvm ~]# docker run -d \
--name=prometheus \
-p 9099:9090 \
prom/prometheus
 
[root@kvm ~]# docker cp prometheus:/etc/prometheus/prometheus.yml /data/prometheus/
[root@kvm ~]# docker stop prometheus
[root@kvm ~]# docker rm prometheus
 
#(2)再次运行Prometheus,将其配置文件持久化到本地,方便修改
[root@kvm ~]# docker run -d \
--name=prometheus \
-p 9099:9090 \
-v /data/prometheus/:/etc/prometheus/ \
uhub.service.ucloud.cn/starcto/prometheus:latest
# 修改prometheus配置
[root@kvm ~]# vim /data/prometheus/prometheus.yml
# 采样指标配置
global:
  scrape_interval: 15s
  evaluation_interval: 15s
 
# 告警配置
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093
 
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"
 
# 被监控端配置
scrape_configs:
  - job_name: "docker-monitor"           # job表示分组,通过job_name定义组名,给组员打上标签方便管理
    # metrics_path defaults to '/metrics'# 默认采集路径/metrics
    # scheme defaults to 'http'.         # 默认采集方式为http         
    static_configs:                     
      - targets: ["10.9.169.146:8080"]   # targets表示被监控端instances
 
[root@kvm ~]# docker restart prometheus
  • Prometheus默认去cAdvisor采集的地址为:http://$IP:8080/metrics

  • cAdvisor采集指标大多都是以container_开头的。

image.png

注:重启容器后,可以发现这里多了一个docker-monitor的监控组。并且打了docker-monitor标签。

2.3 Docker部署Grafana

[root@kvm ~]# docker run -d \
--name=grafana \
-p 3000:3000 \
grafana/grafana

三、Grafana展示

3.1 添加grafana数据源

image.png

3.2 监控docker主机模板

监控Docker主机模板ID:193
https://grafana.com/dashboards

四、监控多Docker主机

注:上述只监控了一台虚机,如果想要一个大盘监控多台虚机该怎么做呢?

4.1 被监控主机安装cAdvisor

[root@harbor-slave ~]# 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 \
google/cadvisor:latest

4.2 修改Prometheus配置

[root@kvm ~]# vim /data/prometheus/prometheus.yml
……
  - job_name: "docker-monitor"     
    static_configs:                     
      - targets: ["10.9.169.146:8080","192.168.0.164:8080"]  # 增加一个待监控节点
 
[root@kvm ~]# docker restart prometheus

image.png

注:此时发现已经多了一个节点~

4.3 grafana展示调整

  • 点击设置仪表盘

image.png

  • 列出所有被监控端

image.png

  • grafana设置多端监控

image.png

image.png

  • grafana大盘监控图做适配

  • image.png

  • 通过变量获取当前捕获的节点

  • image.png

注:其它大盘监控图调整方式相同~

image.png


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128125.html

相关文章

  • 容器监控实践—Prometheus数据可视化

    摘要:二可视化是一个开源的图表可视化系统,简单说图表配置比较方便生成的图表比较漂亮。 一. 概述 Prometheus自带了一个web服务,包括一个默认的dashboard,可以使用表达式查询并进行图表可视化,默认服务的地址为:http://prometheus_ip:9090 如下图: showImg(https://segmentfault.com/img/remote/14600000...

    URLOS 评论0 收藏0
  • 容器监控实践—Prometheus数据可视化

    摘要:二可视化是一个开源的图表可视化系统,简单说图表配置比较方便生成的图表比较漂亮。 一. 概述 Prometheus自带了一个web服务,包括一个默认的dashboard,可以使用表达式查询并进行图表可视化,默认服务的地址为:http://prometheus_ip:9090 如下图: showImg(https://segmentfault.com/img/remote/14600000...

    赵连江 评论0 收藏0
  • 容器监控实践—Prometheus数据可视化

    摘要:二可视化是一个开源的图表可视化系统,简单说图表配置比较方便生成的图表比较漂亮。 一. 概述 Prometheus自带了一个web服务,包括一个默认的dashboard,可以使用表达式查询并进行图表可视化,默认服务的地址为:http://prometheus_ip:9090 如下图: showImg(https://segmentfault.com/img/remote/14600000...

    dayday_up 评论0 收藏0
  • grafana+prometheus快速搭建MySql监控系统实践

    摘要:在和未普及之前,要实现的搭建确实要费一番工夫的,不过现在则很简单就可以实现的监控了。下载镜像使用方式下载极为方便,只需要执行如下命令即可,当然前提是需要安装了。 一、背景 对于LNMP环境下的开发者来说,mysql是非常重要的一环,同时mysql的性能监控也是开发者所需要关注的一环;如果大家使用阿里云的RDS会感觉到其监控功能非常好用,但如果开发者使用的是自建数据库,该怎么去搭建则需则...

    AdolphLWQ 评论0 收藏0
  • Grafana+prometheus+php 自动创建监控

    摘要:背景在监控系统实践文章当中已经实现了我们的第一个监控图表,现在我们有了一个新需求,需要对多个节点实现不同的监控,以及一个汇总的监控按照我们之前手动创建仪表盘的方法,每新增一个节点都需要手动去修改配置,并且需要去系统当中创建一个仪表盘,在节点 背景 在grafana+ prometheus+php 监控系统实践文章当中已经实现了我们的第一个监控图表,现在我们有了一个新需求,需要对多个节点...

    idealcn 评论0 收藏0
  • 管理和监控MySQL和MongoDB性能的开源平台Percona

    摘要:监控和管理概述监控和管理是一个用于管理和监控和性能的开源平台。是收集性能指标的。删除数据容器升级服务器先停再删,如果如要保留收集数据,不要执行此操作在和上安装客户端客户端是安装在您要监视的或主机上的一组代理和出口商。 Percona监控和管理概述 Percona监控和管理(PMM)是一个用于管理和监控MySQL和MongoDB性能的开源平台。 它由Percona与托管数据库服务,支持和...

    nifhlheimr 评论0 收藏0

发表评论

0条评论

白马啸西风

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<