Мониторинг и алерты
Стек мониторинга (VictoriaMetrics, Fluent Bit, Grafana) подтверждён по данным YouTrack DOTMIND-A-194 и по структуре репозитория devops-infra (devops-infra-tree.md). README репозитория devops-infra — шаблонная заглушка GitLab. Конкретные пороговые значения алертов не зафиксированы в raw-данных — носят рекомендательный характер.
Обзор
Думатель использует многоуровневую систему мониторинга для обеспечения надёжности и наблюдаемости всех компонентов платформы. Согласно архитектурному контексту, стек включает Sentry (error tracking), VictoriaMetrics (метрики), Grafana (дашборды) и Fluent Bit (сбор логов).
Подтверждённые компоненты стека (из devops-infra-tree.md)
Структура репозитория dot.mind/devops/devops-infra подтверждает наличие следующих конфигурационных артефактов:
| Компонент | Путь в репозитории | Тип |
|---|---|---|
| VictoriaMetrics | LOGS/victoriametrics/vmagent.yaml | vmagent config |
| VictoriaLogs | LOGS/victorialogs/victorialogs.service | systemd-сервис |
| Fluent Bit | LOGS/fluentbit/values.yaml, README.MD | Helm values |
| oauth2-proxy | LOGS/oauth2-proxy/oauth2-proxy.cfg | Конфиг прокси для доступа к UI |
| NGINX (logs) | LOGS/nginx/victorialogs | Конфиг nginx → VictoriaLogs |
| Milvus UI (Attu) | UI/milvus-ui-attu.yaml | K8s manifest |
| MLflow | MLFLOW/values-community.yaml | Helm values |
| GPU Operator | GPU-OPERATOR/values.yaml | Helm values |
| GitLab Runners | RUNNERS/values.yaml | Helm values |
| Keycloak dev | keycloak-dev/values.yaml, ingress.yaml | Helm + Ingress |
| Keycloak prod | keycloak-prod/values.yaml, ingress.yaml | Helm + Ingress |
| Cert-Manager | cert-manager/issuer-prod.yaml | ClusterIssuer |
Инструменты мониторинга
Sentry — трекинг ошибок
Все микросервисы интегрированы с Sentry для:
- Трекинг исключений — автоматический захват необработанных ошибок
- Sourcemaps — маппинг ошибок в минифицированном фронтенде к исходному коду
- Release management — привязка ошибок к конкретным релизам
- Context enrichment — ID задач, metadata, счётчики повторов
Конфигурация:
- Frontend (Seadragon): Sentry SDK с sourcemaps upload при сборке
- Backend (Python-сервисы): Sentry SDK в каждом воркере Orker
- Email-сервис (Gull): Sentry SDK для отслеживания ошибок отправки
Kubernetes — мониторинг инфраструктуры
- Pod health checks — liveness/readiness probes
- HPA (Horizontal Pod Autoscaler) — автоматическое масштабирование
- Pod verification — smoke-тесты после деплоя
- Resource quotas — лимиты CPU/Memory на namespace
NATS JetStream — мониторинг очередей
- Количество сообщений в потоке
- Задержка обработки (consumer lag)
- Статус durable consumers
- Счётчики retry и dead-letter
Алерты
Критические
| Метрика | Порог | Действие |
|---|---|---|
| Pod CrashLoopBackOff | Любой | Проверить логи, откатить деплой |
| NATS consumer lag | > 1000 сообщений | Масштабировать воркеры |
| Sentry error rate spike | > 10x baseline | Немедленная диагностика |
| Database connection pool exhausted | 0 available | Проверить утечки соединений |
Предупреждения
| Метрика | Порог | Действие |
|---|---|---|
| CPU utilization | > 80% sustained | Масштабировать HPA |
| Memory usage | > 85% | Проверить утечки памяти |
| Response time P95 | > 5s | Профилирование запросов |
| Failed email delivery | > 5% | Проверить SMTP конфигурацию |
Логирование
Структура логов
Все сервисы используют структурированное логирование:
- Python-сервисы:
loggingмодуль с JSON-форматированием - Next.js: console logging с Sentry integration
- Orker workers: детализированные логи с metadata задач (ID, топик, размер)
Уровни логирования
| Уровень | Использование |
|---|---|
ERROR | Необработанные исключения, критические сбои |
WARNING | Ошибки бизнес-логики, retry attempts |
INFO | Успешные операции, деплой-события |
DEBUG | Детали обработки (включается через DEBUG_NATS и аналоги) |