Fix vinograd-wan dashboard: убрана ссылка на __grafana__ в annotations (Datasource not found); опыт #24

This commit is contained in:
Evgeny Storozhenko
2026-09-08 13:41:13 +00:00
parent da1746c455
commit 5ea6fd290a
2 changed files with 30 additions and 15 deletions
+28
View File
@@ -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) 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`) ### 1. Admin API Garage v2.1 слушает ОТДЕЛЬНЫЙ порт (`[admin] api_bind_addr`)
+2 -15
View File
@@ -1,19 +1,6 @@
{ {
"annotations": { "annotations": {
"list": [ "list": []
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "__grafana__"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "style"
}
]
}, },
"editable": true, "editable": true,
"fiscalYearStartMonth": 0, "fiscalYearStartMonth": 0,
@@ -212,4 +199,4 @@
"uid": "vinograd-wan", "uid": "vinograd-wan",
"version": 1, "version": 1,
"weekStart": "" "weekStart": ""
} }