Alert只有grafana V4.0以上。
Introduction(介绍)
Grafana中的alert允许在dashboard panels你附加一些规则。当你保存仪表板Grafana将提取的报警规则到一个单独的报警规则库和安排评审它们。
在"graph”面板的“Alert”选项卡中,您可以配置应该评估警报规则的频率以及警报需要更改状态并触发通知的条件。
Execution
警报规则在Grafana后端的一个调度程序和查询执行引擎中被评估,这是Grafana核心的一部分。现在只支持一些数据源。他们包括Graphite, Prometheus, InfluxDB and OpenTSDB。
Clustering
当前警报支持配置高可用性。从v4.2.0开始,当运行多个服务器时,警报通知会快速去除重复的。这意味着所有的警告在每个服务器上执行,但没有重复的警告通知发送(deduping logic)。未来将引入适当的警报负载平衡。
Rule Config
目前只有graph面板支持报警规则但这将被添加到singlestat和表板以及在未来的版本。
Name & Evaluation interval
在这里,您可以指定警报规则的名称,以及调度器应该多长时间对警报规则进行评估。
Conditions
目前唯一存在的条件类型是一个查询条件,允许您指定查询字母(metric里查询语句的字母,代表哪个查询语句)、时间范围和聚合函数。
Query condition example
例:avg() OF query(A, 5m, now) IS BELOW 14:
avg()
:控制如何将每个serie 值降低到一个可以与阈值比较的值。 点击该功能可以选择另一个聚合函数。query(A, 5m, now)
:字母A代表从Metrics页签查询A查询条件语句。第二个参数定义了时间范围,5m, now
意思从现在到现在的5分钟。这是有用的,如果你想忽略最后2分钟的数据。IS BELOW 14:定义的阈值和阈值的类型。你可以点击
IS BELOW
改变阈值的类型
警报规则中使用的查询不能包含任何模板变量。目前,我们只支持条件之间的ANDOR操作。
例如,我们有以下3个条件:条件:A(计算为true)或条件:B(计算为false)和条件:C(计算为:true),所以结果将被计算为((真或假)和true)= true。
我们计划在将来添加其他的条件类型,像其他警报一样,您可以在您的条件和时间中包含另一个警报的状态。
Multiple Series
如果一个查询返回多个series,那么将对每个series进行聚合函数和阈值检查。Grafana目前没有做的是每系列的跟踪警报规则。这一点在下面的场景中有详细的含义。
- 报警条件查询,返回2系列:Server1和Server2
- server1系列导致警报规则消防开关状态Alerting
- 通知发送消息:load peaking (server1)
- 在一个相同的报警规则Server2序列的子序列评价也引起火灾预警规则
- 由于警报规则已经处于状态Alerting,所以没有发出新通知。
所以你可以看到从上面的场景,当其他系列引起警惕火灾如果规则已经在状态报警,Grafana不会发出通知时,。为了改进对返回多个系列的查询的支持,我们计划在将来的版本中跟踪每个序列的状态。
No Data / Null values
下面的条件,你可以配置返回没有数据或空数据,规则评估引擎应该如何处理查询。
No Data Option:If no data or all values are nul
NoData:设置警报规则状态为空
Alerting:将警报规则状态设置为报警
keep Last state:保持当前的警报规则状态。
Execution errors or timeouts
下面的选项,如果处理超时错误:If execution error or timeout
Alerting:将警报规则状态设置为报警
keep Last state:保持当前的警报规则状态。
如果一个不可靠的 time series存储,当查询超时或随机失败时,您可以设置这个选项Keep Last State基本上忽略它们。
Notifications
在警告选项卡中,还可以指定警报规则通知,以及关于警报规则的详细信息。这个消息可以包含任何信息,关于如何解决这个问题的信息,链接到runbook等。
实际的通知被配置并在多个警报之间共享。阅读 notifications指南,了解如何配置和设置通知。
Alert State History & Annotations
警戒状态的变化都被记录在内部注释Grafana的数据库表。状态更改可视为警报规则的图形面板中的注释。你也可以去alert的子State history中查看和clear history(清除历史状态)。
Troubleshooting
您可以做的第一级故障排除是点击Test Rule按钮。您将得到结果,您可以扩展到可以看到从查询返回的原始数据的点。
进一步的诊断也可以通过检查grafana服务器日志。如果不是错误,或者由于某种原因,日志什么也不说,您可以为某些相关组件启用调试日志记录。这是在Grafana的INI配置文件了。
Alert List Panel
这个新面板允许您显示警报规则或警报规则状态更改的历史记录。您可以根据您感兴趣的状态进行筛选。这个面板式仪表盘是非常有用的概述。
show
current state:当前的状态。
recent state changes:最近的状态。
Max items:显示警告数目
Alerts form this dashboard:选择只显示当前dashboard的警告;不选择显示所有dashboard的警告。
state filter:显示状态变更的类型,不选择,全部显示。
Alert Notifications
当警报改变状态时,它发出通知。每个警报规则可以有多个通知。但为了添加通知警报规则首先需要添加和配置通知渠道(可以是电子邮件,Pagerduty或其他集成)。这是从通知通道页面完成的。
Notification Channel Setup
在Notification Channels上,单击New Channel按钮,转到可以配置和设置新通知通道的页面。
指定name和type,以及指定特定选项。您还可以测试通知以确保它正确地工作和安装。
Send on all alerts
选中后,该选项将使该通知用于所有警报规则,现有的和新的。
Supported Notification Types
Grafana有下列通知类型:
启用电子邮件通知你在grafana配置设置SMTP设置。电子邮件通知会将警报图像的图像上传到外部图像目的地,如果可用的话,或者在电子邮件中附加图像的后退。