# Мониторинг инфраструктуры

В "Первой Форме" реализована комплексная система мониторинга и трассировки для улучшения работоспособности и эффективности инфраструктуры:

Prometheus — инструмент мониторинга и оповещения с открытым исходным кодом. Prometheus извлекает метрики из нескольких конечных точек HTTP в формате OpenMetrics. Позволяет собирать и анализировать данные о состоянии различных компонентов системы.

Grafana — инструмент визуализации и мониторинга полученных от Prometheus данных, который позволяет создать информативные дашборды.

Jaeger — программное обеспечение для отслеживания и устранения проблем во взаимосвязанных программных компонентах (микросервисах). Трассировка Jaeger при возникновении проблем позволяет визуализировать цепочку событий при взаимодействии микросервисов.

Elasticsearch — провайдер индексации, с помощью которого осуществляется настройка централизованной системы сбора и анализа логов.

OpenTelemetry — набор инструментов и библиотек для стандартизации и автоматизации сбора, передачи и обработки данных о производительности приложений: метрик, трассировок и журналов (логов).

## Минимальная конфигурация

Для базового мониторинга достаточно:
- **Prometheus** — сбор метрик (обязательно при использовании Kubernetes)
- **Grafana** — визуализация (опционально)
- **Elasticsearch** — индексация логов (опционально, для расширенного поиска)

Jaeger и OpenTelemetry применяются для трассировки запросов и требуют дополнительной настройки инфраструктуры.

Включить телеметрию можно в файле [appsettings.json](https://help.1forma.ru/maintenance_guide/maintenance/app-files/appsettings_json.md) — в секцию Telemetry необходимо добавить ключи:

- EnableTracing — Включение трассировки. Возможные значения: true (включено) / false (отключено).

- EnableMetrics — Включение сбора метрик. Возможные значения: true (включено) / false (отключено).

- OtlpEndpoint — Конечная точка, через которую приложение отправляет метрики, трассировки и журналы (логи) для сбора и обработки в формате open-telemetry. По умолчанию: http://localhost:4317
