我只想使用 LOGQL 来绘制温度值。
我试过了:我可以使用 |json 格式并带上温度标签。但找不到任何会绘制此标签的 LOG QL。只有聚合函数,例如随着时间的推移计数。
日志以以下格式存储:
{Temperature":32, "Humidity":42}
{Temperature":31, "Humidity":42}
{Temperature":32, "Humidity":42}
我只想使用 LOGQL 来绘制温度值。
我试过了:我可以使用 |json 格式并带上温度标签。但找不到任何会绘制此标签的 LOG QL。只有聚合函数,例如随着时间的推移计数。
日志以以下格式存储:
{Temperature":32, "Humidity":42}
{Temperature":31, "Humidity":42}
{Temperature":32, "Humidity":42}
我不是这里的专家,但这是我在过去几天发现的:
您可能不想Temperature
成为标签,它可以留在日志行中。在 LogQL 中,您可以将其解析出来并在 Grafana 中绘图。
我认为另一个问题是这些日志行绑定到单个时间点,但 Grafana 需要间隔数据。所以你需要一个聚合函数。
avg_over_time({} |= "Temperature" | json | unwrap Temperature [2m])
该|= "Temperature
部分用于过滤掉任何没有温度字段的日志事件,这只是对日志行字符串的搜索,因此如果“温度”出现在其他地方,它将不起作用。
`[2m] 假设在 2 分钟间隔内通常至少有一个日志行,因此我们对该间隔内的所有值进行平均。
如果 Grafana 现在显示了很多数据系列,您希望在查询中添加类似 by (model, id)
(或 by ()
在您的情况下)以合并它们。