如何在 grafana 中为 Loki 的 json 日志绘制图表?
Posted
技术标签:
【中文标题】如何在 grafana 中为 Loki 的 json 日志绘制图表?【英文标题】:How to draw a graph in grafana for json logs from Loki? 【发布时间】:2021-07-26 09:12:09 【问题描述】:我只想使用 LOGQL 来绘制温度值。
我试过了: 我可以使用 |json 格式并带上温度标签。但找不到任何会绘制此标签的 LOG QL。只有聚合函数,例如随着时间的推移计数。
日志以以下格式存储:
Temperature":32, "Humidity":42
Temperature":31, "Humidity":42
Temperature":32, "Humidity":42
【问题讨论】:
【参考方案1】:我不是这里的专家,但这是我在过去几天发现的:
您可能不希望Temperature
成为标签,它可以保留在日志行中。在 LogQL 中,您可以将其解析出来并在 Grafana 中绘图。
我认为,另一个问题是这些日志行绑定到单个时间点,但 Grafana 需要间隔数据。所以你需要一个聚合函数。
avg_over_time( |= "Temperature" | json | unwrap Temperature [2m])
|= "Temperature
部分用于过滤掉任何没有温度字段的日志事件,这只是对日志行字符串的搜索,因此如果“温度”出现在其他地方,它将不起作用。
`[2m] 假设在 2 分钟间隔内通常至少有一个日志行,因此我们对该间隔内的所有值进行平均。
如果 Grafana 现在显示大量数据系列,您希望在查询中添加 by (model, id)
(或您的情况下为 by ()
)以合并它们。
【讨论】:
以上是关于如何在 grafana 中为 Loki 的 json 日志绘制图表?的主要内容,如果未能解决你的问题,请参考以下文章
Grafana/Loki:如何在 LogQL 中使用多选模板变量?