Перейти к основному содержимому

Сбор и сохранение диагностических данных сервиса бизнес-логики

Для сбора и сохранения диагностических данных, таких как журналы событий и трассировок, а также метрики, сервисы бизнес-логики Атомкод используют OpenTelemetry.

Класс PlatformService подключает и настраивает компоненты OpenTelemetry. OpenTelemetryCollector в составе Атомкод по умолчанию собирает диагностические данные в сервисах Атомкод. Для удобства локальной отладки журналы событий и трассировок также направляются в консоль сервиса.

Следующий блок кода демонстрирует настройку параметров OpenTelemetryCollector через конфигурацию сервиса.

{
OTEL_EXPORTER_OTLP_LOGS_ENDPOINT: "http://url:port",
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT: "http://url:port",
OTEL_SERVICE_NAME: "mysuperservice",
}

Для ведения журнала трассировок подключаются библиотеки автоматического инструментирования входящих и исходящих HTTP-запросов.

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

{
"LogLevel": "Information",
}

Кроме того, уровнем ведения журнала событий в библиотеках .NET Core, используемых в составе разрабатываемого сервиса, можно управлять через параметры, которые демонстрирует следующий блок кода. Более подробная информация о параметрах содержится в документации библиотек .NET Core.

{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
...
}
}
}