Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Data API Builder (DAB) supporta OpenTelemetry per la traccia distribuita e le metriche, consentendo di monitorare e diagnosticare il comportamento dell'applicazione in REST, GraphQL, operazioni di database e middleware interno.
Tracce del generatore di API dati
DAB crea "attività" di OpenTelemetry per:
- Richieste HTTP in ingresso (endpoint REST)
- GraphQL operations
- Database queries (per entity)
- Passaggi del middleware interno (ad esempio, gestione delle richieste, rilevamento degli errori)
Ogni attività include tag dettagliati (metadati), ad esempio:
-
http.method,http.url,http.querystringstatus.code -
action.type(CRUD, operazione GraphQL) -
user.role,user-agent -
data-source.type,data-source.name -
api.type(REST o GraphQL)
Anche gli errori e le eccezioni vengono tracciati con informazioni dettagliate.
Metriche del generatore di API dati
DAB genera metriche OpenTelemetry, ad esempio:
- Total Requests: Counter, labeled by HTTP method, status, endpoint, and API type.
- Errors: Counter, labeled by error type, HTTP method, status, endpoint, and API type.
- Request Duration: Histogram (in milliseconds), labeled as above.
- Active Requests: Up/down counter for concurrent requests.
Le metriche usano l'API .NET Meter e OpenTelemetry SDK.
Configuration
Aggiungere una open-telemetry sezione in runtime.telemetry nel file di configurazione.
{
"runtime": {
"telemetry": {
"open-telemetry": {
"enabled": true,
"endpoint": "http://otel-collector:4317",
"service-name": "dab",
"exporter-protocol": "grpc"
}
}
}
}
CLI Options
Configure OpenTelemetry via CLI flags:
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
Esportare e visualizzare
I dati di telemetria vengono esportati tramite .NET OpenTelemetry SDK nel back-end configurato, ad esempio Monitoraggio di Azure o Jaeger. Verificare che il back-end sia in esecuzione e raggiungibile nell'oggetto specificato endpoint.
Implementation Notes
- Le tracce e le metriche coprono tutte le operazioni REST, GraphQL e DB
- I gestori di middleware e di errore generano anche dati di telemetria
- Il contesto viene propagato tramite richieste