Как получить графану оповещения в рубине - PullRequest
0 голосов
/ 03 декабря 2018

Я пытаюсь использовать API Grafana (здесь документ http://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.

Есть идеи, что я делаю не так?

Спасибо, Нику

1 Ответ

0 голосов
/ 06 декабря 2018

Обнаружил проблему: когда я создал токен API, я выбрал разрешения «Просмотрщик» и подумал, что этого достаточно, чтобы просто сделать запрос на получение предупреждений, но, по-видимому, это не так, создал новый токен API с разрешениями «Администратор».и это работает.

...