前言
本文主要是介绍Elasticsearch日志告警的功能和使用,同时简单的介绍了下Elasticsearch日志监控功能,Elasticsearch日志告警使用的是Grafana 的告警能力,Grafana 的告警是仅仅当告警规则状态变化的时候,才会发出告警。Grafana 警报规则是依赖仪表板的,而仪表板依赖于Explore的Query查询结果数据。
功能模块
Search
可以通过名字搜索dashboards(仪表板)。
create
创建dashboards(仪表板),可以手动创建panel(面板),也可以导入dashboards(仪表板)的json文件。
Dashboards
主要功能是管理仪表板,可以选择具体某一个仪表板进行配置和编辑。
进入一个具体的dashboards,选择一个panel进行编辑,会有两个主要的配置项,分别是Query和Alert。
Query
Query就是Explore,支持的是Lucene Query。
Alert
Alert就是告警配置。
Rule
告警策略,Evaluate every为query的执行频率,for为告警持续时间,若for为0,命中规则后马上发出告警,否则持续设置的时间,超过设置的时间,将发送告警,如果警报规则已配置For并且查询满足了配置的阈值,则它将首先从OK到Pending。从OK到Pending状态,Grafana 不会发送任何通知。一旦警报规则触发超过For持续时间,它将更改为Alerting并发送警报通知。
另外,如果if no data or all values are null设置为No Data的情况,不要使用For,因为No Data是立即触发,不考虑FOR。如果设置了FOR,可能导致No Data -> Pending -> OK,不会发送OK状态的通知。
Conditions
告警条件
No Data & Error Handling
查询结果无数据或出错时的具体策略,可选值含义如下
No Data:将警报规则状态设置为NoData
Alerting:将警报规则状态设置为Alerting
Keep Last State:保持前一个警报规则状态
OK:将警报规则状态设置为OK
Notifications
通知配置
Send to:配置告警联系人
Message:发送消息的内容
tags:指定要包含在通知中的标签列表(键/值),只有某一些通知方式才支持,比如webhook。
Explore
查询分析和展示,支持的是Lucene Query语法。
Alerting
Alert rules
告警规则,Alert rules界面只能查看、修改、暂停告警,创建需要在仪表板面板的“警报”选项中添加和配置警报,要保留警报规则更改,请记住保存仪表板。
同时该界面可以查看告警规则的状态持续时间。
Nortification Channels
告警通知渠道,可创建告警通知渠道,类型选DingDing,Message Type选Link,目前支持DingDing和webhook。
参考文档
Grafana官网文档:https://grafana.com/docs/grafana/v7.5/