我已经安装了elastAlert。 以下是我的配置和yaml文件配置:
配置文件:
rules_folder:规则
run_every:
分钟:15
buffer_time:
分钟:15
es_host:ip_address(#####)
es_port:9200
writeback_index:弹性状态
writeback_alias:elastalert_alerts
alert_time_limit:
天:2 记录: 版本:1
增量:错误
disable_existing_loggers:错误
格式化程序:
logline:
format: '%(asctime)s %(levelname)+8s %(name)+20s %(message)s'
handlers:
console:
class: logging.StreamHandler
formatter: logline
level: DEBUG
stream: ext://sys.stderr
file:
class : logging.FileHandler
formatter: logline
level: DEBUG
filename: elastalert.log
loggers:
elastalert:
level: WARN
handlers: []
propagate: true
elasticsearch:
level: WARN
handlers: []
propagate: true
Example_frequency.yaml文件:
es_host:ip地址(####)
es_port:9200
名称:FaultExceptions
类型:频率
索引:logstash _ *
num_events:5
时间范围:
分钟:15
过滤器:
-查询:
query_string:
query: "ErrorGroup: Fault Exception"
警告: -“电子邮件”
电子邮件: -“ abc@gmail.com”
我每15分钟收到一封邮件,但该数据与错误组名称应为Fault Exception的过滤器不匹配。 自最近4天以来,我一直在从事此工作,请帮助我理解这一点。
答案 0 :(得分:0)
希望不会太晚,但可以使用 --es_debug_trace
命令行选项。它有助于查看在 curl 中发送的确切查询:
python3 -m elastalert.elastalert --verbose --rule your_rule_to_test.yaml --es_debug_trace /tmp/elastalert_curl.log
然后可以在终端中触发 /tmp/elastalert_curl.log
中的 curl 命令以查看输出或调整以查看出了什么问题。