이 문서에서는 Node.js OpenTelemetry 문제를 해결하는 방법을 설명합니다.
문제 해결 검사 목록
1단계: 진단 로깅 사용
Azure Monitor 내보내기 도구는 내부 로그에 OpenTelemetry API 로거를 사용합니다. 로거를 사용하도록 설정하려면 다음 코드 조각을 실행합니다.
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();
또는 다음 환경 변수를 사용할 수 있습니다.
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();
2단계: 애플리케이션 호스트와 수집 서비스 간의 연결 테스트
Application Insights SDK 및 에이전트는 수집 엔드포인트에 대한 REST 호출로 수집하기 위해 원격 분석을 보냅니다. 웹 서버 또는 애플리케이션 호스트 컴퓨터에서 수집 서비스 엔드포인트까지의 연결을 테스트하려면 cURL 명령 또는 PowerShell의 원시 REST 요청을 사용합니다. 자세한 내용은 Azure Monitor Application Insights에서 누락된 애플리케이션 원격 분석 문제 해결을 참조하세요.
알려진 문제
다음 항목은 Azure Monitor OpenTelemetry 내보내기 도구에 대한 알려진 문제입니다.
종속성 원격 분석에서 작업 이름이 누락되었습니다. 작업 이름이 누락되면 오류가 발생하고 성능 탭 환경에 부정적인 영향을 미칩니다.
요청 및 종속성 원격 분석에서 디바이스 모델이 누락되었습니다. 누락된 디바이스 모델은 디바이스 코호트 분석에 부정적인 영향을 미칩니다.
종속성 이름에서 데이터베이스 서버 이름이 누락되었습니다. 데이터베이스 서버 이름이 포함되지 않기 때문에 OpenTelemetry 내보내기 도구는 동일한 이름을 가진 테이블을 다른 서버에 잘못 집계합니다.
도움을 요청하십시오.
질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.