如何解决使用 Prometheus HTTP API 创建前端状态日志
我是一个项目的前端,我有来自 Prometheus 的实时 json 数据,带有时间戳和值(0 到 2)
{
metric: {
__name__: "somestatus",...
},value: [
1613742412.367,"0"
]
},
我需要按天创建以前状态的日志,我想检测值何时从 0 变为 1 或 2,以及何时返回到 0。
例如: 2021 年 2 月 18 日,状态值在 timestamp 时变为 2,并在 timestamp 时恢复为 0。 => 并重复一天中的每次出现
我检查了 prometheus 文档,但我发现的唯一方法是在短时间内检查状态,并有一个近似的开始和结束。它给了我很多我不需要的数据,因为我只会显示状态的开始和结束日期。 我可能需要记录数月的数据,这会导致 json 中的数据过多,尤其是对于前端应用
/query_range?query=max_over_time(mystatus[1d])&start=2021-01-01T00:00:00.781Z&end=2021-01-14T00:00:00.781Z&step=86400
这个查询会告诉我值在一天内是否达到 1 或 2,但不会告诉我在什么时间、多少次、...
我还找到了只获取值> 0的方法。它减少了数据量,但没有解决开始/结束时间戳的问题。
对于前端应用程序(轻量级),有没有办法使用 prometheus HTTP fetch 来做到这一点?
注意:我无法编辑普罗米修斯本身
编辑:迄今为止我发现的最接近的方式:
9090/api/v1/query_range?query=sum by(...)(__name__="mystatus")>0&start=2021-01-05T00:00:00.781Z&end=2021-01-06T00:00:00.781Z&step=300
哪一天会给我所有状态> 0,间隔为5分钟。 不过话说回来,数据已经太多了
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。