警报规则允许您根据 Prometheus 表达式语言表达式定义警报条件,并将有关触发警报的通知发送到外部服务。每当警报表达式在给定的时间点产生一个或多个向量元素时,警报对于这些元素的标签集算作活动。
prometheus对指标的收集、存储与告警能力分属于Prometheus serve和alertmanager两个独立的组件,pro-server只负责通过"告警规则"生成告警通知,具体告警操作是由alertmmanager完成
告警规则:
是由PromQL编写的布尔值表达式使用>< =与一个常用量值,比如80%进行比较,其返回值为true或false
prometheus-server对抓取到的指标序列与告警规则中做为比较的Prometheus匹配,则会把此样本值抓取过来作比较,若返回值为true则认为指标异常,不能满足false,则为正常值以上表达式为告警规则表达式
比如:筛选一个指标数据cpu使用率<0%系统异常
一旦条件表达式为true了就会触发通知信息,送给altermanager,由alter借助特定服务的API或者访问入口,将此信息发出去一般称为告警媒介,也可以借助邮件进行告警SMTP
route:告警路由,分组、分类分发告警消息给不同渠道
prometheus通过alter-rule规则,生成告警通知给altermanager
altermanager会生成本地的告警路由表(第一路由默认称为根路由,所有的告警信息都需要一个根路由,没有一个匹配项,则需要设置一个默认路由)为实现将特定的信息发送给特定的用户
例如:
按消息级别来看,严重、中等、普通级别,红色报警、蓝色报警,应用发送方
按分组:业务运维、系统运维、基础设施运维、k8s运维
告警功能:
除了基本的告警通知能力外,Altermanager还支持对