elastalert在logstash中搜索字符串

时间:2016-05-06 05:21:17

标签: elasticsearch

在编写用于搜索特定短语的查询时需要帮助,当它与之匹配时,它应该抛出并发出警报。我使用以下内容,但我认为它与短语和发送警报不匹配:

es_host: elasticsearch.internal   
es_port: 9200   
name: Example rule  
type: frequency  
index: logstash-* 
num_events: 50  
timeframe: 
    hours: 4  
query:  
    query_string:  
        "message" : "this is a test string"  # (Required) 
# The alert is use when a match is found 
alert: - "slack" - "debug" 
slack: 
    slack_webhook_url: 'hooks.slack.com/services/abcd'.

该短语在日志文件中根本不存在,但它也在发送警报。

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

编写查询的正确方法是这样的,你可以试试吗?

 filter:
 - query:
    query_string:
      query: "message: this is a test string"

这只会在您的消息字段中查找“这是一个测试字符串”。如果这不是您要查找的确切字符串,请尝试使用一些正则表达式或通配符。