From 5ea6fd290a08e52429d19623d102f44fb0187c7e Mon Sep 17 00:00:00 2001 From: Evgeny Storozhenko Date: Tue, 8 Sep 2026 13:41:13 +0000 Subject: [PATCH] =?UTF-8?q?Fix=20vinograd-wan=20dashboard:=20=D1=83=D0=B1?= =?UTF-8?q?=D1=80=D0=B0=D0=BD=D0=B0=20=D1=81=D1=81=D1=8B=D0=BB=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=BD=D0=B0=20=5F=5Fgrafana=5F=5F=20=D0=B2=20annotations=20?= =?UTF-8?q?(Datasource=20not=20found);=20=D0=BE=D0=BF=D1=8B=D1=82=20#24?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EXPERIENCE.md | 28 ++++++++++++++++++++++++++++ grafana/dashboards/vinograd-wan.json | 17 ++--------------- 2 files changed, 30 insertions(+), 15 deletions(-) diff --git a/EXPERIENCE.md b/EXPERIENCE.md index 28350f9..9620ec9 100644 --- a/EXPERIENCE.md +++ b/EXPERIENCE.md @@ -104,6 +104,34 @@ curl -s -u 'estorozhenko:ПАРОЛЬ' http://127.0.0.1:3001/api/orgs/1/users # curl -s -u 'it@vinogorod.ru:1qazXSW2' http://127.0.0.1:3001/api/users # → 403 (read-only) ``` +### 24. Ошибка "Datasource __grafana__ was not found" при открытии дашборда (2026-09-08) + +Симптом: на `https://grafana.nixg.ru/d/vinograd-wan/vinograd-wan` выскакивало +окно "Failed to retrieve datasource / Datasource __grafana__ was not found". +Панели при этом в порядке (Prometheus uid есть), а **секция `annotations`** +в JSON дашборда ссылалась на встроенный датасорс: + +```json +"annotations": { "list": [ { "builtIn": 1, + "datasource": {"type": "grafana", "uid": "__grafana__"}, ... } ] } +``` + +- `__grafana__` — встроенный datasource Grafana (аннотации/алерты). В нашей + БД `data_source` его НЕТ (только Prometheus и Loki) → Grafana 11 OSS не + может его найти и показывает ошибку. Панели не используют аннотации — + секция добавляется в JSON автоматически при создании (шаблон), + но в файле она бесполезна. +- **Фикс:** очистить `annotations.list` в файле дашборда: + ```bash + jq '.annotations.list = []' grafana/dashboards/vinograd-wan.json > /tmp/vw.json \ + && mv /tmp/vw.json grafana/dashboards/vinograd-wan.json + ``` + Провайдер дашбордов перечитывает файл **каждые 30с** (рестарт не нужен), + в БД появляется version 2 с `"list": []` — ошибка исчезает. +- Эталон: рабочий `garage-cluster.json` всегда имеет `"annotations": {"list": []}`. +- Проверка из БД: `docker cp grafana:/var/lib/grafana/grafana.db /tmp/gf.db` → + `SELECT data FROM dashboard WHERE uid='vinograd-wan'` → `__grafana__` отсутствует. + ## Ключевые находки / грабли ### 1. Admin API Garage v2.1 слушает ОТДЕЛЬНЫЙ порт (`[admin] api_bind_addr`) diff --git a/grafana/dashboards/vinograd-wan.json b/grafana/dashboards/vinograd-wan.json index b4ce786..3f41b30 100644 --- a/grafana/dashboards/vinograd-wan.json +++ b/grafana/dashboards/vinograd-wan.json @@ -1,19 +1,6 @@ { "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "__grafana__" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "style" - } - ] + "list": [] }, "editable": true, "fiscalYearStartMonth": 0, @@ -212,4 +199,4 @@ "uid": "vinograd-wan", "version": 1, "weekStart": "" -} \ No newline at end of file +}