.NET .NET Aspire телеметрия
Одной из основных целей .NET.NET Aspire является обеспечение простой отладки и диагностики приложений. .NET .NET Aspire интеграции автоматически настраивают конфигурации логирования, трассировки и метрик, которые иногда называются основными компонентами наблюдаемости, с помощью SDK .NETOpenTelemetry.
ведение журнала. События журнала описывают то, что происходит при запуске приложения. Для интеграций .NET.NET Aspire по умолчанию включен базовый набор, и более обширное логирование может быть включено по запросу для диагностики конкретных проблем.
трассировки: трассировки коррелируют события журнала, которые являются частью одного логического действия (например, обработка одного запроса), даже если они распределяются по нескольким компьютерам или процессам.
метрики: Метрики отражают характеристики эффективности и состояния приложения в виде простых числовых значений. ** В результате они имеют низкую нагрузку на производительность, и многие службы настраивают их как постоянно активную телеметрию. Это также делает их подходящими для активации оповещений при обнаружении потенциальных проблем.
Вместе эти типы телеметрии позволяют получить аналитические сведения о поведении и производительности приложения с помощью различных средств мониторинга и анализа. В зависимости от резервной службы некоторые интеграции могут поддерживать только некоторые из этих функций.
интеграция .NET AspireOpenTelemetry
Пакет SDK
По умолчанию метод ConfigureOpenTelemetry
включает ведение журнала, трассировку и метрики для приложения. Он также добавляет экспортеров для этих точек данных, чтобы их можно было собирать другими средствами мониторинга.
Экспорт данных OpenTelemetry для мониторинга
Пакет SDK для .NETOpenTelemetry упрощает экспорт этих данных телеметрии в хранилище данных или средство создания отчетов. Механизм экспорта телеметрии основан на протоколе OpenTelemetry (OTLP), который служит стандартизованным подходом для передачи данных телеметрии через REST или gRPC. Метод ConfigureOpenTelemetry
также регистрирует экспортеров для предоставления данных телеметрии другим средствам мониторинга, таким как Prometheus или Azure Monitor. Дополнительные сведения см. в конфигурации OpenTelemetry.
переменные среды OpenTelemetry
OpenTelemetry содержит список известных переменных среды, которые настраивают наиболее важное поведение для сбора и экспорта данных телеметрии. OpenTelemetry SDK, включая SDK .NET, поддерживают чтение этих переменных.
.NET Aspire проекты запускаются с переменными среды, которые настраивают имя и идентификатор приложения в экспортируемой телеметрии и задают конечную точку адреса server OTLP для экспорта данных. Например:
-
OTEL_SERVICE_NAME
= myfrontend -
OTEL_RESOURCE_ATTRIBUTES
= service.instance.id=1a5f9c1e-e5ba-451b-95ee-ced1ee89c168 OTEL_EXPORTER_OTLP_ENDPOINT
=http://localhost:4318
Переменные среды автоматически задаются в локальной разработке.
.NET .NET Aspire локальной разработки
При создании проекта .NET Aspire панель мониторинга .NET Aspire предоставляет пользовательский интерфейс для просмотра телеметрии приложения по умолчанию. Данные телеметрии отправляются на панель мониторинга с помощью OTLP, а панель мониторинга реализует OTLP server для получения данных телеметрии и их хранения в памяти. Рабочий процесс отладки .NET.NET Aspire выглядит следующим образом:
- Разработчик запускает проект .NET.NET Aspire с отладкой, нажимает F5.
- .NET .NET Aspire запуск панели мониторинга и панели управления разработчика (DCP).
- Конфигурация приложения выполняется в проекте AppHost
. - OpenTelemetry переменные среды автоматически добавляются в .NET проекты во время настройки приложения.
- DCP предоставляет имя (
OTEL_SERVICE_NAME
) и идентификатор (OTEL_RESOURCE_ATTRIBUTES
) приложения в экспортируемой телеметрии. - Конечная точка OTLP — это порт HTTP/2, запущенный панелью мониторинга. Эта конечная точка устанавливается в переменной среды
OTEL_EXPORTER_OTLP_ENDPOINT
для каждого проекта. Это позволяет проектам экспортировать данные телеметрии обратно на панель мониторинга. - Небольшие интервалы экспорта (
OTEL_BSP_SCHEDULE_DELAY
,OTEL_BLRP_SCHEDULE_DELAY
,OTEL_METRIC_EXPORT_INTERVAL
), чтобы данные были быстро доступны на панели мониторинга. Небольшие значения используются в локальной разработке для определения приоритета отклика панели мониторинга по сравнению с эффективностью.
- DCP запускает настроенные проекты, контейнеры и исполняемые файлы.
- После запуска приложения отправляют данные телеметрии на панель мониторинга.
- Панель мониторинга отображает данные телеметрии практически в режиме реального времени для всех проектов .NET.NET Aspire.
Все эти действия выполняются внутри системы, поэтому в большинстве случаев разработчику просто нужно запустить приложение, чтобы увидеть этот процесс в действии.
развертывание .NET.NET Aspire
Следует настроить в средах развертывания .NET Aspire переменные среды OpenTelemetry, соответствующие их среде. Например, OTEL_EXPORTER_OTLP_ENDPOINT
следует настроить для локального сборщика OTLP данной среды или для службы мониторинга.
.NET
.NET Aspire телеметрия работает лучше всего в средах, поддерживающих OTLP. Экспорт OTLP отключен, если OTEL_EXPORTER_OTLP_ENDPOINT
не настроен.
Для получения дополнительной информации см. развертывания .NET.NET Aspire.
.NET Aspire