apiVersion: 1 # Источники данных задаются файлом, а не руками в интерфейсе: настройка, сделанная # кликами, живёт только в томе и теряется при пересоздании контейнера — ровно та # ловушка, из-за которой при переезде «healthy» ничего не значил. datasources: - name: Prometheus uid: prometheus type: prometheus access: proxy url: http://prometheus:9090 isDefault: true jsonData: # Совпадает со scrape_interval: иначе Grafana подбирает шаг сама и на # длинных окнах рисует пилу там, где данные ровные. timeInterval: 30s httpMethod: POST manageAlerts: false editable: false - name: Loki uid: loki type: loki access: proxy url: http://loki:3100 jsonData: maxLines: 2000 # Связка логов с метриками по общей метке host. derivedFields: [] editable: false - name: Alertmanager uid: alertmanager type: alertmanager access: proxy url: http://alertmanager:9093 jsonData: implementation: prometheus handleGrafanaManagedAlerts: false editable: false # ── GlitchTip через ПРЯМОЙ SQL, а не через Sentry-плагин ──────────────────── # Плагин grafana/sentry-datasource официально документирован GlitchTip'ом, но # на нашей 6.1.6 половина его путей нерабочая: stats_v2 с фильтром по проекту # отдаёт 500 (открытый баг GlitchTip #381 с 2025-01-10), Events/Discover — 404 # (#416), Metrics/Spans/Tags вообще Sentry-only. В самом grafana/sentry-datasource # слова «glitchtip» не встречается ни разу — апстрим эту связку не тестирует. # # Прямой SQL от этого свободен и правок в GlitchTip не требует вовсе, нужен # только read-only пользователь. Схема проверена на живой базе 26.08: # issue_events_issue несёт count / first_seen / last_seen / status / level, # а issue_events_issueaggregate (issue_id, organization_id, date, count) # партиционирована по неделям — ряды и топ-N без сканов сырья. # # ГРАНИЦА: доступ read-only. Тренды — здесь, а assign/resolve, стектрейсы и # breadcrumbs — только в самом GlitchTip. Окна остаётся два: витрина и рабочее # место, и это осознанно, а не недоделка. - name: GlitchTip DB uid: glitchtip-db type: postgres access: proxy url: gendesign-infra-postgres:5432 database: glitchtip user: grafana_ro secureJsonData: password: ${GLITCHTIP_RO_PASSWORD} jsonData: sslmode: disable postgresVersion: 1600 timescaledb: false maxOpenConns: 4 maxIdleConns: 2 connMaxLifetime: 14400 editable: false