OpenTelemetry 데이터를 Instana 백엔드로 전송

텔레메트리 데이터는 애플리케이션이나 시스템에서 Instana 백엔드로 직접 ` OTLP ` 형식으로 전송될 수 있습니다. 다음 구성을 완료하십시오.

참고: OpenTelemetry Collector의 Instana 배포판( IDOT ) 을 사용 중인 경우, 수동 구성 단계를 따를 필요가 없습니다. IDOT 기본적으로 엔드포인트, 인증 키, 리소스 속성 및 TLS 설정을 포함한 모든 필수 설정을 자동으로 구성합니다. 수동 설정은 OpenTelemetry 수집기를 직접 구성하여 Instana 백엔드로 데이터를 전송하려는 경우에만 필요합니다.

전제조건

  • 백엔드 otlp-acceptor 컴포넌트의 특수 엔드포인트는 OpenTelemetry 데이터가 전송될 때 사용됩니다.

    다음 구성 예시에서는 OpenTelemetry 수집기를 사용하여 Instana 백엔드 otlp-acceptor 구성 요소에 연결합니다:
    exporters:
      otlp:
        endpoint: ${INSTANA_OTLP_GRPC_BACKEND}:4317
        headers:
          x-instana-key: xxxxxxx

    에 추가된 값은 https:// 보안 otlp. endpoint 연결이 사용됨을 나타냅니다. tls가 설정되어 있지 않으면 기본적으로 활성화됩니다. 자세한 내용은 OtlpExporter 설정에서 확인하십시오.

  • 검증을 위해 필수적인 Instana 에이전트 키를 설정해야 합니다. Instana 백엔드를 타겟팅하려면 x-instana-key 필드에 Instana 의 에이전트 키를 설정하십시오.

필요한 리소스 속성 또는 환경 변수 생성

Instana 백엔드에서는, faas.id, 또는 device.id host.id리소스 속성이 필요합니다. 또는 x-instana-host를 환경 변수로 설정할 수 있습니다. Instana 속성을 host.id 사용하여 호스트를 고유하게 식별하고, OpenTelemetry 엔터티를 올바른 호스트에 연결합니다. 다음 두 가지 방법으로 host.id 제공할 수 있습니다:

  • OpenTelemetry SDK를 사용하여 (컨테이너화되지 않은 시스템의 경우 권장)

    OpenTelemetry 에 대한 표준적인 의미론적 host.id 규칙이 있습니다. 대부분의 OpenTelemetry SDK는 컨테이너화되지 않은 시스템에서 리소스 host.id 속성을 수집하는 기능을 지원합니다. OpenTelemetry SDK를 통해 host.id 데이터를 제공하면, Instana 는 OpenTelemetry 엔터티를 Instana 인프라 모니터링의 해당 호스트와 원활하게 연결할 수 있습니다.

  • Instana UI에서 host.id 불러오기

    Instana UI에서 host.id 를 찾으려면 ‘인프라 > 인프라 분석 ’으로 이동하세요. ‘엔티티 유형’ 아래에 표시된 ‘호스트’를 클릭합니다. 목록에서 확인하려는 호스트를 클릭하면 해당 호스트의 세부 정보를 볼 수 있습니다. ‘시스템 ’ 항목에서 호스트 ID를 확인할 수 있습니다. OpenTelemetry 리소스 속성에서 host.id 이 항목을 수동으로 설정하면, Instana 은 OpenTelemetry 엔터티를 Instana 인프라 모니터링의 해당 호스트에 연결합니다.

OpenTelemetry 콜렉터가 디먼 세트 모드로 배치된 경우 OpenTelemetry 콜렉터는 OpenTelemetry 데이터를 전송하는 애플리케이션의 동일한 호스트에 있습니다. OTLP 내보내기 도구를 사용하여 x-instana-host 헤더를 설정할 수도 있습니다.

exporters:
  otlp:
    endpoint: ${INSTANA_OTLP_GRPC_BACKEND}:4317
    headers:
      x-instana-key: xxxxxxx
      x-instana-host: xxxx // or use ${host.name} if set in the configuration files processors.resource.attributes or in the OpenTelemetry SDK
참고: 에 추가된 값은 https:// 보안 otlp. endpoint 연결이 사용됨을 나타냅니다. tls가 설정되어 있지 않으면 기본적으로 활성화됩니다. 자세한 내용은 OtlpExporter 설정을 참조하십시오.
  • Instana 백엔드를 타겟팅하려면 해당 x-instana-key 필드에 Instana 에이전트의 에이전트 키를 설정하십시오.
  • 호스트 이름이 포함된 필드의 x-instana-host 값을 OpenTelemetry 수집기를 실행하는 호스트의 이름인 으로 ${host.name} 설정하십시오. host.name 는 구성 파일( processors.resource.attributes )이나 OpenTelemetry SDK에서 확인할 수 있습니다. host.name 가 설정되어 있지 않은 경우, 환경 변수(예: `hostname` HOSTHOSTNAME 또는 `PATH`)를 통해 호스트 이름을 설정하거나 수동으로 설정할 수 있습니다.
  • Instana 백엔드의 구성 otlp-acceptor 요소에 해당하는 올바른 도메인 이름을 해당 endpoint 필드에 입력하십시오.
  • Instana 에서 사용하는 OTLP 포트 번호에 대한 자세한 내용은 ‘포트 번호’를 참조하십시오.

자체 호스팅형 Instana 구성

Instana 자체 호스팅 환경에서는 포트 443이 및 OTLP/HTTP OTLP/gRPC 프로토콜에 사용됩니다. 다음 도메인 이름이 프로토콜에 사용됩니다.

OTLP/HTTPOTLP/gRPC otlp-http.<base_domain> 의 경우 otlp-grpc.<base_domain>

OpenTelemetry 데이터를 Instana 백엔드로 전송하려면 다음 단계를 따르십시오:

  1. Instana 백엔드의 구성 otlp-acceptor 요소에 대해 두 개의 DNS 항목과 otlp-grpc.<basedomain>otlp-http.<base_domain> 가 생성되었는지 확인하십시오.

  2. ‘ OTLP ’ 익스포터를 ‘ OpenTelemetry ’ 컬렉터와 함께 사용하도록 구성하고 다음 단계 중 하나를 완료하십시오:

    • OTLP 인증 확인이 완료된 수출업체:

      1. 자체 호스팅된 인스턴스에서 CA 파일 가져오기

        • 자체 호스팅된 표준 에디션의 경우:
          kubectl get secret instana-tls -n instana-core -o jsonpath='{.data.ca\.crt}'|base64 -d > ca.crt
        • 인증서가 openssl 명령에 의해 생성되는 자체 호스팅된 사용자 정의 에디션의 경우:
          kubectl get secret instana-tls -n instana-core -o jsonpath='{.data.tls\.crt}'|base64 -d > tls.crt
      2. ca.crt 를 OpenTelemetry 콜렉터 환경의 위치에 복사하십시오.

        exporters:
          otlp:
            endpoint: https://otlp-grpc.<base_domain>:443
            tls:
              insecure: false
              ca_file: <path_to_cert_file>/<cert_file_name>
            headers:
              x-instana-key: xxxxxx
              x-instana-host: xxxxxx // or use ${host.name} if set in the configuration files processors.resource.attributes or in the OpenTelemetry SDK
    • OTLP 인증 확인을 거치지 않은 수출업체:

      exporters:
         otlp:
           endpoint: https://otlp-grpc.<base_domain>:443
           tls:
             insecure: false
             insecure_skip_verify: true
           headers:
             x-instana-key: xxxxxx
             x-instana-host: xxxxxx // or use ${host.name} if set in the configuration files processors.resource.attributes or in the OpenTelemetry SDK

OpenTelemetry 수집기를 사용하여 텔레메트리 데이터를 Instana 백엔드로 전송하기

OpenTelemetry 데이터를 Instana 백엔드로 전달하려면 다음 단계를 수행하십시오:

  1. Instana 배포 리전을 확인하십시오. Instana 백엔드의 엔드포인트는 배포 지역에 따라 다릅니다. 사용 중인 환경에 할당된 Instana 리전을 확인하려면, Instana UI에서 탐색 메뉴로 이동한 다음 [더 보기 ] > [ Instana 정보 ]를 클릭하십시오. ‘ Instana ’ 대화 상자가 표시됩니다. 대화 상자에서 ‘ Instana ’ 배포 지역을 확인할 수 있습니다.

    각 Instana SaaS 환경은, red, green orange,, 또는 과 같은 특정 지역 bluecoral이름과 연결되어 있습니다. 백엔드의 Instana 엔드포인트에 대한 otlp-acceptor 자세한 내용은 다음을 참조하십시오 백엔드 Instana otlp-acceptor의 엔드포인트.

  2. Instana 백엔드에 대한 또는 OTLP/HTTP OTLP/gRPC 연결을 구성합니다. 예를 들어, Instanablue 환경을 사용하는 경우 다음 구성을 통해 Instana 백엔드에 대한 또는 OTLP/HTTP OTLP/gRPC 연결을 설정할 수 있습니다:

    • OTLP/gRPC

      exporters:
        otlp:
          endpoint: otlp-blue-saas.instana.io:4317
          headers:
            x-instana-key: xxxx
      ...
      service:
        pipelines:
          traces:
            receivers: [...]
            processors: [...]
            exporters: [..., otlp]
          metrics:
            receivers: [...]
            processors: [...]
            exporters: [..., otlp]
          logs:
            receivers: [...]
            processors: [...]
            exporters: [..., otlp]

      Instana 백엔드를 타겟팅하려면 해당 x-instana-key 필드에 Instana 에이전트의 에이전트 키를 설정하십시오.

    • OTLP/HTTP

      exporters:
        otlphttp:
          endpoint: https://otlp-blue-saas.instana.io:4318
          headers:
            x-instana-key: xxxx
      ...
      service:
        pipelines:
          traces:
            receivers: [...]
            processors: [...]
            exporters: [..., otlphttp]
          metrics:
            receivers: [...]
            processors: [...]
            exporters: [..., otlphttp]
          logs:
            receivers: [...]
            processors: [...]
            exporters: [..., otlphttp]

리소스 속성 구성

Instana 백엔드에는, faas.id, 또는 device.id host.id리소스 속성이 필요합니다. 또는 호스트 이름을 가리키도록 환경 변수로 x-instana-host 설정할 수도 있습니다.

OpenTelemetry 수집기가 ‘ DaemonSet ’ 모드로 배포된 경우, 즉 OpenTelemetry 수집기가 OpenTelemetry 데이터를 전송하는 애플리케이션과 동일한 호스트에 위치해 있는 경우, OTLP 익스포터를 사용하여 x-instana-host 헤더를 설정할 수 있습니다. 다음 예를 참조하십시오.

exporters:
  otlp:
    endpoint: otlp-blue-saas.instana.io:4317
    headers:
      x-instana-key: xxxxxxx
      x-instana-host: xxxx // or use ${host.name} if set in the configuration files processors.resource.attributes or in the OpenTelemetry SDK
참고: 애플리케이션이나 시스템에, host.id, faas.id, 또는 device.id 리소스 host.name속성이 정의되어 있지 않은 경우, x-instana-host 필드에 호스트 이름을 반드시 지정해야 합니다. Instana UI에서 해당 host.name 항목을 찾으려면 [인프라 분석] > [호스트] 로 이동하세요. 목록에서 확인하려는 호스트를 선택하면 해당 호스트의 세부 정보를 볼 수 있습니다. ‘시스템 ’ 항목에서 호스트 이름을 확인할 수 있습니다.

resource host.name 속성을 추가하는 방법은 다음 resource 프로세서를 사용하는 것입니다:

processors:
  resource:
    attributes:
    - key: host.name
      action: upsert
      value: "myhost1.ibm.com"

에이전트 configuration.yaml 파일에서 모든 구성 변경을 완료한 후 다음 명령을 실행하여 OpenTelemetry 수집기를 사용하세요:

otelcol-contrib --config configuration.yaml

Instana 백엔드 otlp-acceptor의 엔드포인트

다음 표에서는 다양한 Instana SaaS 환경에 대한 Instanaotlp-acceptor 백엔드의 도메인 이름을 확인할 수 있습니다. 환경에 InstanaSaaS 대한 자세한 내용은 다음을 참조하십시오 Collector를 OpenTelemetry 사용하여 OpenTelemetry 통합하기.

Instana SaaS 환경 otlp-accepter의 도메인 이름
파란색 gRPC: otlp-grpc-blue-saas.instana.io:443

HTTP: https://otlp-http-blue-saas.instana.io:443

빨간색 gRPC: otlp-grpc-red-saas.instana.io:443

HTTP: https://otlp-http-red-saas.instana.io:443

녹색 gRPC: otlp-grpc-green-saas.instana.io:443

HTTP: https://otlp-http-green-saas.instana.io:443

주황색 gRPC: otlp-grpc-orange-saas.instana.io:443

HTTP: https://otlp-http-orange-saas.instana.io:443

코랄(coral) gRPC: otlp-grpc-coral-saas.instana.io:443

HTTP: https://otlp-http-coral-saas.instana.io:443

청록색 gRPC: otlp-grpc-teal-saas.instana.io:443

HTTP: https://otlp-http-teal-saas.instana.io:443

미즈 gRPC: otlp-grpc-mizu-saas.instana.io:443

HTTP: https://otlp-http-mizu-saas.instana.io:443

호박색 gRPC: otlp-grpc-pumpkin-saas.instana.io:443

HTTP: https://otlp-http-pumpkin-saas.instana.io:443

노란색 gRPC: otlp-grpc-yellow-saas.instana.io:443

HTTP: https://otlp-http-yellow-saas.instana.io:443

에머랄드색 gRPC: otlp-grpc-emerald-saas.instana.io:443

HTTP: https://otlp-http-emerald-saas.instana.io:443

참고: SaaS 환경의 Instana 백엔드인 otlp-acceptor의 모든 엔드포인트는 TLS 기능이 활성화되어 있습니다.
참고: Instana Self-Hosted Custom Edition과 함께 Red Hat OpenShift 플랫폼을 사용 중인데 엔드포인트 연결 오류가 발생하는 경우, Red Hat OpenShift 에서 경로를 수동으로 생성해야 합니다. 경로 생성에 대한 자세한 내용은 Red Hat OpenShift 의 ‘ Instana 백엔드에서 엔드포인트 구성’을 참조하십시오. 경로 생성은 자동으로 이루어지지 않습니다.