使用 API 获取面板的 Grafana 警报历史记录

Posted

技术标签:

【中文标题】使用 API 获取面板的 Grafana 警报历史记录【英文标题】:Get Grafana alerts history for a panel by using API 【发布时间】:2020-06-01 22:52:24 【问题描述】:

我将 Grafana 与很多仪表板和面板一起使用。 许多面板都有警报。 因此,这些警报通常会更改其状态,例如,从 OK 变为 Altering 或 no_data。

我还有我的应用程序 (ASP.NET Core),我想在其中使用 Grafana HTTP API 获取某些面板的当前警报状态以及警报历史记录。

使用如下请求:

GET api/alerts?PanelId=36 

我只得到最新的通知状态。 如何获取此面板的通知历史记录?这样我可以使用 Panel-> Edit-> Alert-> State History 在 Grafana 界面中看到。 也许我需要对 API GET 请求的 query 或 dashboardQuery 参数做些什么?

谢谢!

【问题讨论】:

【参考方案1】:

https://grafana.com/docs/grafana/latest/http_api/alerting/

将 state=ALL 添加到查询字符串

【讨论】:

【参考方案2】:

您可以使用 '/api/annotations?limit=100&&type=alert' API

【讨论】:

【参考方案3】:

我在浏览器的开发模式下环顾四周,搜索“api”,发现结果是从GET/api/annotations?from=1618380800000&to=1618898976586&dashboardId=565&panelId=40 渲染的,相应地设置了时间。

后来,我意识到它在https://grafana.com/docs/grafana/latest/http_api/annotations/#find-annotations中有很好的记录

【讨论】:

以上是关于使用 API 获取面板的 Grafana 警报历史记录的主要内容,如果未能解决你的问题,请参考以下文章

Grafana 警报执行超时,为啥会这样?

如何在 Grafana 中重置“警报”状态

如何在 Grafana 中查找内存使用差异

Grafana 中的散点图

如何通过 REST API 更新 Grafana 面板中的指标值

Grafana的介绍与使用