grafana-conf
Настройка источников данных и панелей Grafana
Простая роль для загрузки панелей и источников данных для Grafana. Она следует правилу: если панель или источник данных с тем же именем уже существуют, они не обновляются.
В настоящее время работает на уровне организации.
Использование
Пример того, как использовать роль, включен в example/
.
Требуется Ansible >=2.2. Если ваша дистрибуция этого не поддерживает, вы можете запустить Ansible из виртуальной среды:
- Создайте виртуальную среду:
$ virtualenv ansible
- Активируйте виртуальную среду:
$ source ansible/bin/activate
- Обновите pip (необязательно):
$ pip install -U pip
- Установите Ansible:
$ pip install ansible
Создание панелей
Чтобы предотвратить удаление имен источников данных из панелей, панели должны загружаться через API. Это можно сделать с помощью curl или через браузер. В этом случае приведен пример для браузера.
В Grafana переключитесь на организацию, в которой находится панель, которую вы хотите сохранить. Затем в том же браузере получите панель через API:
http://10.1.2.3:3000/api/dashboards/db/tenant-logs
Это вернет панель в виде JSON-строки. Чтобы панель успешно загрузилась, необходимо обнулить идентификатор панели. Например:
<snip>
"dashboard":{
"annotations":{"list":[]},
"editable":true,
"gnetId":null,
"hideControls":false,
"id":null, <-- Должен быть null
"links":[],
"rows": </snip>
ansible-galaxy install stackhpc/ansible-role-grafana-conf