Prometheus概述
组件化设置:nginx ,ceph , Prometheus
部署Prometheus服务器
配置时间
安装Prometheus服务器
- 访问web页面:http://192.168.88.5:9090/
添加被监控端
-
监控方式:
- 拉取:pull。监控端联系被监控端,采集数据
- 推送:push。被监控端主动把数据发给监控端。在prometheus中,push的方式需要额外的组件pushgateway
-
被监控端根据自身运行的服务,可以运行不同的exporter(被监控端安装的、可以与Prometheus通信,实现数据传递的软件)
部署通用的监控exporter
Grafana
监控MySQL数据库
配置MySQL
配置mysql exporter
配置prometheus监控mysql
-
- node-exporter用于监控硬件和系统的常用指标
- exporter运行于被监控端,以服务的形式存在。每个exporter所使用的端口号都不一样
-
在Prometheus服务器上添加监控节点
- Grafana是一款开源的、跨平台的、基于web的可视化工具
- 展示方式:客户端图表、面板插件
- 数据源可以来自于各种源,如prometheus
自动发现机制
- 自动发现是指Prometheus自动对节点进行监控,不需要手动一个一个去添加,和Zabbix的自动发现、自动注册一个道理
- Prometheus有多种自动发现发现,比如
file_sd_configs
基于文件自动发现、基于K8S自动发现、基于openstack自动发现、基于consul自动发现等
基于文件自动发现
file_sd_configs
实现文件级别的自动发现- 使用文件自动发现功能后,Prometheus会定期检查配置文件是否有更新
- 如果有更新的话就将新加入的节点接入监控,服务端无需重启服务
修改Prometheus使用自动发现
- 创建自动发现规则文件
配置web2接受Prometheus监控
Alertmanager
- Prometheus服务器中的告警规则向Alertmanager发送告警。然后,Alertmanager管理这些告警,包括静默、抑制、分组以及通过电子邮件、即时消息系统和聊天平台等方法发出通知。
-
设置告警和通知的主要步骤是:
- 设置和配置Alertmanager
- 配置Prometheus与Alertmanager对接
- 在普罗米修斯中创建告警规则
-
在Prometheus中一条告警规则主要由以下几部分组成:
- 告警名称:用户需要为告警规则命名
- 告警规则:告警规则实际上主要由PromQL进行定义,其实际意义是当表达式(PromQL)查询结果持续多长时间(During)后出发告警
- 访问http://192.168.88.5:9093可以访问web配置页面