- 作者简介:我是团团儿,是一名专注于云计算领域的专业创作者,感谢大家的关注 •
- 座右铭: 云端筑梦,数据为翼,探索无限可能,引领云计算新纪元
- 个人主页:团儿.-CSDN博客
目录
##### 1)3个节点,全部部署node-EXporter,和cAdvisor.
##### 2)在docker01上部署Prometheus Server服务。
##### 3)在docker01上,部署grafana服务,用来展示prometheus收集到的数据。
修改 AlertManager 启动命令,将本地 alertmanager.yml 文件挂载到容器内指定位置
### Prometheus 配置 AlertManager 告警规则
然后,修改 prometheus.yml 配置文件,添加 rules 规则文件
很开心和大家分享Prometheus的相关内容哦~
本实验所要用到的镜像在 ↓↓↓
通过网盘分享的文件:prometheus111
链接: https://pan.baidu.com/s/13v3efJo1QigSrWSVyvT6Ag 提取码: wudd
前言:
随着云计算和容器化技术的飞速发展,Docker已经成为现代软件开发和部署不可或缺的一部分。然而,随着Docker容器的广泛应用,如何高效地监控和管理这些容器成为了新的挑战。
在众多监控工具中,Prometheus凭借其强大的监控能力、灵活的告警机制以及丰富的数据可视化功能,逐渐成为Docker监控领域的佼佼者。Prometheus不仅可以实时监控Docker容器的运行状态、资源使用情况等关键信息,还可以对异常情况进行及时告警,为运维人员提供了极大的便利。
本文档将详细介绍如何使用Prometheus对Docker进行高效监控。我们将从Prometheus的基本概念入手,逐步深入讲解其安装、配置、使用以及与其他工具的集成方法。同时,我们还将结合实际应用场景,分享一些实用的监控技巧和最佳实践,帮助读者更好地掌握Prometheus在Docker监控中的应用。
希望本文档能够为广大Docker运维人员提供一份实用的指南,助力大家更好地应对Docker监控的挑战,提升系统的稳定性和可靠性。
正文:
Prometheus(普罗米修斯)
prometheus官方网站:https://prometheus.io/
Prometheus是由SoundCloud开发的开源监控系统的开源版本。2016年,由Google发起的Linux基金会(Cloud Native Computing Foundation,CNCF)将Prometheus纳入其第二大开源项目。Prometheus在开源社区也十分活跃
易管理性:
Prometheus: Prometheus核心部分只有一个单独的二进制文件,可直接在本地工作,不依赖于分布式存储。
Nagios: 需要有专业的人员进行安装,配置和管理,并且过程很复杂。
业务数据相关性:
Prometheus:监控服务的运行状态,基于Prometheus丰富的Client库,用户可以轻松的在应用程序中添加对Prometheus的支持,从而让用户可以获取服务和应用内部真正的运行状态。
Nagios:大部分的监控能力都是围绕系统的一些边缘性的问题,主要针对系统服务和资源的状态以及应用程序的可用性。
另外Prometheus还存在以下优点:
高效:单一Prometheus可以处理数以百万的监控指标;每秒处理数十万的数据点。
易于伸缩:通过使用功能分区(sharing)+联邦集群(federation)可以对Prometheus进行扩展,形成一个逻辑集群;Prometheus提供多种语言的客户端SDK,这些SDK可以快速让应用程序纳入到Prometheus的监控当中。
良好的可视化:Prometheus除了自带有Prometheus UI,Prometheus还提供了一个独立的基于Ruby On Rails的Dashboard解决方案Promdash。另外最新的Grafana可视化工具也提供了完整的Proetheus支持,基于Prometheus提供的API还可以实现自己的监控可视化UI。
实验环境:
| 主机名称 | IP地址 | 安装组件 |
| -------- | ------------- | -------------------------------------------------- |
| docker1 | 192.168.8.10 | NodeEXporter、cAdvisor、Prometheus Server、Grafana |
| docker2 | 192.168.8.20 | NodeEXporter、cAdvisor |
| docker3 | 192.168.8.30 | NodeEXporter、cAdvisor |
全部关闭防火墙,禁用selinux。
需要部署的组件:
Prometheus Server: 普罗米修斯的主服务器。
NodeEXporter: 负责收集Host硬件信息和操作系统信息。
cAdvisor: 负责收集Host上运行的容器信息。
Grafana: 负责展示普罗米修斯监控界面。
##### 1)3个节点,全部部署node-EXporter,和cAdvisor.
//部署node-EXporter,收集硬件和系统信息。
docker run -d -p 9100:9100 --name exporter -v /proc:/host/proc -v /sys:/host/sys -v /:/rootfs --net=host prom/node-exporter --path.procfs /host/proc --path.sysfs /host/sys --collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)"
PS: 注意,这里使用了--net=host,这样Prometheus Server可以直接与Node-EXporter通信。
验证:打开浏览器验证结果。
http://192.168.8.20:9100
//部署安装cAdvisor,收集节点容器信息。
docker run -v /:/rootfs:ro -v /var/run:/var/run/:rw -v /sys:/sys:ro -v /var/lib/docker:/var/lib/docker:ro -p 8080:8080 --detach=true --name=cadvisor --net=host google/cadvisor
部署完成之后,打开浏览器验证。
http://192.168.8.20:8080