Мониторинг VM — dictaro-vm
Обща информация
| Параметър | Стойност |
|---|---|
| Име | dictaro-vm |
| Регион | North Europe |
| Resource Group | dictaro-rg |
| Роля | Licensing API + Grafana/Prometheus/Loki мониторинг стек |
| Достъп | Cloudflare Tunnels + az vm run-command |
Услуги
VM-ът хоства два стека чрез един docker-compose.yml в licensing-go/:
Деплоймент
VM-ът не се деплойва чрез отделен CI/CD pipeline за мониторинга. Мониторинг стекът се деплойва заедно с Licensing API:
deploy-licensing.ymlсе тригва при промени вlicensing-go/az vm run-command invokeзаписва.envи JWT ключовеdocker compose up -d --build --force-recreateрестартира всичко- Health check на API (
/health) и Grafana (/api/health)
Ръчен деплой на мониторинга
Ако трябва да се промени само мониторинг конфигурацията:
az vm run-command invoke \
--resource-group dictaro-rg \
--name dictaro-vm \
--command-id RunShellScript \
--scripts "
cd /home/rosen/whisper-keyboard/licensing-go
docker compose restart grafana prometheus loki
"
Конфигурационни файлове
| Файл | Описание |
|---|---|
licensing-go/docker-compose.yml | Дефиниция на всички услуги |
licensing-go/monitoring/prometheus/prometheus.yml | Prometheus scrape config |
licensing-go/monitoring/loki/loki-config.yml | Loki 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 ID | 9348f3ce-96ad-48a8-87bd-7825eb7ea7e6 |
| Scopes | openid email profile |
| Auto-login | true |
| Anonymous access | false |
| Root URL | https://monitoring.dictaro.ai/ |