Мониторинг — Prometheus
Prometheus е централната метрична система на Dictaro, работеща на Azure VM (dictaro-vm). Събира метрики от 6 scrape targets — локални и отдалечени (чрез Cloudflare Tunnel).
Конфигурация
Файл: licensing-go/monitoring/prometheus.yml
Global настройки
| Параметър | Стойност |
|---|---|
scrape_interval | 15 секунди |
evaluation_interval | 15 секунди |
Scrape Targets
Детайли за всеки job
| Job Name | Target | Metrics Path | Scheme | Labels | Описание |
|---|---|---|---|---|---|
licensing-api | api:9090 | /metrics | HTTP | service: licensing, host: licensing-server | Go licensing API (Prometheus client_golang) |
node-licensing | node-exporter:9100 | /metrics | HTTP | host: licensing-server | Системни метрики на Azure VM |
asr-gx10-804f | gx10-804f.dictaro.ai | /metrics/asr | HTTPS | host: gx10-804f, service: asr | ASR сървър метрики (Python prometheus_client) |
node-gx10-804f | gx10-804f.dictaro.ai | /metrics/node | HTTPS | host: gx10-804f | Системни метрики на DGX Spark |
gpu-gx10-804f | gx10-804f.dictaro.ai | /metrics/gpu | HTTPS | host: gx10-804f | NVIDIA GPU метрики (DCGM exporter) |
prometheus | localhost:9090 | /metrics | HTTP | — | Self-monitoring |
Каталог на метрики
ASR метрики (от asr-gx10-804f)
| Метрика | Тип | Labels | Описание |
|---|---|---|---|
asr_requests_total | Counter | machine_id, task, status, language | Общ брой ASR заявки |
asr_audio_seconds_total | Counter | machine_id, task, language | Общо обработени аудио секунди |
asr_processing_seconds | Histogram | machine_id, task, language | Време за обработка (ASR + postprocess) |
asr_postprocess_seconds | Histogram | machine_id, task, language | Време за LLM post-processing |
Histogram buckets:
asr_processing_seconds: 0.5, 1, 2, 5, 10, 30, 60 секундиasr_postprocess_seconds: 0.5, 1, 2, 5, 10, 30 секунди
Status стойности: completed, error, disconnected, lock_timeout
Task стойности: transcribe, translate
Licensing метрики (от licensing-api)
| Метрика | Тип | Labels | Описание |
|---|---|---|---|
licensing_requests_total | Counter | endpoint, method, status_code | HTTP заявки към licensing API |
licensing_request_duration_seconds | Histogram | endpoint | Латентност на HTTP заявките |
licensing_auth_logins_total | Counter | provider, status | Login опити по OAuth provider |
licensing_auth_refreshes_total | Counter | status | Token refresh опити |
licensing_billing_checkouts_total | Counter | status | Stripe checkout опити |
licensing_billing_webhooks_total | Counter | event_type, status | Stripe webhook събития |
licensing_usage_records_total | Counter | — | Създадени usage записи |
licensing_usage_duration_seconds_total | Counter | — | Обща dictation продължителност |
Node Exporter метрики (от node-licensing и node-gx10-804f)
| Категория | Примерни метрики | Описание |
|---|---|---|
| CPU | node_cpu_seconds_total | CPU time по mode (user, system, idle) |
| Памет | node_memory_MemTotal_bytes, node_memory_MemAvailable_bytes | RAM usage |
| Диск | node_filesystem_size_bytes, node_filesystem_avail_bytes | Disk usage |
| Мрежа | node_network_receive_bytes_total, node_network_transmit_bytes_total | Network I/O |
| Load | node_load1, node_load5, node_load15 | System load averages |
GPU метрики (от gpu-gx10-804f)
DCGM (Data Center GPU Manager) exporter метрики:
| Метрика | Описание |
|---|---|
DCGM_FI_DEV_GPU_UTIL | GPU utilization (%) |
DCGM_FI_DEV_MEM_COPY_UTIL | Memory copy utilization (%) |
DCGM_FI_DEV_FB_USED | Framebuffer memory used (MiB) |
DCGM_FI_DEV_FB_FREE | Framebuffer memory free (MiB) |
DCGM_FI_DEV_GPU_TEMP | GPU temperature (C) |
DCGM_FI_DEV_POWER_USAGE | Power consumption (W) |
DCGM_FI_DEV_SM_CLOCK | Streaming Multiprocessor clock (MHz) |
Поток на данни
Storage
Prometheus данните се съхраняват в Docker volume prometheus-data. По подразбиране Prometheus пази данни за 15 дни (default retention).
Полезни PromQL заявки
# ASR заявки/секунда по статус
rate(asr_requests_total[5m])
# 95-ти перцентил на processing time
histogram_quantile(0.95, rate(asr_processing_seconds_bucket[5m]))
# Licensing API error rate
rate(licensing_requests_total{status_code=~"5.."}[5m])
/ rate(licensing_requests_total[5m])
# GPU utilization
DCGM_FI_DEV_GPU_UTIL{host="gx10-804f"}
# RAM usage процент по host
(1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100