검색

5장. OpenTelemetry 수집기에 추적 및 메트릭 전송

download PDF

OpenTelemetry의 Red Hat 빌드를 설정하고 사용하여 OpenTelemetry 수집기 또는 TempoStack 인스턴스에 추적을 보낼 수 있습니다.

사이드카 삽입을 사용하거나 사용하지 않고 추적과 메트릭을 OpenTelemetry 수집기로 보낼 수 있습니다.

5.1. 사이드카 삽입을 사용하여 추적 및 메트릭을 OpenTelemetry 수집기로 전송

사이드카 삽입을 사용하여 OpenTelemetry 수집기 인스턴스로 Telemetry 데이터를 전송할 수 있습니다.

Red Hat build of OpenTelemetry Operator를 사용하면 설계의 배포 워크로드 및 자동 구성에 사이드카 삽입을 통해 Telemetry 데이터를 OpenTelemetry 수집기에 보낼 수 있습니다.

사전 요구 사항

  • Red Hat OpenShift distributed tracing platform(Tempo)이 설치되고 TempoStack 인스턴스가 배포됩니다.
  • 웹 콘솔 또는 OpenShift CLI(oc)를 통해 클러스터에 액세스할 수 있습니다.

    • cluster-admin 역할의 클러스터 관리자로 웹 콘솔에 로그인되어 있습니다.
    • cluster-admin 역할의 클러스터 관리자가 활성 OpenShift CLI(oc) 세션입니다.
    • Red Hat OpenShift Dedicated의 경우 dedicated-admin 역할의 계정이 있어야 합니다.

프로세스

  1. OpenTelemetry 수집기 인스턴스에 대한 프로젝트를 생성합니다.

    apiVersion: project.openshift.io/v1
    kind: Project
    metadata:
      name: observability
  2. 서비스 계정을 생성합니다.

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: otel-collector-sidecar
      namespace: observability
  3. k8sattributesresourcedetection 프로세서에 대한 서비스 계정에 권한을 부여합니다.

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: otel-collector
    rules:
    - apiGroups: ["", "config.openshift.io"]
      resources: ["pods", "namespaces", "infrastructures", "infrastructures/status"]
      verbs: ["get", "watch", "list"]
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: otel-collector
    subjects:
    - kind: ServiceAccount
      name: otel-collector-sidecar
      namespace: observability
    roleRef:
      kind: ClusterRole
      name: otel-collector
      apiGroup: rbac.authorization.k8s.io
  4. OpenTelemetry Collector를 사이드카로 배포합니다.

    apiVersion: opentelemetry.io/v1alpha1
    kind: OpenTelemetryCollector
    metadata:
      name: otel
      namespace: observability
    spec:
      serviceAccount: otel-collector-sidecar
      mode: sidecar
      config: |
        serviceAccount: otel-collector-sidecar
        receivers:
          otlp:
            protocols:
              grpc: {}
              http: {}
        processors:
          batch: {}
          memory_limiter:
            check_interval: 1s
            limit_percentage: 50
            spike_limit_percentage: 30
          resourcedetection:
            detectors: [openshift]
            timeout: 2s
        exporters:
          otlp:
            endpoint: "tempo-<example>-gateway:8090" 1
            tls:
              insecure: true
        service:
          pipelines:
            traces:
              receivers: [jaeger]
              processors: [memory_limiter, resourcedetection, batch]
              exporters: [otlp]
    1
    이는 Tempo Operator를 사용하여 <example> 배포된 TempoStack 인스턴스의 게이트웨이를 가리킵니다.
  5. otel-collector-sidecar 서비스 계정을 사용하여 배포를 생성합니다.
  6. Deployment 오브젝트에 sidecar.opentelemetry.io/inject: "true" 주석을 추가합니다. 이렇게 하면 워크로드에서 OpenTelemetry 수집기 인스턴스로 데이터를 보내는 데 필요한 모든 환경 변수가 삽입됩니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.