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

Мониторинг VM — dictaro-vm

Обща информация

ПараметърСтойност
Имеdictaro-vm
РегионNorth Europe
Resource Groupdictaro-rg
РоляLicensing API + Grafana/Prometheus/Loki мониторинг стек
ДостъпCloudflare Tunnels
GitHub RunnerSelf-hosted runner с label dictaro-vm

Услуги

VM-ът хоства два стека чрез един docker-compose.yml в licensing-go/:

Деплоймент

Деплойва се чрез self-hosted GitHub Actions runner на VM-а (същия подход като DGX Spark за ASR):

  1. deploy-licensing.yml се тригва при промени в licensing-go/
  2. Runner-ът (dictaro-vm) чекаутва кода с actions/checkout@v4
  3. JWT ключове се записват от GitHub Secrets
  4. Env vars се подават директно към docker compose (без .env файл)
  5. docker compose -f docker-compose.yml up -d --build --force-recreate
  6. Health check на API (localhost:8000/health) и Grafana (localhost:3000/api/health)

Конфигурационни файлове

ФайлОписание
licensing-go/docker-compose.ymlДефиниция на всички услуги
licensing-go/monitoring/prometheus/prometheus.ymlPrometheus scrape config
licensing-go/monitoring/loki/loki-config.ymlLoki storage и retention
licensing-go/monitoring/grafana/provisioning/datasources/Prometheus + Loki datasources
licensing-go/monitoring/grafana/provisioning/dashboards/Auto-provisioned dashboards
licensing-go/monitoring/grafana/dashboards/JSON dashboard файлове

Cloudflare Tunnels

Два tunnel-а работят като Docker контейнери:

# monitoring.dictaro.ai → Grafana
tunnel-monitoring:
image: cloudflare/cloudflared:latest
command: tunnel --no-autoupdate run --token ${CLOUDFLARE_TUNNEL_TOKEN_MONITORING}

# loki.dictaro.ai → Loki (за remote promtail)
tunnel-loki:
image: cloudflare/cloudflared:latest
command: tunnel --no-autoupdate run --token ${CLOUDFLARE_TUNNEL_TOKEN_LOKI}

Grafana Azure AD автентикация

Grafana е конфигуриран с Microsoft 365 логин:

ПараметърСтойност
Tenant ID9348f3ce-96ad-48a8-87bd-7825eb7ea7e6
Scopesopenid email profile
Auto-logintrue
Anonymous accessfalse
Root URLhttps://monitoring.dictaro.ai/