Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Data API Builder (DAB) stöder OpenTelemetry för distribuerad spårning och mått, så att du kan övervaka och diagnostisera beteende i REST, GraphQL, databasåtgärder och interna mellanprogram.
Förutsättningar
- Befintlig DAB-konfigurationsfil.
- Köra OpenTelemetry-insamlare eller backend-system (till exempel Azure Monitor eller Jaeger).
- Data-API-byggarens CLI. Installera CLI
Kör verktyget
Använd dab add-telemetry för att lägga till OpenTelemetry-inställningar i konfigurationen.
Kontrollera att du har en konfigurationsfil. Om du behöver skapa en, kör:
dab init \ --database-type mssql \ --connection-string "<sql-connection-string>"Lägg till OpenTelemetry-inställningar i konfigurationsfilen.
dab add-telemetry \ -c dab-config.json \ --otel-enabled true \ --otel-endpoint "http://localhost:4317" \ --otel-protocol "grpc" \ --otel-service-name "dab"Starta DAB.
dab start
Testa i telemetriserverdelen
Öppna openTelemetry-serverdelen eller insamlargränssnittet.
Bekräfta att spårningar och mått anländer för REST-, GraphQL- eller databasanrop.
Anmärkning
.NET Aspire-instrumentpanelen är en idealisk del av utvecklarslingan. Den innehåller inbyggda vyer för OpenTelemetry-spårningar och mått.
Data API Builder-spårningar
DAB skapar OpenTelemetry "aktiviteter" för:
- Inkommande HTTP-begäranden (REST-slutpunkter )
- GraphQL-åtgärder
- Databasfrågor (per entitet)
- Interna mellanprogramssteg (till exempel hantering av begäranden, felspårning)
Varje aktivitet innehåller detaljerade taggar (metadata), till exempel:
-
http.method,http.url, ,http.querystringstatus.code -
action.type(CRUD, GraphQL-åtgärd) -
user.role,user-agent -
data-source.type,data-source.name -
api.type(REST eller GraphQL)
Fel och undantag spåras också med detaljerad information.
Data-API Builderns mätvärden
DAB genererar OpenTelemetry-mått som:
- Totalt antal begäranden: Räknare, märkt med HTTP-metod, status, slutpunkt och API-typ.
- Fel: Räknare, märkt efter feltyp, HTTP-metod, status, slutpunkt och API-typ.
- Varaktighet för begäran: Histogram (i millisekunder), märkt med HTTP-metod, status, slutpunkt och API-typ.
- Aktiva begäranden: Upp/ned-räknare för samtidiga begäranden.
Mått använder .NET Meter API och OpenTelemetry SDK.
Configuration
Lägg till ett open-telemetry avsnitt under runtime.telemetry i konfigurationsfilen.
{
"runtime": {
"telemetry": {
"open-telemetry": {
"enabled": true,
"endpoint": "http://otel-collector:4317",
"service-name": "dab",
"exporter-protocol": "grpc"
}
}
}
}
Command-line
Konfigurera OpenTelemetry via dab add-telemetry.
--otel-enabled--otel-endpoint--otel-protocol--otel-service-name--otel-headers
Example
dab add-telemetry \
-c dab-config.json \
--otel-enabled true \
--otel-endpoint "http://localhost:4317" \
--otel-protocol "grpc" \
--otel-service-name "dab"
Resulterande konfiguration
Anmärkning
OpenTelemetry-alternativ är inte tillgängliga på dab configure.
{
"runtime": {
"telemetry": {
"open-telemetry": {
"enabled": true,
"endpoint": "http://localhost:4317",
"service-name": "dab",
"exporter-protocol": "grpc"
}
}
}
}
Exportera och visualisera
Telemetri exporteras via .NET OpenTelemetry SDK till din konfigurerade serverdel, till exempel Azure Monitor eller Jaeger. Kontrollera att backend-systemet är igång och kan nås på den angivna endpoint. Du kan använda valfri OpenTelemetry-kompatibel serverdel för visualisering.
OpenTelemetry SDK styr exporttidpunkten. Den exporterar spårningar när aktiviteterna har slutförts. Den exporterar mått med ett periodiskt intervall som konfigurerats av SDK:et. Om du inte anger ett intervall använder SDK:t standardvärdet.
Anmärkning
Tillfälliga containrar som stängs av snabbt kan avslutas innan exporten slutförs. Tillåt en smidig stängningsprocess och undvik aggressiv avslutning så att väntande telemetri kan rensas.
Implementeringsanteckningar
- Spårningar och mått omfattar alla REST-, GraphQL- och databasåtgärder
- Mellanprogram och felhanterare genererar också telemetri
- Kontexten sprids via begäranden