如何在ruby中获取grafana警报



我正在尝试使用grafana-api(此处为dochttp://docs.grafana.org/http_api/alerting/)获取grafana中所有警报的列表。以下是我尝试过的:

uri = URI("http://example:3000")
headers = {
'Authorization'=>'Bearer test',
'Content-Type' =>'application/json',
'Accept'=>'application/json'
}
http = Net::HTTP.new(uri.host, uri.port)
request1 = Net::HTTP::Get.new("/api/dashboards/uid/uKH1CKVmk")
response1 = JSON.parse(http.request(request1).body)

这个有效,它返回仪表板的json,但当我尝试时:

request2 = Net::HTTP::Get.new("/api/alerts?state=ALL") or
request2 = Net::HTTP::Get.new("/api/alerts?dashboardId="+response1["id"].to_s+"")
request2['Authorization'] = "Bearer test"
request2['Content-Type'] = "application/json"
request2['Accept'] = "application/json"

我得到一个空的json。

你知道我做错了什么吗?

谢谢,Nicu

发现问题时,当我创建API令牌时,我选择了"查看者"权限,我认为只对警报发出get请求就足够了,但显然不是,我使用"管理员"权限创建了一个新的API令牌,它有效。

最新更新