elastalert 用import属性来组织,引入配置

对应rule的一些公用规则,可以放到一个或者多个头文件中。主的rule yaml文件引入即可。文件名随意,最好别用yaml后缀,要不会被当做一个rule。另外import在rule文件中只能出现一次。多个头文件的话可以import文件中引入另外一个import。

示例:

主的myrule.yaml:

import: inc_es.inc
name: hs_server_ahc_task system error

type: frequency

# (Required)
# Index to search, wildcard supported
index: hs_server_ahc_task*

# (Required, frequency specific)
# Alert when this many documents matching the query occur within a timeframe
num_events: 1

# (Required, frequency specific)
# num_events must occur within this amount of time to trigger an alert
timeframe:
  hours: 1

#import: inc_time_field.inc

filter:
- terms:
    "Level": ["fatal", "error"]


alert_subject: "Alert: System {0} occurred {1} times."
alert_subject_args:
- Level
- "num_hits"

被import的  inc_es.inc 文件:

es_host: 10.10.21.77

# (Optional)
# Elasticsearch port
es_port: 9200

attach_related: true
use_kibana4_dashboard: https://nodejsgbl.italkbb.com/kibana/app/kibana#/dashboard/3bde48d0-9880-11e9-b5d5-2df46b09dea6

email_format: html

import: inc_mail.inc

这个又引入 mail.inc

alert:

- "email"

email:
- "bin.zhi@net263.com"
#- "zhibingoo@163.com"
#- "fsha@net263.com"
#- "tiezhou.wei@net263.com"

smtp_host: smtp.263.net
smtp_port: 25
smtp_auth_file: ../smtp_auth_file.yaml
email_reply_to: No.reply@net263.com
from_addr: ElastAlert@net263.com
#cc: bin.zhi@net263.com

运行:

elastalert --config ../config.yaml --rule hs_ahc_task.yaml  --verbose  --start 2019-06-27T08:45 --end 2019-06-27T09:55

posted @ 2019-06-28 15:23  Bigben  阅读(347)  评论(0编辑  收藏  举报