ElastAlert过滤器未按预期工作

时间:2020-07-01 08:51:01

标签: elasticsearch github open-source elasticsearch-5 elastalert

我已经安装了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天以来,我一直在从事此工作,请帮助我理解这一点。

1 个答案:

答案 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 命令以查看输出或调整以查看出了什么问题。