一、背景介绍 上回分享的《五分钟打造高逼格的监控系统》,我们成功搭建并初步介绍了Prometheus+NodeExporter+Grafana框架体系,本回开始给大家分享Prometheus服务监控2个核心的功能:
1、监控结果查询语言(PromQL)基础; 2、Prometheus服务告警系统; 对应下图右侧的:PromQL和Alertmanager模块。 PromQL语言是我们使用Prometheus的基础,Alertmanager告警系统是我们最常用的功能。
二、监控结果查询语言:PromQL PromQL (Prometheus Query Language) 是 Prometheus 自己开发的数据查询 DSL 语言,语言表现力非常丰富,内置函数很多,在日常数据可视化以及告警配置中都会使用到它。 1、介绍2个常用PromQL的地方:
访问:http://你的Prometheus服务IP:9090/graph
我们可以看到如下页面,在第一个红框输入PromQL查询语句,点击"Execute"运行即可查看结果。我们也可以从"- insert metric at cursor -"直接选择常用的查询语句:
如进入上次部署的看板结果页面,点击右上角按钮再添加一项可视化面板,选择"Add Query"进入查询页面:
2、介绍一些常用的PromQL语句:
# 1.查询http请求总数:
3、关于PromQL语言 PromQL语言具体语法与其他常用语言类似,这里不展开介绍,这里推荐2个学习的文档,可以一边学习一边实践: 英文版本:
https://prometheus.io/docs/prometheus/latest/querying/basics/
当然也给大家奉上中文版本:
https://love2.io/@1046102779/doc/prometheus/prometheus/querying/basics.md
三、Prometheus服务告警系统 作为一个监控系统,最重要的功能,还是应该能及时发现系统问题,并及时通知给系统负责人,这就是 Alerting(告警)。Prometheus 的告警功能被分成两部分:
常见的接收方式有:邮件、企业微信、钉钉、Slack、WebHook等。
本文以邮件接收方式讲解告警系统的使用,其他告警接收方式配置可以依此举一反三,使用告警服务主要的步骤如下:
1、下载并配置 Alertmanager:
# 下载
global:
2、在 Prometheus 服务中配置告警规则并监听Alertmanager:
ALERT memory_high
# 在prometheus.yml文件rule_files节点添加加载刚才编写的规则:
alerting:
3、启动(或重新加载)Alertmanager和Prometheus服务:
# 启动Alertmanager
4、当系统触发了告警配置的规则时,我们会收到邮件通知。
四、写在最后 1、告警系统部署部分小编已经编写了自动化部署脚本,有需要的话可以关注【搜狗测试】公众号留言或添加下面官方微信号获取; 2、后续我们会在【搜狗测试】公众号持续分享Prometheus另外2大核心功能:Exporter实战和Pushgateway组件,敬请关注。