使用 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 警报历史记录的主要内容,如果未能解决你的问题,请参考以下文章