一.watcher是什么
watcher是kibana用来监控和告警,满足指定条件时发送警报。
二.新建watcher方式
一共有两种
一种是threshold alert阈值警报,可以写一些简单的阈值场景
另一种是advanced watch高级监控,用json编写,可以写一些复杂的阈值场景
三.threshold alert(阈值警报)
阈值警报规则编写分成三大块,
1.记录及触发
告警名
选择索引,选择时间字段,设置检测周期
2.检测条件
运算
包括:count()总数,average()平均值,sum()总和,min()最小值,max()最大值
注意:除count()之外的其他运算,都需要选择一个数值字段来做运算
文档范围
All documents 或者top(自定义哪个字段,自定义top几)
比较条件
Is above,is above or equals,is below,is below or equals,is between
查询时间
For the last
3.告警方式
常用webhook如下
四.advanced watcher(高级监控)
高级监控规则编写分成四大块,
1.trigger触发时间,所有时间均以UTC时间指定
Schedule选项包括:Hourly每小时,daily每天,weekly每周,monthly每月,yearly每年,cron自定义,interval间隔时间
例如:
详情请看:
https://www.elastic.co/guide/en/elasticsearch/reference/6.8/trigger-schedule.html
2.Input 数据来源
simple: 将静态数据加载到执行上下文中。
http: 将http请求的结果加载到执行上下文中。
chain: 使用一系列输入将数据加载到执行上下文中。
search: 将搜索结果加载到执行上下文中。和dsl查询语句相同
详情请参见:https://www.elastic.co/guide/en/elasticsearch/reference/6.8/input.html
3.Condition 控制是否执行监视操作Actions。一共包括5种。
always: 设置为Always后,Action动作总会执行
never: 设置为Never后,Action动作永远不会执行.
array_compare: 使用array_compare将执行上下文中的值数组与给定值进行比较。
script: 使用脚本确定是否执行监视操作。默认脚本语言是Groovy。这里可以设置ElasticSearch支持的所有编程语言。
compare: 使用比较条件与观察有效载荷中的值进行简单比较,即可以使用eq,not_eq,gt,gte,lt,lte等判断条件。
详情请参见:https://www.elastic.co/guide/en/elasticsearch/reference/6.8/condition.html
4.actions告警方式
actions告警方式包括:email, webhook, index, logging, slack, and pagerduty.
例如如下:
详情请看:https://www.elastic.co/guide/en/elasticsearch/reference/6.8/actions.html
五.watcher的状态
Ok,firing,error一共三种
ok是没有符合查询条件的内容,不会触发action
firing是有符合查询条件的内容,并触发action
error是查询条件有问题,报错