ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] ## 定义告警规则 示例 ``` groups: - name: example rules: - alert: HighRequestLatency expr: job:request_latency_seconds:mean5m{job="myjob"} > 0.5 for: 10m labels: severity: page annotations: summary: "Instance {{$labels.instance}} down" description: "{{$labels.instance}} of job {{$labels.job}} has been down for more than 5 minutes." ``` - alert:告警规则的名称。 - expr:基于PromQL表达式告警触发条件,用于计算是否有时间序列满足该条件。 - for:评估等待时间,可选参数。用于表示只有当触发条件持续一段时间后才发送告警。在等待期间新产生告警的状态为pending。 - labels:自定义标签,允许用户指定要附加到告警上的一组附加标签。 - annotations:用于指定一组附加信息,比如用于描述告警详细信息的文字等,annotations的内容在告警产生时会一同作为参数发送到Alertmanager,并且可用变量 ## 在运行时检查告警 对于挂起和触发的告警,Prometheus 存储格式为`ALERTS{alertname="<alert name>", alertstate="pending|firing", <additional alert labels>}`的时间序列。只要警报处于活动(挂起或触发)状态,样本值就设置为1;如果不再是这种情况,则将该系列标记为过时 ## 检验 **查看规则生效** ``` http://192.168.0.229:9090/rules ``` ![](https://www.aneasystone.com/usr/uploads/2018/10/1285663259.jpg) <br/> **查看警告生效** ``` http://192.168.0.229:9090/alerts ``` ![](https://www.aneasystone.com/usr/uploads/2018/10/1360557187.jpg) 当我们停掉某个 exporter 时, State 变为FIRING