Перейти к содержанию

Grafana

Grafana - это опенсорсная платформа для визуализации, мониторинга и анализа данных.

Запуск через docker-compose

Делаем файл docker-compose.yml с содержимым:

version: '3'

services:
  grafana:
    restart: unless-stopped
    image: grafana/grafana-oss
    volumes:
      - data:/var/lib/grafana
      - provisioning:/etc/grafana/provisioning
    ports:
      - "9000:3000"
volumes:
  data:
  provisioning:

Запускаем при помощи docker compose up -d. Заходим на <ip_сервера>:9000, дефолтный логин и пароль: admin/admin.

Подпись кастомных плагинов

Новые версии Grafana перед запуском плагина проверяют его подпись. Без подписи плагин работать не будет, а в логе можно будет увидеть такие сообщения:

logger=plugin.loader lvl=dbug msg="Loading plugin" path=/var/lib/grafana/plugins/test/dist/plugin.json 
logger=plugin.loader lvl=dbug msg="Plugin is unsigned" id=myorg-test-datasource 

Для устранения проблемы нужно подписать плагин для приватного использования.

Получаем токен в Grafana Cloud

Перед получением подписи регистрируемся в Grafana Cloud и после регистрации, чтобы снова не копаться в куче ссылок переходим туда же.
Переходим в пункт API Keys, нажимаем на кнопку Add API Key и создаем новый ключ. В поле Role выбираем "PluginPublisher":

Получаем API ключ для Grafana

После создания ключа обязательно его куда-то копируем и никому не показываем.

Исправляем ID организации в плагине

При подписи плагина организация в plugin.json должна совпадать с той, чей подписью подписывается плагин.
Я подписываю плагин myorg-test-datasource, где myorg - это и есть название организации. В моем случае я должен заменить его на kiriharu, получится kiriharu-test-datasource.

Подписываем

Для подписи необходимо иметь установленный nodejs и npx. Npx устанавливается командой npm install -g npx.
Перед подписью важно собрать сам плагин, при сборке мы должны получить папочку dist с готовым плагином. Собираем плагин по гайду и переходим к самой подписи.

Для начала, добавляем GRAFANA_API_KEY в переменную окружения: 1. Если линуксы: export GRAFANA_API_KEY=<YOUR_API_KEY>
2. Если винда c повершеллом: $env:GRAFANA_API_KEY= '<YOUR_API_KEY>'

Запускаем npx скрипт для подписи, в --rootUrls указываем инстансы на которых будет работать плагин:

npx @grafana/sign-plugin --rootUrls http://grafana.kiriha.ru