prometheus管理平台
简介
本文主要介绍基于prometheus的监控系统,包括prometheus组件的使用,prometheus-manager-web管理平台,sendmessages告警发送模块,和prometheusExtr自动生成告警规则组件。
架构图
上图为监控系统架构图,本篇开始逐一介绍。
prmetheus-manager-web
prometheus-manager-web简称为pmweb,采用python2.7 django1.9编写,引用了pycharts画图。主要用于prometheus的配置管理、告警方式、告警规则管理、告警统计等。
功能介绍
登录界面
首页展示
本页主要统计近7天频发告警是哪些,便于针对频繁告警进行定向优化。
prometheus.yaml配置管理
本页主要实现prometheus.yaml配置和job组的配置管理。
查看prometheus.yaml配置
consul注册中心配置
部分应用监控已注册到consul,后通过prometheus自动发现服务添加监控来实现。
此页面为consul节点
此页面为维护所有consul中已注册的服务,可对已注册的服务进行启、停
监控主机添加
job组查询
监控主机查询
告警规则创建
告警规则管理
black-box-exporter管理
black-box主要用于icmp tcp监控
tcp监控
告警方式设置
告警方式基于job进行分组告警设置,告警方式分为Tel Ding,发送电话和钉钉告警,根据告警中的level与告警方式匹配。
告警时限
告警时限根据keyword进行告警规律,规定时间内屏蔽告警不发送。
特殊告警设置
根据告警中的service标签匹配,优先级高于job匹配告警方式。
联邦节点管理
此项管理prometheusClient,prometheusClient为flask编写客户端,维护小规模的prometheus联邦节点。
告警记录查询
通过此功能,可查看告警记录,及告警是否发送成功(此记录主要用于甩锅,不然别人收不到告警就说是你的告警系统没发)。
总结
以上是我对prometheus管理自动化的方式,前端为纯css js html5写的没有用前端框架,较丑。
下一篇介绍sendmessages,介绍如何发送告警。