标签:ddr filter add filters 默认 test 可选参数 res folder
elastalert 配置语法:
简单rule规则:
logstash-*
query
查询语法,将需要匹配的信息给匹配compare_key: "request"
blacklist:
- /index.html #request字段匹配有请求/index.html就报警
- "!file /tmp/blacklist1.txt"
- "!file /tmp/blacklist2.txt"
blacklist
,此规则会将某个字段与白名单进行比较,如果列表中不包含该字词则匹配。(过滤器)
compare_key
字段的事件不匹配compare_key: "request"
ignore_null: "true"
whitelist:
- /index.html #request字段匹配过滤请求/index.html的请求
- "!file /tmp/blacklist1.txt"
- "!file /tmp/blacklist2.txt"
compare_key
字段的事件将不计为已更改query_key
计数
num_events
数量type: frequency
index: n-nanjing-console
num_events: 5
timeframe:
minutes: 1
filter:
- term:
status: "404"
最近一分钟内触发五次404的请求才触发报警
用处比较流量突起,温度计
timeframe
时间段内的比较
水平线以下触发报警
threshold
一段时间内事件总数低于给定时间时,此规则匹配
字段的值与30天前的数据是否是新出现,如比较后是新值,则触发报警
基线上下的值,触发报警
metric_agg_key
字段上执行聚合操作。聚合类型:min
,max
,avg
,sum
,cardinality
,value_count
buffer_time
我们在使用的时候要预防报警风暴(在实际使用中我们遇到过可能一分钟成百上千的错误,要是都是发出来,就有问题了)。我们利用下面的一些措施来控制报警风暴:
1 aggregation: 设置一个时长,则该时长内,所有的报警(同一个配置文件内的报警)最终合并在一起发送一次:
2 realert: 设置一个时长,在该时间内,相同 query_key 的报警只发一个
3 exponential_realert: 设置一个时长,必须大于realert 设置,则在realert到exponential_realert之间,每次报警之后,realert 自动翻倍
每条规则都可以附加任意数量的警报
alert_subject: "Alter {0} occurred at {1} {2}"
alert_subject_args:
- _index
- "@timestamp"
- request
alert_text: "最近三分钟有三次以上404请求"
注意:
格式化程序的参数将从与警报相关的匹配对象中提供。如果规则匹配索引中多个对象,则仅使用第一个匹配来填充格式化程序的参数。如果缺少参数列表中提到的字段,则电子邮件使用
alert_missing_value
代替。
smtp配置:
smtp_host: smtp.qq.com
smtp_port: 25
smtp_auth_file: /opt/elastalert/rule_templates/smtp_auth_file.yaml #帐号密码配置在此
from_addr: "xxxx@qq.com"
alert:
- "email"
email:
- "xxxx@qq.com"
$ cat /opt/elastalert/rule_templates/smtp_auth_file.yaml
user: xxxx@qq.com
password: xxxxxxxxxx
命令输出,允许执行任意命令并从匹配中传递参数或stdin
alert:
- command
command: ["/bin/send_alert", "--username", "{match[username]}"]
其它更新配置信息,请参考官方文档
es_host: 192.168.20.6
es_port: 9200
run_every:
minutes: 5
name: nanjing_flow
type: metric_aggregation
index: n-xxx-*
buffer_time:
minutes: 5
metric_agg_key: body_bytes_sent
metric_agg_type: sum
max_threshold: 209715200
use_run_every_query_size: true
alert_text_type: alert_text_only
alert_subject: "Alter nanjing 最近五分钟流量超200M,请注意!!!"
alert_text: |
最近五分钟总流量: {0} B
kibana url: http://xxxxx
alert_text_args:
- metric_body_bytes_sent_sum
smtp_host: smtp.qq.com
smtp_port: 25
smtp_auth_file: /opt/elastalert/rule_templates/smtp_auth_file.yaml
from_addr: "xxxx@qq.com"
alert:
- "email"
email:
- "xxxx@qq.com"
上面的规则,五分钟内流量总和超过200M就发邮件
标签:ddr filter add filters 默认 test 可选参数 res folder
原文地址:https://www.cnblogs.com/dance-walter/p/11194001.html