Мониторинг — Grafana
Grafana е централната визуализационна платформа на Dictaro, достъпна на monitoring.dictaro.ai чрез Cloudflare Tunnel. Конфигурирана е с auto-provisioning на datasources и dashboards.
Конфигурация
Provisioning структура
licensing-go/monitoring/grafana/
├── provisioning/
│ ├── datasources/
│ │ └── datasources.yml # Prometheus + Loki datasources
│ └── dashboards/
│ └── dashboards.yml # File-based dashboard provider
└── dashboards/
├── asr-overview.json # 15 панела — ASR метрики
├── licensing-overview.json # 15 панела — Licensing метрики
├── system-overview.json # 16 панела — Системни метрики
├── logs.json # 8 панела — Log explorer
└── operations.json # Operations dashboard
Data Sources
Файл: provisioning/datasources/datasources.yml
| Datasource | Тип | URL | Default |
|---|---|---|---|
| Prometheus | prometheus | http://prometheus:9090 | Yes |
| Loki | loki | http://loki:3100 | No |
Двата datasource-а са editable: false — конфигурацията им не може да се променя от UI.
Dashboard Provider
Файл: provisioning/dashboards/dashboards.yml
| Параметър | Стойност |
|---|---|
| Provider name | Dictaro |
| Folder | Dictaro |
| Type | file |
| Path | /var/lib/grafana/dashboards |
| Editable | true |
| Delete protection | Изключена (disableDeletion: false) |
Dashboards
1. ASR Overview (asr-overview.json)
15 панела за мониторинг на ASR сървъра (DGX Spark).
| Категория | Панели |
|---|---|
| Заявки | Общ брой заявки, заявки/сек, заявки по статус (completed/error/disconnected/lock_timeout) |
| Латентност | Processing time histogram, средно/p95/p99 processing time |
| Аудио | Обработени аудио секунди, средна продължителност на аудио |
| Post-processing | LLM post-processing time, процент заявки с post-processing |
| Езици | Разпределение на заявките по език, top 10 езика |
| GPU | GPU utilization, GPU memory usage (от dcgm-exporter) |
Datasource: Prometheus. Метрики: asr_requests_total, asr_audio_seconds_total, asr_processing_seconds, asr_postprocess_seconds, DCGM_FI_DEV_*.
2. Licensing Overview (licensing-overview.json)
15 панела за мониторинг на Go licensing сървъра.
| Категория | Панели |
|---|---|
| Заявки | Request rate, latency histogram, error rate |
| Автентикация | Login attempts по provider (Google/GitHub/Azure), успешни/неуспешни, token refresh rate |
| Billing | Stripe checkout attempts, webhook events по тип (checkout.completed, subscription.updated, и др.) |
| Usage | Usage records създадени, обща dictation duration |
Datasource: Prometheus. Метрики: licensing_requests_total, licensing_request_duration_seconds, licensing_auth_*, licensing_billing_*, licensing_usage_*.
3. System Overview (system-overview.json)
16 панела за системни метрики от двата хоста.
| Категория | Панели |
|---|---|
| CPU | CPU utilization по host, load average |
| Памет | RAM usage по host, swap usage |
| Диск | Disk usage, disk I/O |
| Мрежа | Network traffic (in/out) по host |
| GPU | GPU temperature, power consumption, SM clock (само gx10-804f) |
Datasource: Prometheus. Метрики: node_* (от node-exporter), DCGM_FI_DEV_* (от dcgm-exporter).
Variable: host (dropdown за филтриране по licensing-server или gx10-804f).
4. Logs (logs.json)
8 панела за log exploration чрез Loki.
| Панел | Описание |
|---|---|
| Log volume | Хистограма на log обема по време |
| Error stream | Филтрирани логове, съдържащи "error", "panic", "fatal" |
| Log level distribution | Pie chart по log level |
| Container log explorer | Логове от конкретен Docker контейнер |
| Host selector | Dropdown за host (licensing-server / gx10-804f) |
| Container selector | Dropdown за container name |
| Stream selector | Dropdown за stream (stdout / stderr) |
| Free text search | Текстово поле за свободно търсене в логове |
Datasource: Loki. Заявки: LogQL.
Azure AD OAuth конфигурация
| Параметър | Стойност |
|---|---|
| Provider | Azure AD |
| Tenant ID | 9348f3ce-96ad-48a8-87bd-7825eb7ea7e6 |
| Auth URL | https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize |
| Token URL | https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token |
| Scopes | openid email profile |
| Auto login | true (автоматичен redirect към Microsoft) |
| Anonymous access | Забранен (GF_AUTH_ANONYMOUS_ENABLED=false) |
| Role attribute strict | false (всеки authenticated потребител получава достъп) |
| Allowed organizations | Само tenant 9348f3ce-96ad-48a8-87bd-7825eb7ea7e6 |
Допълнителни plugins
grafana-azure-monitor-datasource— инсталира се автоматично чрезGF_INSTALL_PLUGINS
Volumes
| Volume | Mount path | Описание |
|---|---|---|
grafana-data | /var/lib/grafana | Grafana database, preferences, alerting |
provisioning/ (bind) | /etc/grafana/provisioning (read-only) | Datasources + dashboard provider config |
dashboards/ (bind) | /var/lib/grafana/dashboards (read-only) | JSON dashboard файлове |