首页 > 解决方案 > 如何在带有条件的 Kibana 中为“发现”工具创建过滤器?

问题描述

我需要为 Kibana 中的“发现”工具创建一个过滤器,该过滤器仅在特定应用程序内过滤请求。

例如,我有以下应用程序:配置、设备。在每个 Config 请求中,我都有一条消息,其中包含一个定义国家/地区的字符串。例如:“country=№1”、“country=№2”、“country=№3”。所以我使用过滤器“message:” country=№2 “”。这个过滤器不仅排除了“country=№”的请求1" 和 "country=№2" 字符串,还有来自 "Device" 应用程序的所有请求。

"message=" country=№2 " 过滤器有以下代码:

{
  "query": {
    "match": {
      "message": {
        "query": "*country=№2*",
        "type": "phrase"
      }
    }
  }
} 

显然我还使用了“app:”Config“”过滤器,它具有以下代码:

{
"query": {
    "bool": {
      "should": [
        {
          "match_phrase": {
            "app": "Config"
          }
        }
      ],
      "minimum_should_match": 1
    }
  }
}

如何将此代码组合在一个过滤器中,以便我可以过滤“国家=№2”的请求,但只能在“配置”应用程序内部,并且仍然接收来自“设备”应用程序的请求?我需要两个应用程序的特定请求。

标签: if-statementelasticsearchfilterkibana

解决方案


推荐阅读