Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Построитель данных (DAB) поддерживает OpenTelemetry для распределенной трассировки и метрик, что позволяет отслеживать и диагностировать поведение приложения в REST, GraphQL, операциях базы данных и внутреннем ПО промежуточного слоя.
Трассировки построителя данных
DAB создает "действия" OpenTelemetry для:
- Входящие HTTP-запросы (конечные точки REST)
- операции GraphQL
- Запросы базы данных (на сущность)
- Внутренние действия ПО промежуточного слоя (например, обработка запросов, отслеживание ошибок)
Каждое действие включает подробные теги (метаданные), такие как:
-
http.method, ,http.urlhttp.querystringstatus.code -
action.type(CRUD, операция GraphQL) -
user.role,user-agent -
data-source.type,data-source.name -
api.type(REST или GraphQL)
Ошибки и исключения также трассируются с подробными сведениями.
Метрики построителя данных
DAB выдает метрики OpenTelemetry, такие как:
- Всего запросов: счетчик, помеченный методом HTTP, состоянием, конечной точкой и типом API.
- Ошибки: счетчик, помеченный типом ошибки, методом HTTP, состоянием, конечной точкой и типом API.
- Длительность запроса: гистограмма (в миллисекундах), помеченная методом HTTP, состоянием, конечной точкой и типом API.
- Активные запросы: счетчик вверх и вниз для одновременных запросов.
Метрики используют API .NET Meter и пакет SDK OpenTelemetry.
Configuration
open-telemetry
Добавьте раздел runtime.telemetry в файл конфигурации.
{
"runtime": {
"telemetry": {
"open-telemetry": {
"enabled": true,
"endpoint": "http://otel-collector:4317",
"service-name": "dab",
"exporter-protocol": "grpc"
}
}
}
}
Параметры командной строки
Настройте OpenTelemetry с помощью флагов CLI:
dab configure --otel-enabled truedab configure --otel-endpoint "http://otel-collector:4317"dab configure --otel-protocol "grpc"dab configure --otel-service-name "dab"dab configure --otel-headers
Экспорт и визуализация
Данные телеметрии экспортируются через пакет SDK для .NET OpenTelemetry в настроенную серверную часть, например Azure Monitor или Jaeger. Убедитесь, что серверная часть запущена и доступен по указанному адресу endpoint.
Заметки о реализации
- Трассировки и метрики охватывают все операции REST, GraphQL и базы данных
- Обработчики по промежуточного слоя и ошибок также выдают данные телеметрии
- Контекст распространяется с помощью запросов