Grafana 条形图:可视化每个月每种产品类型的条目总和
Posted
技术标签:
【中文标题】Grafana 条形图:可视化每个月每种产品类型的条目总和【英文标题】:Grafana Bar Chart: visualize sum of entries per product type for each month 【发布时间】:2021-07-10 12:07:39 【问题描述】:我正在尝试使用 Grafana 中的条形图可视化以下数据。我的数据源是 ElasticSearch,它会得到这样的日志消息:
我知道想按产品类型对这些条目进行分组,并获取每个月每种产品类型的所有条目的总和。结果应如下所示:
我已经设法获得每种产品类型的所有条目的总和: 但我不知道如何获得每个月每种产品类型的总和。关于如何实现这一点的任何想法?
【问题讨论】:
【参考方案1】:因此,您需要在这里按日期直方图字段对数据进行分组,然后对产品类型进行聚合或分桶。
如上图所示,您需要首先按“日期直方图”与字段(看起来字段名称为“timestamp ”,在你的情况下)你想要在其上进行存储。您可以根据需要指定间隔,例如每小时、每天、每月,或者您也可以将其保留为“自动”。
然后,您接下来需要像上面提到的那样对产品类型进行分类。
一旦你这样做了,我想你会很高兴的。
要准确地交叉检查幕后发生的事情,您可以点击面板右上角的“Query Inspector”并将查询也以 JSON 格式查看。
在我展示的示例中,生成了以下内容:
"type": "table",
"title": "Panel Title",
"gridPos":
"x": 0,
"y": 0,
"w": 12,
"h": 8
,
"id": 23763571993,
"targets": [
"refId": "A",
"query": "",
"alias": "",
"metrics": [
"type": "count",
"id": "1"
],
"bucketAggs": [
"id": "3",
"type": "date_histogram",
"settings":
"interval": "auto",
"min_doc_count": "0",
"trimEdges": "0"
,
"id": "4",
"type": "terms",
"settings":
"min_doc_count": "0",
"size": "10",
"order": "desc",
"orderBy": "_term"
,
"field": "coordinates.longitude"
],
"timeField": "@timestamp"
],
"options":
"showHeader": true
,
"datasource": "ES Logs",
"fieldConfig":
"defaults":
"custom":
"align": null,
"filterable": false
,
"thresholds":
"mode": "absolute",
"steps": [
"value": null,
"color": "green"
,
"value": 80,
"color": "red"
]
,
"mappings": [],
"color":
"mode": "thresholds"
,
"overrides": []
,
"pluginVersion": "7.5.4"
你可以忽略周围的信息,因为这毕竟是虚拟数据。
您也可以参考以下链接:Date Histogram Community Question
对于可能有类似查询但与 Kibana 相关的其他人,它甚至更简单。在可视化选项卡中,选择您的索引。
第1步:首先选择“日期直方图”字段,然后选择要使用的索引字段。
第 2 步:然后选择“术语”并选择您要使用的索引字段。
第 3 步:可视化准备就绪。
【讨论】:
以上是关于Grafana 条形图:可视化每个月每种产品类型的条目总和的主要内容,如果未能解决你的问题,请参考以下文章
R语言tidyquant包的tq_transmute函数计算持有某只股票的天月周收益率ggplot2使用条形图(bar plot)可视化股票月收益率数据条形图
R语言ggplot2可视化改变柱状图(条形图)的填充色实战:默认的颜色为灰色改变柱状图(条形图)的填充色设置每个柱子(条形)使用不同的色彩
R语言ggplot2可视化:ggplot2可视化水平堆叠条形图并且在每个堆叠条形图的内部居中添加百分比文本标签信息
R语言ggplot2可视化:计算dataframe中每个数据列缺失值的个数使用堆叠的条形图(Stacked Barplot)可视化每个数据列的缺失值的情况(自定义堆叠条形图的形式)