【问题标题】:Kibana Watcher query for searching text用于搜索文本的 Kibana Watcher 查询
【发布时间】:2020-07-12 19:06:12
【问题描述】:

我正在寻找创建 Kibana 观察程序的指针,我想在其中查看我的日志,并且如果我在任何 30 分钟内在我的日志中看到文本“安全警报”超过 10 次,我想发送警报。

我指的是这篇文章 https://www.elastic.co/guide/en/kibana/current/watcher-ui.html#watcher-create-threshold-alert

文档中不清楚我如何 1> 通读并过滤和解析字符串 2> 如何设置相同的计数。

【问题讨论】:

    标签: elasticsearch lucene kibana elk


    【解决方案1】:

    对于这个要求,您应该使用高级观察者而不是更简单(但功能较弱)的阈值观察者。在 Kibana-Watcher UI 中,您可以在这两种类型之间进行选择。

    https://www.elastic.co/guide/en/kibana/current/watcher-ui.html#watcher-create-advanced-watch 介绍和 https://www.elastic.co/guide/en/elasticsearch/reference/current/how-watcher-works.html 用于高级观察者的语法和整体行为。

    因此,根据您在问题中描述的要求,您将如何实现观察者(简而言之):

    • 30 分钟是触发间隔。

    • 输入部分必须是与“安全警报”文本匹配的适当弹性搜索查询

    • 条件类似于“numberOfHits gte 10”。因此,观察者每 30 分钟触发一次,但只有在满足条件时,才会执行 actions

    • 在操作部分,您需要在可用选项(日志、邮件、松弛消息等)之间进行选择。如果要发送邮件,则需要先设置邮件帐户。

    希望能帮到你。

    【讨论】:

    • 感谢您的回复。如果我要搜索文本,是否应该这样包装文本?
    • "query": { "bool": { "must": [ { "query_string": { "query": "(我的搜索文本)" } }, { "range": { " @timestamp": { "gte": "now-30m" } } } ] } }
    • @p0tta 我建议使用 match 查询而不是 query_string: "query": { "bool": { "must": [ { "match": { "YOUR_SEARCH_FIELD": "(您的搜索文本)“}},{“范围”:{“@timestamp”:{“gte”:“now-30m”}}}]}}。如果您对相关性不感兴趣,可以使用 filter 而不是 must 来提高查询的性能。
    • YOUR_SEARCH_FIELD 中有什么内容?我不是在索引中读到这个吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-23
    • 1970-01-01
    • 2021-05-19
    • 1970-01-01
    • 2015-01-19
    • 2017-07-19
    相关资源
    最近更新 更多