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

Мониторинг — Prometheus

Prometheus е централната метрична система на Dictaro, работеща на Azure VM (dictaro-vm). Събира метрики от 6 scrape targets — локални и отдалечени (чрез Cloudflare Tunnel).

Конфигурация

Файл: licensing-go/monitoring/prometheus.yml

Global настройки

ПараметърСтойност
scrape_interval15 секунди
evaluation_interval15 секунди

Scrape Targets

Детайли за всеки job

Job NameTargetMetrics PathSchemeLabelsОписание
licensing-apiapi:9090/metricsHTTPservice: licensing, host: licensing-serverGo licensing API (Prometheus client_golang)
node-licensingnode-exporter:9100/metricsHTTPhost: licensing-serverСистемни метрики на Azure VM
asr-gx10-804fgx10-804f.dictaro.ai/metrics/asrHTTPShost: gx10-804f, service: asrASR сървър метрики (Python prometheus_client)
node-gx10-804fgx10-804f.dictaro.ai/metrics/nodeHTTPShost: gx10-804fСистемни метрики на DGX Spark
gpu-gx10-804fgx10-804f.dictaro.ai/metrics/gpuHTTPShost: gx10-804fNVIDIA GPU метрики (DCGM exporter)
prometheuslocalhost:9090/metricsHTTPSelf-monitoring

Каталог на метрики

ASR метрики (от asr-gx10-804f)

МетрикаТипLabelsОписание
asr_requests_totalCountermachine_id, task, status, languageОбщ брой ASR заявки
asr_audio_seconds_totalCountermachine_id, task, languageОбщо обработени аудио секунди
asr_processing_secondsHistogrammachine_id, task, languageВреме за обработка (ASR + postprocess)
asr_postprocess_secondsHistogrammachine_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_totalCounterendpoint, method, status_codeHTTP заявки към licensing API
licensing_request_duration_secondsHistogramendpointЛатентност на HTTP заявките
licensing_auth_logins_totalCounterprovider, statusLogin опити по OAuth provider
licensing_auth_refreshes_totalCounterstatusToken refresh опити
licensing_billing_checkouts_totalCounterstatusStripe checkout опити
licensing_billing_webhooks_totalCounterevent_type, statusStripe webhook събития
licensing_usage_records_totalCounterСъздадени usage записи
licensing_usage_duration_seconds_totalCounterОбща dictation продължителност

Node Exporter метрики (от node-licensing и node-gx10-804f)

КатегорияПримерни метрикиОписание
CPUnode_cpu_seconds_totalCPU time по mode (user, system, idle)
Паметnode_memory_MemTotal_bytes, node_memory_MemAvailable_bytesRAM usage
Дискnode_filesystem_size_bytes, node_filesystem_avail_bytesDisk usage
Мрежаnode_network_receive_bytes_total, node_network_transmit_bytes_totalNetwork I/O
Loadnode_load1, node_load5, node_load15System load averages

GPU метрики (от gpu-gx10-804f)

DCGM (Data Center GPU Manager) exporter метрики:

МетрикаОписание
DCGM_FI_DEV_GPU_UTILGPU utilization (%)
DCGM_FI_DEV_MEM_COPY_UTILMemory copy utilization (%)
DCGM_FI_DEV_FB_USEDFramebuffer memory used (MiB)
DCGM_FI_DEV_FB_FREEFramebuffer memory free (MiB)
DCGM_FI_DEV_GPU_TEMPGPU temperature (C)
DCGM_FI_DEV_POWER_USAGEPower consumption (W)
DCGM_FI_DEV_SM_CLOCKStreaming 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