在kibana

时间:2016-09-19 12:31:12

标签: elasticsearch visualization kibana

我已经获得了Elasticsearch的自定义查询:

{
  "query": { "match_all": {} },
    "size": 0,
    "aggs": {
        "hour": {
            "histogram": {
                "script": "doc['startTime'].date.hourOfDay",
                "interval": 1,
                "min_doc_count": 0,
                "extended_bounds": {
                    "min": 0,
                    "max": 23
                },
                "lang":"groovy"
            }
        }
    }
}

当经过邮递员时,会给出以下结果(不完整):

 "aggregations": {
    "hour": {
      "buckets": [
        {
          "key": 0,
          "doc_count": 18359
        },
        {
          "key": 1,
          "doc_count": 18361
        },
        {
          "key": 2,
          "doc_count": 18183
        },
        {
          "key": 3,
          "doc_count": 19729
        },

事情是,现在我想在Kibana中可视化这些桶。 目标是显示24个条形图,每条条形图各自包含doc_count。

如果我将查询放入搜索栏但是我收到错误:

Visualize: [filtered] query does not support [query]

进入可视化选项卡并添加聚合类型的x-asis"日期直方图",字段" startTime" (这是我的日期字段),间隔自动和以下json:

{
    "histogram": {
        "script": "doc['startTime'].date.hourOfDay",
        "interval": 1,
        "min_doc_count": 0,
        "extended_bounds": {
            "min": 0,
            "max": 23
        },
        "lang":"groovy"
    }
}

也会产生错误: Visualize: Unknown key for a START_OBJECT in [2]: [histogram].

在过去的3个小时里,我们一直在阅读不同的解决方案,并且无法通过任何有效的解决方案绊倒。

更多信息:

"version": {
  "number": "2.3.3",
  "build_hash": "218bdf10790eef486ff2c41a3df5cfa32dadcfde",
  "build_timestamp": "2016-05-17T15:40:04Z",
  "build_snapshot": false,
  "lucene_version": "5.5.0"
}
  • Kibana版本:4.5.0
  • Kibana build:9889

那里的任何人都可以帮助我:)?

1 个答案:

答案 0 :(得分:4)

您可以使用' JSON输入' Kibana中的选项:

  1. 创建新的竖线可视化
  2. 在XAxis下,选择一个直方图'可视化并从列表中选择任何字段
  3. 选择任何间隔
  4. 点击“高级”'插入符号并在文本框中输入以下内容
  5. {
      "script": "doc['startTime'].date.hourOfDay",
      "interval": 1,
      "min_doc_count": 0,
      "extended_bounds": {
        "min": 0,
        "max": 23
      },
      "lang": "groovy"
    }
    

    另一种选择是创建一个新的脚本字段并使用它:

    1. 转到设置 - >点击左侧的索引模式
    2. 选择'脚本字段'标签(位于'字段'标签旁边)
    3. 点击“添加脚本字段”
    4. 将字段命名为startTime_hourofday
    5. 在脚本输入下,设置:doc['startTime'].getHourOfDay()
    6. 现在,您只需从字段列表中选择startTime_hourofday,就可以创建新的可视化,而不需要任何特殊或自定义JSON输入。