1. 相关概念概述
如图所示,点击切换菜单标志,可以看到警报相关子选项。
-
警报规则:通过PromQL语句定义告警规则,即达到怎样的状态触发告警。
-
联络点: 设置当警报规则实例触发时,如何通知联系人,支持的方式有发送邮件,钉钉机器人消息,slack,webhook等。
-
通过策略: 定义警报如何路由到联络点。例如如何匹配告警示例,设置关联联络点,设置group,通知时间控制。
-
静默:设置静默时间段,再指定的时间阻止一个或多个警报通知。
-
组:查看来自 Alertmanager(警报管理器)实例的分组警报。
-
管理员: Alertmanager配置设置与查看。
2. 设置告警
设置告警没有固定的流程,我们按照菜单从上至下的顺序依次进行创建和设置。
2.1 创建警报规则
2.1.1 Rule name
我们设置一个发现有pod异常的警报规则,设置警报规则名:pod_abnormal
2.1.2 Define query and alert condition
设置查询语句和警报触发条件。如图所示:
选择数据源:Prometheus
查询语句为:cluster:pod_abnormal:sum,这是一个prometheus的recording rule返回异常的pod数量,这个语句返回内容没有label所以label fillters不设置。grafana页面功能很全,设置其他告警内容的话可以根据页面提示选择需要的指标和label过滤所需的数据。
grafana同一个警报规则下支持设置多个数据源的数据查询,点击Add query即可添加另一个数据源及查询语句。
然后设置Expressions(表达式),指定警报触发的条件,Expressions支持一些类型:
Reduce: 将所选时间范围内的时间序列值聚合为单个值,支持的Function包含Min、Max、Last等具体含义可看页面解释。
Math:对时间序列和数字数据执行自由形式的数学函数/操作。可用于预处理时间序列数据或为数字数据定义警报条件。
Resample:将时间范围重新对齐到一组新的时间戳,这在比较来自不同数据源的时间序列数据时非常有用,否则时间戳不会对齐。其中包括Downsample&#