docker部署Prometheus+Cadvisor+Grafana实现服务器监控

 更新时间:2023年11月15日 10:38:28   作者:huaweichenai  
这篇文章主要为大家介绍了docker部署Prometheus+Cadvisor+Grafana实现服务器监控,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

Prometheus

Prometheus是一个在SoundCloud上构建的开源系统监视和警报工具包

特点

  • 多维度数据模型-由指标键值对标识的时间序列数据组成;
  • PromQL,一种灵活的查询语言;
  • 不依赖分布式存储; 单个服务器节点是自治的;
  • 以HTTP方式,通过pull模型拉取时间序列数据;
  • 支持通过中间网关推送时间序列数据;
  • 通过服务发现或者静态配置,来发现目标服务对象;
  • 支持多种多样的图表和界面展示。

docker部署Prometheus

(1)拉取Prometheus

docker pull prom/prometheus

(2)配置Prometheus

新建一个prometheus.yml

global:
  # 每15s获取一次数据指标
  scrape_interval: 15s
  # 获取数据超时时长 10s
  scrape_timeout: 10s
  # 规则评估评率,即计算指标是否有触发规则的计算频率
  evaluation_interval: 15s

# 规则文件,从所有匹配的文件中读取规则和警报
rule_files:
  - "alert_rules.yml"

# 采集配置列表
scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ['localhost:9090']

  - job_name: 'node'
    scrape_interval: 8s
    static_configs:
      - targets: ['node-exporter:9100']

  - job_name: 'cadvisor'
    static_configs:
      - targets: ['cadvisor:8080']

新建一个规则文件alert_rules.yml

groups:
- name: targets
  rules:
  - alert: monitor_service_down
    expr: up == 0
    for: 30s
    labels:
      severity: critical
    annotations:
      summary: "Monitor service non-operational"
      description: "Service {{ $labels.instance }} is down."

- name: host
  rules:
  - alert: high_cpu_load
    expr: node_load1 > 1.5
    for: 30s
    labels:
      severity: warning
    annotations:
      summary: "Server under high load"
      description: "Docker host is under high load, the avg load 1m is at {{ $value}}. Reported by instance {{ $labels.instance }} of job {{ $labels.job }}."

  - alert: high_memory_load
    expr: (sum(node_memory_MemTotal_bytes) - sum(node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes) ) / sum(node_memory_MemTotal_bytes) * 100 > 85
    for: 30s
    labels:
      severity: warning
    annotations:
      summary: "Server memory is almost full"
      description: "Docker host memory usage is {{ humanize $value}}%. Reported by instance {{ $labels.instance }} of job {{ $labels.job }}."

  - alert: high_storage_load
    expr: (node_filesystem_size_bytes{fstype="aufs"} - node_filesystem_free_bytes{fstype="aufs"}) / node_filesystem_size_bytes{fstype="aufs"}  * 100 > 85
    for: 30s
    labels:
      severity: warning
    annotations:
      summary: "Server storage is almost full"
      description: "Docker host storage usage is {{ humanize $value}}%. Reported by instance {{ $labels.instance }} of job {{ $labels.job }}."

(3)运行Prometheus

docker run -d --name=prometheus -p 9090:9090 -v ./prometheus[创建的配置文件目录]:/etc/prometheus -v ./opt/data/prometheus[prometheus数据需要存储的地址]:/prometheus prom/prometheus

(4)访问Prometheus

访问127.0.0.1:9090如下表示安装成功

二:Cadvisor

 Cadvisor 是Google用来监测单节点资源信息的监控工具。 Cadvisor 提供了基础查询界面和http接口,方便其他组件如Grafana 、Prometheus等进行数据抓取。Cadvisor 可以对Docker主机上的资源及容器进行实时监控和性能数据采集,包括CPU使用情况、内存使用情况、网络吞吐量及文件系统使用情况等。Cadvisor 使用Go语言开发,利用Linux的Cgroups获取容器的资源使用信息。

特点

  • 可以展示主机和容器两个层次的监控数据。
  • 可以展示历史变化数据。
  • 谷歌公司的开源产品。
  • 监控指标齐全。
  • 方便部署,有官方的docker镜像。
  • 默认只在本地保存1分钟数据,可以集成InfluxDB等第三方存储使用。

docker部署Cadvisor

(1)拉取Cadvisor

docker pull google/cadvisor

(2)运行Cadvisor

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

(3)访问Cadvisor

访问127.0.0.1:8080如下表示安装成功

三:Grafana

Grafana是一个可视化面板(Dashboard)工具,有着非常漂亮的图表和布局等展示功能,功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB等组件作为数据源。

特点

  • 灵活丰富的图形化选项;
  • 可以混合多种风格;
  • 支持白天和夜间模式;
  • 支持多个数据源;

docker部署Grafana

(1)拉取Grafana

docker pull grafana/grafana

(2)运行Grafana

docker run -d --name=grafana -p 3000:3000 grafana/grafana

(3)访问Grafana

访问127.0.0.1:3000如下表示安装成功(默认账号密码都为admin)

(4)Grafana配置

1.添加Prometheus数据源 Connections -> Data sources -> Add new data source -> 选择Prometheus 设置Prometheus server URL 为http://prometheus:9090然后保存

2.添加Dashboards仪表板 Dashboards -> import -> 导入仪表板 可用的仪表版模板:

Node Exporter Dashboard 220417 通用Job分组版

Docker monitoring with service selection

3.设置首页默认仪表板 Administration -> Default preferences -> 选择Home Dashboard

4.语言设置 用户头像 -> Profile -> 选择Language

参考  https://www.jb51.net/article/247492.htm

以上就是docker部署Prometheus+Cadvisor+Grafana实现服务器监控的详细内容,更多关于docker部署Prometheus+Cadvisor+Grafana实现服务器监控的资料请关注脚本之家其它相关文章!

相关文章

  • 容器管理工具 Rancher的安装与使用

    容器管理工具 Rancher的安装与使用

    这篇文章主要介绍了容器管理工具 Rancher的安装与使用,通过本文学习可以掌握基于Rancher的应用部署、扩容缩容操作,本文实例图文相结合给大家介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • Docker CentOS7的系统上安装部署以及基础教程

    Docker CentOS7的系统上安装部署以及基础教程

    这篇文章主要介绍了Docker CentOS7的系统上安装部署以及基础教程的相关资料,需要的朋友可以参考下
    2016-10-10
  • 使用Docker搭建Apache Kafka环境的详细过程

    使用Docker搭建Apache Kafka环境的详细过程

    这篇文章主要介绍了使用Docker搭建Apache Kafka环境,本文使用Docker技术创建单个Kafka节点和Kafka集群环境,并且使用可视化工具连接服务查看代理服务器的配置信息,需要的朋友可以参考下
    2022-10-10
  • Docker中部署flink集群的两种方式

    Docker中部署flink集群的两种方式

    这篇文章主要介绍了Docker中部署flink集群的两种方式,本文将通过 2 种方式在 docker 中部署 flink standalone 集群,集群中共有 4 个节点,分别是 1 个 jobManager 节点和 3 个 taskManager 节点,需要的朋友可以参考下
    2024-02-02
  • dockerfile部署前端vue打包的ist文件实战

    dockerfile部署前端vue打包的ist文件实战

    这篇文章主要为大家介绍了dockerfile部署前端vue打包的ist文件实战,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • 教你使用Jenkins集成Harbor自动发布镜像

    教你使用Jenkins集成Harbor自动发布镜像

    这篇文章主要介绍了Jenkins 集成 Harbor 自动发布镜像,主要包括Jenkins 脚本式发布镜像及Jenkins 插件式发布镜像的详细过程,本文结合图文实例给大家介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • docker容器如何配置hosts文件问题

    docker容器如何配置hosts文件问题

    这篇文章主要介绍了docker容器如何配置hosts文件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Docker大型项目容器化改造

    Docker大型项目容器化改造

    今天小编就为大家分享一篇关于Docker大型项目容器化改造,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • docker安装postgresql的图文教程

    docker安装postgresql的图文教程

    PostgreSQL也称为 Postgres,是领先的对象关系数据库系统,下面这篇文章主要给大家介绍了关于docker安装postgresql的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • Docker启动RabbitMQ实现生产者与消费者的详细过程

    Docker启动RabbitMQ实现生产者与消费者的详细过程

    这篇文章主要介绍了Docker启动RabbitMQ,实现生产者与消费者,通过Docker拉取镜像并启动RabbitMQ,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02

最新评论