Перейти к содержанию

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

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

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

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

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

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

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

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

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

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

Включить телеметрию можно в файле appsettings.json — в секцию Telemetry необходимо добавить ключи:

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

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

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