在单个图表上绘制多个系列

我在Elasticsearch中有一个索引,它包含一组简单对象(键值请参见下面的示例)。

文件有一个时间戳。

我可以在Kibana中为每个键值创建单独的直方图(即一个图表用于bytes_sent,另一个用于bytes_received)。

我想知道是否有方法在一个直方图上显示两个系列。

谢谢

亚西尔

"_index": "myindex",
    "_type": "showstatus",
    "_id": "JhyLAGbcRDyXmrIMmP5lLg",
    "_score": 1,
    "_source": {
       "_datetime" : "2014-03-21 10:10:10",
       "showstatus": [
          {
             "value": 96451,
             "variable_name": "bytes_sent"
          },
          {
             "value": 435322,
             "variable_name": "bytes_received"
          }
       ]
    }

可以使用称为“multifieldhistogram”的更新面板完成。 在最近安装了Kibana补丁后,我可以在Kibana3中使用它。

请参阅显示面板的链接。 https://code.csdn.net/chenryn/kibana。


这可以通过运行两个查询,一个绘制bytes_sent,一个绘制bytes_received。 将直方图设置为使用通用的“值”字段。 它看起来像你也可能需要分割你的数据,所以有唯一的记录是时间戳,bytes_sent,值和时间戳,bytes_received,值。

-Brent


我有解决这个问题的办法。 类似于@OmarOthman给出的答案,但没有上述问题,即:

  • 由于集合在一个数组中的信息是不可能的,Elastic团队尚未解决的一个特性。

  • 您需要将文档分解为单独的文档,每个文档包含一个值。 您可以使用弹性的父文档功能来收集它们。

  • 一旦你有这个形状的文件:
  • 分解形式:

    { "_datetime" : "2014-03-21 10:10:10", "bytes_sent": 12312, "bytes_received" : 123123 }  
    { "_datetime" : "2014-03-21 10:10:11", "bytes_sent": 12310, "bytes_received" : 12313 }
    

    代替:

    […]
    "_datetime" : "2014-03-21 10:10:10",
    "showstatus": [
    {
    "value": 96451,
    "variable_name": "bytes_sent"
    },
    {
    "value": 435322,
    "variable_name": "bytes_received"
    }
    ]
    }
    […]
    

    你可以像@OmarOthman所说的那样在Timelion中绘制多个系列,但是你也可以使用Timelion的yaxis方法添加一个二级(甚至三级)Y轴,如:

    .es('avg:bytes_sent').yaxis(1, label='Bytes sent').bars(), .es('avg:bytes_received').yaxis(2, label='Bytes received', positon='right').bars()
    

    使用方法栏可以将其绘制为日期直方图。

    @ OmarOthman提出的另一种方法是只显示来自showstatus数组所有文档的所有“数值”数据的平均“值”。 这样做是因为查询'showstatus.variable_name:bytes_sent'始终为真,因为所有文档的数组showstatus中都有“变量名”。 因此,除非某些文档在数组showstatus中没有bytes_sent variable_name,否则两个系列都是相同的。 尝试绘制它,它不会按预期工作。

    链接地址: http://www.djcxy.com/p/19469.html

    上一篇: drawing multiple series on a single chart

    下一篇: C++ const conversion in the case of operators