或者在Kibana 4的仪表板上过滤

时间:2015-06-02 09:45:35

标签: kibana kibana-4

我想创建一个仪表板,显示有关一组有限的请求值的信息:

s = <<-STR
  123
  456
STR

s.scan /\d+/    #=> ["123", "456"]
s.scan /(\d+)/  #=> [["123"], ["456"]]

到目前为止我已尝试过:

  • 我可以通过单击饼图的一部分向仪表板添加过滤器,但所有这些过滤器都应用为AND过滤器而不是OR。这种工作方式还需要所有可能的请求值的实际数据。在测试环境中并非总是如此。
  • 在Discover中我创建了一个已保存的搜索但我不知道如何将其应用到我的信息中心,以便它成为信息中心定义的一部分。

他们是使用Dashboard编辑器执行此操作的方法还是需要通过Settings-&gt; Objects-&gt; Dashboards进行一些json脚本编写?如果是这样,你能指出我对这个(转义)语法的一个很好的参考吗?

在Kibana 3中,您可以定义&#34;&#34;类型的过滤器。 Kibana 4中是否存在此功能?

我正在使用Kibana 4.0.2

4 个答案:

答案 0 :(得分:14)

我不确定这是否是您实际问题的答案,无论如何我都会写,因为有人可能会受益,我发现在使用Google搜索时Kibana过滤器语法的示例难以捉摸。

我正在尝试在“发现”选项卡中定义布尔过滤器而不是布尔查询,以便整理搜索字段并对有限的一组值进行进一步过滤。

我发现this link to the documentation描述了AND,OR,NOT过滤器语法。经过一些实验,这对我有用,例如:

我有一个名为host的字段,其中包含发送日志条目的服务器的名称。有很多服务器,每个服务器属于多个冗余组之一。仅过滤服务器生成的日志条目&#34; SERVER06SERVER07SERVER08&#34;碰巧属于一个独特的冗余组B-Servers我可以像这样制作一个OR过滤器:

{
  "bool": {
    "should": [
      {
        "query": {
          "match": {
            "host": {
              "query": "SERVER06",
              "type": "phrase"
            }
          }
        }
      },
      {
        "query": {
          "match": {
            "host": {
              "query": "SERVER07",
              "type": "phrase"
            }
          }
        }
      },
      {
        "query": {
          "match": {
            "host": {
              "query": "SERVER08",
              "type": "phrase"
            }
          }
        }
      }
    ]
  }
}

并将其另存为名为B-Servers的搜索。现在我得到一个过滤列表,在那里我可以选择一个具有更多限制性过滤器的服务器。在我拥有所有服务器之前,quick count仅列出了五个顶级条目,因此我必须选择一个,然后手动编辑过滤器,如果我的目标不在列表中。

这对其他字符串类型字段也很有用。文档应该包含我想的几个例子,为bool语句的放置设置上下文,而不仅仅是原理的演示。

This link对于演示如何从搜索字段而不是过滤器中进行布尔值也很有用。

[编辑] Kibana 5.2的更新,因为我无法使用以前的语法。以下是5.2的技巧,我使用this link来解决这个问题:

{
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "host": "SERVER06"
          }
        },
        {
          "match": {
            "host": "SERVER07"
          }
        },
        {
          "match": {
            "host": "SERVER08"
          }
        }
      ],
      "minimum_should_match": 1
    }
  }
}

答案 1 :(得分:1)

Kibana 4完全重写,显然并非所有Kibana 3功能都已实现。我发现了一个&#34;增强&#34;在Kibana github的票: https://github.com/elastic/kibana/issues/3693

暂时关闭了我的问题。

答案 2 :(得分:0)

您肯定可以在信息中心中添加OR过滤器。由于仪表板是根据保存的可视化创建的,因此在可视化中,您可以添加包含OR的过滤器,该过滤器将反映此类数据。

根据我对你的问题的理解,我发布了我的答案(随意纠正我): -

  1. 单击“可视化”选项卡下的饼图(创建新的可视化)。
  2. 选择搜索来源 - 来自新搜索
  3. 转到拆分切片,选择聚合作为过滤器。 在Query1下输入要应用的过滤器,例如request :(“/ path1”OR“/ path2”) 单击添加过滤器并将Query2添加为:request :(“/ path2”OR“/ path3”)
    1. 单击“应用”以根据过滤器查看更改的饼图。
    2. 通过从工具栏中选择它来保存可视化(搜索栏旁边的第二个选项)。
    3. 转到Dashboard&amp;点击添加仪表板&amp;选择保存的可视化图片,它将反映您的饼图。
  4. 希望它能回答你的问题:)

答案 3 :(得分:-1)

lucene语法是“OR”(大写),所以“foo OR bar”。

更正查询后,您可以将搜索保存在“发现”标签中,并在可视化中查看已保存的搜索。

如果您不希望单独保存查询,也可以在可视化中手动设置查询。