다음을 통해 공유


OpenTelemetry 도움말, 지원 및 피드백

이 문서에서는 .NET, Java, Node.js 및 Python 앱용 Azure Monitor Application Insights의 OpenTelemetry에 대한 도움말, 지원 및 피드백 옵션을 제공합니다.

자주 묻는 질문

OpenTelemetry란?

가시성에 대한 새로운 오픈 소스 표준입니다. OpenTelemetry에서 자세히 알아보세요.

Microsoft Azure Monitor에서 OpenTelemetry에 투자하는 이유는 무엇인가요?

Microsoft는 다음과 같은 이유로 OpenTelemetry에 투자하고 있습니다.

  • 공급업체에 구애받지 않으며 모든 언어에서 일관된 API/SDK를 제공합니다.
  • 시간이 지나면서 OpenTelemetry를 통해 Azure Monitor 고객은 지원되는 언어 이외의 언어로 작성된 애플리케이션을 관찰할 수 있게 될 것입니다.
  • OpenTelemetry는 다양한 계측 라이브러리 집합을 통해 수집할 수 있는 데이터 형식을 확장합니다.
  • OpenTelemetry SDK(소프트웨어 개발자 키트)는 이전 모델인 Application Insights SDK보다 대체로 대규모 성능이 더 우수합니다.
  • OpenTelemetry는 오픈 소스를 수용하는 Microsoft의 전략에 부합합니다.

OpenTelemetry는 현재 어떤 상태인가요?

OpenTelemetry 상태를 참조하세요.

Azure Monitor OpenTelemetry Distro란?

이는 Azure에서 최고 수준의 환경을 제공하기 위해 모든 OpenTelemetry 구성 요소를 함께 묶는 가는 끈이라고 생각할 수 있습니다. 이 래퍼를 OpenTelemetry의 배포라고도합니다.

Azure Monitor OpenTelemetry Distro를 사용해야 하는 이유는 무엇인가요?

커뮤니티의 네이티브 OpenTelemetry에 비해 Azure Monitor OpenTelemetry Distro를 사용하면 다음과 같은 몇 가지 이점이 있습니다.

OpenTelemetry의 설계 방향에 따라 개방적이고 확장 가능하도록 Distro를 설계했습니다. 예를 들어, 다음을 추가할 수 있습니다.

  • OTLP(OpenTelemetry Protocol) 내보내기 도구 및 두 번째 대상으로 동시에 보내기
  • Distro에 포함되지 않은 기타 계측 라이브러리

Distro는 OpenTelemetry 배포를 제공하므로 Distro는 OpenTelemetry에서 지원하는 모든 항목을 지원합니다. 예를 들어 OpenTelemetry가 지원하는 경우 원격 분석 프로세서, 내보내기 도구 또는 계측 라이브러리를 더 추가할 수 있습니다.

참고 항목

Distro는 Application Insights에 대한 사용자 지정 고정 속도 샘플러로 샘플러를 설정합니다. 이를 다른 샘플러로 변경할 수 있지만 이렇게 하면 Distro의 포함된 기능 중 일부를 사용하지 않도록 설정할 수 있습니다. 지원되는 샘플러에 관한 자세한 내용은 Azure Monitor OpenTelemetry 구성샘플링 사용 섹션을 참조하세요.

지원되는 독립 실행형 OpenTelemetry 내보내기 도구가 없는 언어의 경우 Azure Monitor OpenTelemetry Distro는 현재 Azure Monitor에서 OpenTelemetry를 사용할 수 있는 유일한 방법입니다. 지원되는 독립 실행형 OpenTelemetry 내보내기 도구가 있는 언어의 경우 원격 분석 시나리오에 따라 Azure Monitor OpenTelemetry Distro 또는 적절한 독립 실행형 OpenTelemetry 내보내기 도구를 사용할 수 있습니다. 자세한 내용은 언제 Azure Monitor OpenTelemetry 내보내기 도구를 사용해야 하나요?를 참조하세요.

Azure Monitor OpenTelemetry Distro를 테스트하려면 어떻게 해야 하나요?

.NET, Java, JavaScript(Node.js) 및 Python에 대한 사용 설정 문서를 확인하세요.

OpenTelemetry 또는 Application Insights SDK를 사용해야 하나요?

Application Insights SDK의 공식적인 지원으로만 사용할 수 있는 기능이 필요한 경우 외에는 OpenTelemetry Distro를 사용하는 것이 좋습니다.

지금 OpenTelemetry를 채택하면 나중에 마이그레이션할 필요가 없습니다.

Azure Monitor OpenTelemetry 내보내기 도구를 사용해야 하는 이유는 무엇인가요?

ASP.NET Core, Java, Node.js 및 Python의 경우 Azure Monitor OpenTelemetry Distro를 사용하는 것이 좋습니다. 시작하는 한 줄의 코드입니다.

클래식 ASP.NET, 콘솔 앱, Windows Forms(WinForms) 등을 비롯한 다른 모든 .NET 시나리오의 경우 .NET Azure Monitor OpenTelemetry 내보내기 Azure.Monitor.OpenTelemetry.Exporter을(를) 사용하는 것이 좋습니다.

고급 구성이 필요한 더 복잡한 Python 원격 분석 시나리오의 경우 Python Azure Monitor OpenTelemetry Exporter를 사용하는 것이 좋습니다.

Azure Monitor OpenTelemetry Distro 내 기능의 현재 릴리스 상태는 무엇인가요?

다음 차트는 각 언어에 대한 OpenTelemetry 기능 지원을 분석한 것입니다.

기능 .NET Node.JS Python Java
분산 추적
사용자 지정 메트릭
표준 메트릭
고정 비율 샘플링
오프라인 스토리지 및 자동 다시 시도
예외 보고
로그 컬렉션 ⚠️
사용자 지정 이벤트 ⚠️ ⚠️ ⚠️
Microsoft Entra 인증
라이브 메트릭
라이브 메트릭 필터링
VM/VMSS 및 App Service에 대한 리소스 컨텍스트 검색
AKS(Azure Kubernetes Service) 및 함수에 대한 리소스 컨텍스트 검색
가용성 추적 API를 사용하여 생성된 가용성 테스트 이벤트
익명 사용자 ID 및 가상 원본을 사용하여 요청, 종속성, 로그 및 예외 필터링
작업 이름으로 종속성, 로그 및 예외 필터링
적응 샘플링
.NET Profiler ⚠️
스냅샷 디버거

Key

  • ✅ 이 기능은 공식적인 지원을 통해 모든 고객이 사용할 수 있습니다.
  • ⚠ 이 기능은 퍼블릭 미리 보기 상태로 지원됩니다. Microsoft Azure 미리 보기에 대한 보충 사용 약관을 참조하세요.
  • ❌ 이 기능은 사용할 수 없거나 적용할 수 없습니다.

웹 브라우저에 OpenTelemetry를 사용할 수 있나요?

예, 하지만 권장하지 않으며 Azure에서 지원하지 않습니다. OpenTelemetry JavaScript는 Node.js에 맞게 과도하게 최적화되어 있습니다. 대신 Application Insights JavaScript SDK를 사용하는 것이 좋습니다.

언제쯤이면 웹 브라우저에서 OpenTelemetry SDK를 사용할 수 있게 될까요?

OpenTelemetry 웹 SDK에는 결정된 가용성 타임라인이 없습니다. Application Insights JavaScript SDK에 대한 실행 가능한 대안인 브라우저 SDK가 제공되려면 몇 년이 걸릴 수 있습니다.

현재, 웹 브라우저에서 OpenTelemetry를 테스트할 수 있나요?

OpenTelemetry 웹 샌드박스는 OpenTelemetry가 브라우저에서 작동하도록 디자인된 포크입니다. 아직 Application Insights에 원격 분석을 보낼 수 없습니다. SDK는 일반 클라이언트 이벤트를 정의하지 않습니다.

AppDynamics, DataDog 및 NewRelic과 같은 경쟁 에이전트와 함께 Application Insights를 실행하고 있나요?

Distro를 사용하면 Azure Monitor와 동시에 OTLP 엔드포인트로 내보낼 수 있지만 이 방식은 테스트하거나 지원할 계획이 없습니다.

프로덕션 환경에서 미리 보기 기능을 사용할 수 있나요?

이는 권장되지 않습니다. Microsoft Azure 미리 보기에 대한 보충 사용 약관을 참조하세요.

수동 계측과 자동 계측의 차이점은 무엇인가요?

OpenTelemetry 개요를 참조하세요.

OpenTelemetry 수집기를 사용할 수 있나요?

Microsoft에서 아직 애플리케이션 모니터링에 대한 에이전트 기반 접근 방법을 공식적으로 지원하지 않지만, 일부 고객은 OpenTelemetry 수집기를 에이전트 대안으로 사용합니다. 그동안 오픈 소스 커뮤니티에서는 일부 고객이 Azure Monitor Application Insights에 데이터를 보내는 데 사용하는 OpenTelemetry 수집기 Azure Monitor 내보내기 도구에 기여했습니다. Microsoft에서는 지원되지 않습니다.

OpenCensus와 OpenTelemetry의 차이점은 무엇인가요?

OpenCensusOpenTelemetry의 이전 버전입니다. Microsoft에서는 OpenTracing과 OpenCensus를 통합하여 전 세계 단일 가시성 표준으로 OpenTelemetry를 만듭니다. Azure Monitor의 현재 프로덕션 권장 Python SDK는 OpenCensus를 기준으로 합니다. Microsoft는 OpenTelemetry를 기반으로 Azure Monitor를 만들기 위해 최선을 다하고 있습니다.

Grafana에 Status: 500. Can't visualize trace events using the trace visualizer가 표시되는 이유는 무엇인가요?

OpenTelemetry 추적이 아닌 원시 텍스트 로그를 시각화하려고 할 수 있습니다.

Application Insights에서 'Traces' 테이블은 진단 목적으로 원시 텍스트 로그를 저장합니다. 이는 사용자 요청, 기타 이벤트 및 예외 보고서와 관련된 추적을 식별하고 상호 연결하는 데 도움이 됩니다. 그러나 'Traces' 테이블은 Grafana와 같은 시각화 도구의 엔드투엔드 트랜잭션 보기(폭포형 차트)에 직접적으로 기여하지 않습니다.

클라우드 네이티브 방식의 채택이 증가함에 따라 원격 분석 컬렉션 및 용어도 발전하고 있습니다. OpenTelemetry는 원격 분석 데이터를 수집하고 계측하기 위한 표준이 되었습니다. 이러한 컨텍스트에서 'Traces'라는 용어는 새로운 의미를 갖게 되었습니다. OpenTelemetry의 'Traces'는 원시 로그 대신 개별 작업 단위를 나타내는 범위를 포함하는 더욱 풍부하고 구조화된 형태의 원격 분석을 나타냅니다. 이러한 범위는 자세한 트랜잭션 보기를 구성하여 클라우드 네이티브 애플리케이션을 더 효과적으로 모니터링하고 진단하는 데 중요합니다.

문제 해결

1단계: 진단 로깅 사용

Azure Monitor 내보내기 도구는 내부 로깅을 위해 EventSource를 사용합니다. 내보내기 로그는 EventListener에서 명명 OpenTelemetry-AzureMonitor-Exporter된 원본을 옵트인하여 사용할 수 있습니다. 문제 해결 단계는 GitHub의 OpenTelemetry 문제 해결을 참조하세요.

2단계: 애플리케이션 호스트와 수집 서비스 간의 연결 테스트

Application Insights SDK(소프트웨어 개발 키트) 및 에이전트는 원격 분석을 전송하여 수집 엔드포인트에서 REST 호출로 수집됩니다. 웹 서버 또는 애플리케이션 호스트 컴퓨터에서 수집 서비스 엔드포인트까지의 연결을 테스트하려면 cURL 명령 또는 PowerShell의 원시 REST 요청을 사용합니다. 자세한 내용은 Azure Monitor Application Insights에서 누락된 애플리케이션 원격 분석 문제 해결을 참조하세요.

알려진 문제

다음 항목은 Azure Monitor OpenTelemetry 내보내기 도구에 대한 알려진 문제입니다.

  • 종속성 원격 분석에서 작업 이름이 누락되었습니다. 작업 이름이 누락되면 오류가 발생하고 성능 탭 환경에 부정적인 영향을 미칩니다.

  • 요청 및 종속성 원격 분석에서 디바이스 모델이 누락되었습니다. 누락된 디바이스 모델은 디바이스 코호트 분석에 부정적인 영향을 미칩니다.

지원

지원 옵션을 찾으려면 원하는 언어 탭을 선택합니다.

OpenTelemetry 피드백

피드백을 제공하려면: