Панели мониторинга Grafana, созданные с помощью API, не отображаются в пользовательском интерфейсе Grafana

Я предполагаю, что я делаю что-то не так, потому что каждый раз, когда я запускаю свой api-скрипт из бэкэнда, он говорит «успех», но когда я перехожу в пользовательский интерфейс Grafana, только что созданную панель инструментов невозможно найти.

вот полный сценарий:

#!/usr/bin/env python

import requests,sys,json

url = "http://admin:[email protected]:3000/api/dashboards/home"
headers = {
    'Authorization': 'Bearer eyJrIjoiazJblahblahMiLCJuIjoiYXBpa2V5Y3VybCIsImlkIjoyf',
    'Content-Type': 'application/json',
}
creategrdb = '''{
    "dashboard": {
        "id": null,
        "title": "API Test Dashboard 3",
        "originalTitle": "API Test Dashboard 3",
        "timezone": "browser",
        "rows": [
            {
                "collapse": false,
                "editable": true,
                "height": "250px",
                "panels": [],
                "title": "Row"
            }
        ],
        "schemaVersion": 6,
        "version": 0
    }
}'''
response = requests.post('http://10.10.10.10:3000/api/dashboards/db', headers=headers, data=creategrdb, verify=True)
print (response.text)

Когда я запускаю этот скрипт, я получаю следующее:

{"id":17,"slug":"api-test-dashboard-3","status":"success","uid":"wtKFBr6ik","url":"/d/wtKFBr6ik/api-test-dashboard-3","version":1}

Что говорит об успехе.

Но когда я перехожу в пользовательский интерфейс графаны, чтобы убедиться, что панель инструментов создана, я ничего не вижу.

Когда я снова запускаю скрипт, он прерывается:

{"message":"A dashboard with the same name in the folder already exists","status":"name-exists"}

Указание на то, что приборная панель где-то создана, но где это «где-то», кажется загадкой.

И пользователь, входящий в пользовательский интерфейс как «администратор», имеет все привилегии суперпользователя. Поэтому я сомневаюсь, что это проблема с разрешениями.

Любые идеи?


person Dev Ops    schedule 06.04.2019    source источник
comment
Он был создан в таблице дашборда базы данных? Также установите ведение журнала для отладки и посмотрите, что это даст.   -  person Phil    schedule 09.04.2019


Ответы (2)


Обновление (теперь решено лучше)

Убедитесь, что для параметра org_id в определении индивидуальной панели управления установлено значение «1». Вот и все. Это решило проблему для меня.

Обновление. Я мог "решить" проблему:

В моем случае в базе данных, в таблице панель инструментов, я мог видеть панели мониторинга, которые не были видны в пользовательском интерфейсе. Я просмотрел столбцы, чтобы найти какие-либо различия, и заметил, что столбцы

  • создан
  • updated_by
  • org_id

были установлены на -1, где "нормальные" панели мониторинга имели положительное значение. Установка этих значений на 1 решила проблему для меня. Шаги:

  1. остановить сервер графаны
  2. Доступ к базе данных вручную (находится в / var / lib / grafana / в Linux)
  3. Откройте клиент базы данных с привилегиями root
  4. Отредактируйте указанные выше ячейки и запишите изменения в базу данных.
  5. Выйдите из клиента и перезапустите графану

Надеюсь, это решит проблему для всех, кто это читает! Проблема с этим подходом: вы повторно включаете дашборды, которые уже есть, но я нашел способ сделать это только вручную. Я посмотрю, смогу ли я в первую очередь предотвратить установку этих столбцов на -1 и держать это здесь в актуальном состоянии, если я добьюсь какого-либо прогресса.

Исходный ответ

Есть обновления по этому поводу? Я веду точно такое же поведение. Я нахожу новую информационную панель в базе данных, а также могу проверить, что она была зарегистрирована, потому что я могу скопировать uid из успешного ответа и выполнить для него GET, который возвращает эту якобы, но невидимую информационную панель. Так что он определенно «там», но он не отображается в пользовательском интерфейсе, и я не могу загрузить его через URL-адрес, полученный из его uid.

Однако добавление источников данных через конечные точки работает нормально.

person user3249072    schedule 18.10.2019

Я столкнулся с вариантом этого: folder_id был установлен на -1, вызывая ту же проблему. URL-адрес был доступен (скопирован из сеанса, в который я импортировал новую панель мониторинга), но панель не была указана в новых сеансах. Изменение этого идентификатора на 1 (общая папка) устранило проблему, хотя я не знаю, почему это произошло. Это был первый раз, когда у меня была эта проблема. введите здесь описание изображения

person tlips    schedule 29.04.2020