在编写用于搜索特定短语的查询时需要帮助,当它与之匹配时,它应该抛出并发出警报。我使用以下内容,但我认为它与短语和发送警报不匹配:
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'.
该短语在日志文件中根本不存在,但它也在发送警报。
如何解决这个问题?
答案 0 :(得分:0)
编写查询的正确方法是这样的,你可以试试吗?
filter:
- query:
query_string:
query: "message: this is a test string"
这只会在您的消息字段中查找“这是一个测试字符串”。如果这不是您要查找的确切字符串,请尝试使用一些正则表达式或通配符。