Udostępnij za pomocą


Rozwiązywanie problemów z funkcją OpenTelemetry w Node.js

W tym artykule omówiono sposób rozwiązywania problemów z funkcją OpenTelemetry w Node.js.

Lista kontrolna rozwiązywania problemów

Krok 1. Włączanie rejestrowania diagnostycznego

Eksporter usługi Azure Monitor używa rejestratora interfejsu API OpenTelemetry do dzienników wewnętrznych. Aby włączyć rejestrator, uruchom następujący fragment kodu:

const { diag, DiagConsoleLogger, DiagLogLevel } = require("@opentelemetry/api");
const { NodeTracerProvider } = require("@opentelemetry/sdk-trace-node");

const provider = new NodeTracerProvider();
diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.ALL);
provider.register();

Alternatywnie można użyć następujących zmiennych środowiskowych:

import { useAzureMonitor } from "@azure/monitor-opentelemetry";
import { DiagLogLevel } from "@opentelemetry/api";

process.env.APPLICATIONINSIGHTS_INSTRUMENTATION_LOGGING_LEVEL = "VERBOSE";
process.env.APPLICATIONINSIGHTS_LOG_DESTINATION = "file";
process.env.APPLICATIONINSIGHTS_LOGDIR = "C:/applicationinsights/logs";

useAzureMonitor();

Krok 2. Testowanie łączności między hostem aplikacji a usługą pozyskiwania

Zestawy SDK usługi Application Insights i agenci wysyłają dane telemetryczne, aby uzyskać pozyskane jako wywołania REST w naszych punktach końcowych pozyskiwania. Aby przetestować łączność z serwera internetowego lub komputera hosta aplikacji do punktów końcowych usługi pozyskiwania, użyj poleceń cURL lub nieprzetworzonych żądań REST z programu PowerShell. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z brakującą telemetrią aplikacji w usłudze Azure Monitor Application Insights.

Znane problemy

Znane są następujące elementy dotyczące eksporterów OpenTelemetry usługi Azure Monitor:

  • Brak nazwy operacji w telemetrii zależności. Brakująca nazwa operacji powoduje błędy i niekorzystnie wpływa na środowisko karty wydajności.

  • W telemetrii żądania i zależności brakuje modelu urządzenia. Brakujący model urządzenia niekorzystnie wpływa na analizę kohorty urządzeń.

  • Brak nazwy serwera bazy danych w nazwie zależności. Ponieważ nazwa serwera bazy danych nie jest dołączona, eksporterzy OpenTelemetry niepoprawnie agregują tabele o tej samej nazwie na różnych serwerach.

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania, możesz zadać pomoc techniczną społeczności platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.