我只想使用LOGQL来绘制温度值。
我试过了:我可以使用|json格式并带上温度标签。但找不到任何将绘制此标签的日志QL。只有聚合函数存在,例如随时间变化的count。
日志的存储格式如下:
{Temperature":32, "Humidity":42}
{Temperature":31, "Humidity":42}
{Temperature":32, "Humidity":42}发布于 2021-10-09 22:48:58
我在这里不是专家,但这是我在过去几天中得出的结论:
您可能不希望Temperature成为一个标签,它可以停留在日志行中。在LogQL中,您可以将其解析出来并在Grafana中绘制。
另一个问题是,我认为,这些日志线被绑定到单个时间点,但Grafana需要间隔数据。所以你需要一个聚合函数。
avg_over_time({} |= "Temperature" | json | unwrap Temperature [2m])|= "Temperature部分的作用是过滤掉没有温度字段的日志事件,这只是一个对日志行字符串的搜索,所以如果" temperature“出现在其他地方,它将不起作用。
`2m假设在2分钟间隔内通常至少有一条对数行,因此我们对该间隔内的所有值进行平均。
如果Grafana现在显示了很多数据序列,那么您需要向查询中添加像by (model, id) (在您的例子中是by () )这样的东西来合并它们。
https://stackoverflow.com/questions/67377710
复制相似问题