Преминете към основното съдържание

Мониторинг — 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ТипURLDefault
Prometheusprometheushttp://prometheus:9090Yes
Lokilokihttp://loki:3100No

Двата datasource-а са editable: false — конфигурацията им не може да се променя от UI.

Dashboard Provider

Файл: provisioning/dashboards/dashboards.yml

ПараметърСтойност
Provider nameDictaro
FolderDictaro
Typefile
Path/var/lib/grafana/dashboards
Editabletrue
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-processingLLM post-processing time, процент заявки с post-processing
ЕзициРазпределение на заявките по език, top 10 езика
GPUGPU 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
BillingStripe checkout attempts, webhook events по тип (checkout.completed, subscription.updated, и др.)
UsageUsage 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 панела за системни метрики от двата хоста.

КатегорияПанели
CPUCPU utilization по host, load average
ПаметRAM usage по host, swap usage
ДискDisk usage, disk I/O
МрежаNetwork traffic (in/out) по host
GPUGPU 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 distributionPie chart по log level
Container log explorerЛогове от конкретен Docker контейнер
Host selectorDropdown за host (licensing-server / gx10-804f)
Container selectorDropdown за container name
Stream selectorDropdown за stream (stdout / stderr)
Free text searchТекстово поле за свободно търсене в логове

Datasource: Loki. Заявки: LogQL.

Azure AD OAuth конфигурация

ПараметърСтойност
ProviderAzure AD
Tenant ID9348f3ce-96ad-48a8-87bd-7825eb7ea7e6
Auth URLhttps://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize
Token URLhttps://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
Scopesopenid email profile
Auto logintrue (автоматичен redirect към Microsoft)
Anonymous accessЗабранен (GF_AUTH_ANONYMOUS_ENABLED=false)
Role attribute strictfalse (всеки authenticated потребител получава достъп)
Allowed organizationsСамо tenant 9348f3ce-96ad-48a8-87bd-7825eb7ea7e6

Допълнителни plugins

  • grafana-azure-monitor-datasource — инсталира се автоматично чрез GF_INSTALL_PLUGINS

Volumes

VolumeMount pathОписание
grafana-data/var/lib/grafanaGrafana database, preferences, alerting
provisioning/ (bind)/etc/grafana/provisioning (read-only)Datasources + dashboard provider config
dashboards/ (bind)/var/lib/grafana/dashboards (read-only)JSON dashboard файлове