ElastAlert-配置

全局配置(Configuration)

# Elasticsearch集群配置
es_host:
es_port:
use_ssl:
verify_certs:
es_username:
es_password:
es_url_prefix:
es_conn_timeout:
# 设置检索rules和hashes的加载类
rules_loader: 'FileRulesLoader'
# 规则配置文件的文件夹的名称,仅rules_loader=FileRulesLoader时有效
rules_folder: rules
# 是否递归rules目录的子目录配置
scan_subdirectories: true
# 查询Elasticsearch的时间间隔
run_every:
  minutes: 1
# 查询窗口的大小
buffer_time:
  minutes: 15
# ElastAlert将存储数据的索引名称
writeback_index: elastalert
# 单次查询Elasticsearch最大文档数,默认10000
max_query_size: 10000
# 滚动浏览的最大页面数,默认0(表示不限制)
max_scrolling_count: 0
# 在滚动浏览上下文中应保持活动状态的最长时间
scroll_keepalive: 
# 汇总在一起的最大警报数
max_aggregation:
# 两次查询之间的最长时间
old_query_limit:
# 禁用未捕获异常的规则,默认True
disable_rules_on_error: 
# ElastAlert完成执行后会显示“禁用规则”列表
show_disabled_rules: true
# 通知邮件列表,当前只有未捕获的异常会发送通知电子邮件
notify_email:
# 警报是否包括规则中描述的元数据,默认False
add_metadata_alert: false
# 跳过无效的文件而不是退出
skip_invalid:
# 失败警报的重试窗口
alert_time_limit:

# 增强模块,与规则一起使用,将其传递给报警器之前对其进行修改或删除
match_enhancements:
- "elastalert_modules.my_enhancements.MyEnhancement"
# 匹配立刻运行增强
run_enhancements_first: true

规则配置(Rule Configuration)

# Elasticsearch配置
es_host: 10.188.10.1
es_port: 9200
es_username: elastic
es_password: xxx
index: logstash-*

# Rule Type
type: 'any'

# 导入公共配置
import:
# 用于标识警报的利益相关者
owner: 'xxx'
# 用于标识警报的相对优先级
priority: 2
# 用于标识警报的类别
catagory: ''
# 规则描述
description: ''

# 设置请求里查询窗口的范围。当use_count_query或use_terms_query为true时,将忽略此值
buffer_time:
  minutes: 5
# 延迟查询
query_delay:
  minutes: 5

# 开启timeframe(查询开始时间=now()-timeframe)
scan_entire_timeframe: true
# 1. 查询开始时间,scan_entire_timeframe开启,use_count_query和use_terms_query未设置时有效
# 2. 规则的事件发生窗口期,如:FrequencyRule-EventWindow
timeframe:
  minutes: 1

# Elasticsearch查询过滤器
filter:
- query:
    query_string:
      query: "level: ERROR"

# 触发报警的事件数
num_events: 5

# 传递给规则类型和警报的查询结果字段列表,默认所有字段
include: 
  - "username"
# 针对每个字段的前X(top_count_number)个最常用的值执行Terms查询
top_count_keys:
  - "username"
# 术语的前X个最常用的值,与top_count_keys一同使用
top_count_number: 5
# 如果为true,top_count_keys中所有字段都会附加.raw
raw_count_keys: true

# 单次查询获取的最大文档数
max_query_size: 10000
# 计数查询(count api),而不下载所匹配的文档
use_count_query: false
# 聚合查询(aggregation),和query_key、doc_type、terms_size一起使用
use_terms_query: false

# use_terms_query=true时,为每个值单独计数
query_key: 'username'
# top_count_keys存在,发送警报时,多个逗号分隔,必须配合compound_query_key使用
query_key: 'service_name,username'
# 复合的查询key,必须与query_key一一对应,get_hits_terms时使用
compound_query_key:
 - service_name
 - username
 
doc_type: _doc
# 桶的最大数
terms_size: 50
# 相关事件一同报警。一个桶触发报警,其他的桶一同触发报警
attach_related: false

# 将多次匹配汇总到一个警报中,将聚合时间期内发生的所有匹配项一起发送
aggregation:
  # 需要大量匹配并只需要定期报告
  hours: 2
  # 汇总所有警报并定期发送报警
  schedule: '2 4 * * mon,fri'
# 为不同的字段值创建一个独立的聚合窗口,默认在聚合窗口期中所有事件被分组在一起
aggregation_key: 'my_data.username'
# 基于第一个事件的时间创建聚合,默认当前时间
aggregate_by_match_time: true
# 对于聚合报警,指定摘要表字段
summary_table_fields:
  - my_data.username

# 忽略一段时间的重复警报,支持query_key
realert: 
  minutes: 10
# 使realert的值呈指数增加
exponential_realert:
  hours: 1

# 是否将时间戳转换为警报中的本地时区
use_local_time: true
# 时间戳类型(iso, unix, unix_ms, custom)
timestamp_type: 'iso'
# 自定义时间戳格式
timestamp_format: '%Y-%m-%dT%H:%M:%SZ'
# 指定时间字段,默认@timestamp
timestamp_field: '@timestamp'

### Metric Aggregation Type or Percentage Match Type
# 使用run_every计算度量计算窗口大小,默认使用buffer_time
use_run_every_query_size: true
# 度量计算窗口大小,必须是buffer_time的倍数
bucket_interval: 

# Alerts
alert:
  - command
  - debug
command: ["python3", "/opt/elastalert/weixin.py", "生产环境报警,报警:", "接口{orgPathName} 出现状态码{statusCode}频率高!","服务 IP: {directBackServer}; 服务端口:{port}"]

不同的规则类型参数不同,详细请看源码文件elastalert/schema.yaml


IMAGE

参考

[ElastAlert](

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354

推荐阅读更多精彩内容