Функциональные характеристики
Полный перечень возможностей программы
1. Общая характеристика
ObserveAI — комплексная система наблюдаемости (observability) для распределённых программных систем. Объединяет три основных столпа наблюдаемости — метрики, журналы и трассировки — в единую платформу с интеллектуальной корреляцией данных.
Программа реализована по микросервисному принципу и развёртывается в SaaS-формате на серверах в Российской Федерации либо в инфраструктуре заказчика (on-premise) с использованием Docker-контейнеров.
2. Архитектура
Программа включает следующие компоненты:
- Приёмник телеметрии (Ingest API) — принимает спаны, журналы и метрики от агентов и SDK
- Аналитический backend на Python/FastAPI — REST API, биллинг, аутентификация
- Хранилище временных рядов ClickHouse — основное хранилище телеметрии (3 таблицы: spans, logs, infrastructure)
- Реляционное хранилище PostgreSQL — метаданные, пользователи, подписки
- Кеш-сервер Redis — кеш плана, очереди, расчёт квот
- Веб-интерфейс — HTML5-приложение
- Набор SDK для пяти языков программирования
- Обратный прокси Nginx + Certbot для SSL
3. Функциональные модули
3.1. Приём телеметрии (Ingestion)
Три эндпоинта приёма данных:
POST /api/v1/ingest/spans— распределённые трассировкиPOST /api/v1/ingest/logs— журналы приложенийPOST /api/v1/ingest/infrastructure— метрики хостов
Аутентификация по API-ключу (заголовок X-API-Key или параметр ?api_key=). Поддерживается batch-режим. Учёт объёма данных для тарификации.
3.2. Распределённые трассировки
Хранение и просмотр трассировок: связь спанов через trace_id и parent_span_id, отображение в виде каскадной диаграммы (Gantt). Совместимость с моделью OpenTelemetry. Фильтрация по сервису, статусу, длительности и атрибутам.
3.3. Журналы
Сбор структурированных и неструктурированных логов. Полнотекстовый поиск и фасетная фильтрация по сервису, уровню (DEBUG/INFO/WARN/ERROR/FATAL) и временному окну. Просмотр контекста — соседних строк журнала.
3.4. Сохранённые поиски
Сохранение часто используемых поисковых запросов. Экспорт результатов в форматах CSV и JSON.
3.5. Мониторинг инфраструктуры
Мониторинг хостов и контейнеров: загрузка процессора, потребление оперативной памяти, использование диска, сетевой трафик, средняя загрузка (load average).
3.6. APM (Application Performance Monitoring)
Детальная производительность приложения: медленные endpoint'ы, медленные запросы к базам данных, частые ошибки, перцентили задержек (p50, p95, p99). Группировка по сервисам и операциям.
3.7. Карта сервисов (Service Map)
Автоматическое построение графа зависимостей микросервисов на основе данных распределённых трассировок. Подсветка проблемных связей по уровню ошибок и задержки.
3.8. Отслеживание ошибок (Error Tracking)
Группировка повторяющихся ошибок по схожести (fingerprint). Отображение стека вызовов, частоты возникновения, статусов («новая», «решена», «игнорируется»). Дедупликация одинаковых ошибок.
3.9. Корреляция
Связывание трассировок, журналов и метрик в едином представлении. Для конкретного запроса показываются все связанные журналы и значения метрик в нужный момент времени.
3.10. Алерты
Правила оповещений: превышение error rate, высокая задержка endpoint'а, отсутствие данных. Доставка через Slack, произвольные webhook, электронную почту.
4. Технологический стек
- Python 3.11+ с фреймворком FastAPI — серверная часть
- ClickHouse 24.3 — колоночная СУБД для телеметрии
- PostgreSQL 16 — реляционное хранилище метаданных
- Redis 7 — кеш и очередь задач
- Nginx — обратный прокси и раздача статики
- Docker, docker-compose — контейнеризация и оркестрация
- ЮKassa — российская платёжная система
- SDK: Python (PyPI), Node.js (npm), Go (Go modules), C# (NuGet), JavaScript (CDN)
5. Поддерживаемые форматы данных и протоколы
- JSON — формат телеметрии и ответов API
- HTTP/HTTPS — протокол приёма данных и веб-доступа
- REST API — программное взаимодействие
- OpenTelemetry-совместимая модель — для трассировок (trace_id, span_id, parent_span_id, timestamp, duration_ms, status, attributes)
- Webhook (HTTP POST) — отправка алертов и приём событий ЮKassa
- CSV, JSON — экспорт журналов и метрик
6. Производительность и ёмкость
Программа способна обрабатывать до 5 000 спанов и 10 000 строк журналов в секунду при минимальной конфигурации сервера и кратно больше при рекомендуемой. Хранилище ClickHouse эффективно сжимает телеметрию (типичная степень сжатия 10–15×). Время отклика веб-интерфейса при типовых запросах — менее 1 секунды.
7. Системные требования
Минимальная конфигурация сервера
- Процессор x86-64, не менее 4 ядер
- Оперативная память не менее 8 ГБ
- Дисковое пространство не менее 100 ГБ SSD
- Операционная система Ubuntu 22.04 LTS или совместимая
Рекомендуемая конфигурация
- Процессор 8+ ядер, 3 ГГц
- Оперативная память 16+ ГБ
- Диск NVMe SSD от 200 ГБ
Для клиентов
Современный браузер с поддержкой JavaScript ES2020+ (Google Chrome 90+, Mozilla Firefox 90+, Яндекс.Браузер, Safari 14+).
8. Безопасность и соответствие требованиям
- Хранение всех данных только на серверах в Российской Федерации
- Соответствие требованиям 152-ФЗ «О персональных данных»
- Аутентификация — JWT-токены и API-ключи с хешированием SHA-256
- Изоляция данных между организациями на уровне базы данных
- Защита webhook ЮKassa — проверка IP-адресов и повторная верификация
- Защита от перебора паролей — токены сброса с ограниченным временем жизни
- Шифрование данных при передаче (TLS 1.2+)
9. Локализация
Пользовательский интерфейс полностью на русском языке. Технические термины (DEBUG/INFO/WARN/ERROR) сохранены в международной форме как профессиональный стандарт.
10. Класс ПО
По приказу Минцифры № 486 от 22.09.2020: 04.13 (Системы мониторинга и управления) и 04.05 (Информационные системы для решения специфических отраслевых задач).