4.2. 수신자


수신자는 수집기에 데이터를 가져옵니다. 수신자는 푸시 또는 풀 기반일 수 있습니다. 일반적으로 수신자는 지정된 형식으로 데이터를 수락하고 내부 형식으로 변환한 다음 해당 파이프라인에 정의된 프로세서 및 내보내기에 전달합니다. 기본적으로 수신자는 설정되어 있지 않습니다. 하나 이상의 수신자를 구성해야 합니다. 수신자는 하나 이상의 데이터 소스를 지원할 수 있습니다.

현재 OpenTelemetry의 Red Hat 빌드에서 다음 일반 가용성 및 기술 프리뷰 수신자를 사용할 수 있습니다.

4.2.1. OTLP 수신기

OTLP 수신기는 OTLP(OpenTelemetry Protocol)를 사용하여 추적, 메트릭 및 로그를 수집합니다. OTLP 수신기는 OpenTelemetry 프로토콜(OTLP)을 사용하여 추적 및 메트릭을 수집합니다.

OTLP 수신기가 활성화된 OpenTelemetry Collector 사용자 지정 리소스

# ...
  config:
    receivers:
      otlp:
        protocols:
          grpc:
            endpoint: 0.0.0.0:4317 
1

            tls: 
2

              ca_file: ca.pem
              cert_file: cert.pem
              key_file: key.pem
              client_ca_file: client.pem 
3

              reload_interval: 1h 
4

          http:
            endpoint: 0.0.0.0:4318 
5

            tls: {} 
6


    service:
      pipelines:
        traces:
          receivers: [otlp]
        metrics:
          receivers: [otlp]
# ...
Copy to Clipboard Toggle word wrap

1
OTLP gRPC 끝점입니다. 생략하면 기본값 0.0.0.0:4317 이 사용됩니다.
2
서버 측 TLS 구성입니다. TLS 인증서의 경로를 정의합니다. 생략하면 TLS가 비활성화됩니다.
3
서버가 클라이언트 인증서를 확인하는 TLS 인증서의 경로입니다. 이렇게 하면 TLSConfig 에서 ClientCAClientAuth 의 값이 RequireAndVerifyClientCert 로 설정됩니다. 자세한 내용은 Golang TLS 패키지Config를 참조하십시오.
4
인증서를 다시 로드하는 시간 간격을 지정합니다. 값을 설정하지 않으면 인증서가 다시 로드되지 않습니다. reload_interval 필드는 ns, us (또는 µs), ms, s, m, h와 같은 유효한 시간 단위를 포함하는 문자열을 허용합니다.
5
OTLP HTTP 끝점입니다. 기본값은 0.0.0.0:4318 입니다.
6
서버 측 TLS 구성입니다. 자세한 내용은 grpc 프로토콜 구성 섹션을 참조하십시오.

4.2.2. Jaeger 수신자

Jaeger Receiver는 Jaeger 형식의 추적 정보를 수집합니다.

Jaeger Receiver가 활성화된 OpenTelemetry Collector 사용자 지정 리소스

# ...
  config:
    receivers:
      jaeger:
        protocols:
          grpc:
            endpoint: 0.0.0.0:14250 
1

          thrift_http:
            endpoint: 0.0.0.0:14268 
2

          thrift_compact:
            endpoint: 0.0.0.0:6831 
3

          thrift_binary:
            endpoint: 0.0.0.0:6832 
4

          tls: {} 
5


    service:
      pipelines:
        traces:
          receivers: [jaeger]
# ...
Copy to Clipboard Toggle word wrap

1
Jaeger gRPC 끝점입니다. 생략하면 기본값 0.0.0.0:14250 이 사용됩니다.
2
Jaeger Thrift HTTP 끝점입니다. 생략하면 기본값 0.0.0.0:14268 이 사용됩니다.
3
Jaeger Thrift Cryostat 끝점입니다. 생략하면 기본값 0.0.0.0:6831 이 사용됩니다.
4
Jaeger Thrift Binary 끝점입니다. 생략하면 기본값 0.0.0.0:6832 가 사용됩니다.
5
서버 측 TLS 구성입니다. 자세한 내용은 OTLP 수신기 구성 섹션을 참조하세요.

4.2.3. 호스트 메트릭 수신기

호스트 메트릭 수신기는 OTLP 형식으로 메트릭을 수집합니다.

활성화된 호스트 지표 수신자가 있는 OpenTelemetry 수집기 사용자 정의 리소스

apiVersion: v1
kind: ServiceAccount
metadata:
  name: otel-hostfs-daemonset
  namespace: <namespace>
# ...
---
apiVersion: security.openshift.io/v1
kind: SecurityContextConstraints
allowHostDirVolumePlugin: true
allowHostIPC: false
allowHostNetwork: false
allowHostPID: true
allowHostPorts: false
allowPrivilegeEscalation: true
allowPrivilegedContainer: true
allowedCapabilities: null
defaultAddCapabilities:
- SYS_ADMIN
fsGroup:
  type: RunAsAny
groups: []
metadata:
  name: otel-hostmetrics
readOnlyRootFilesystem: true
runAsUser:
  type: RunAsAny
seLinuxContext:
  type: RunAsAny
supplementalGroups:
  type: RunAsAny
users:
- system:serviceaccount:<namespace>:otel-hostfs-daemonset
volumes:
- configMap
- emptyDir
- hostPath
- projected
# ...
---
apiVersion: opentelemetry.io/v1beta1
kind: OpenTelemetryCollector
metadata:
  name: otel
  namespace: <namespace>
spec:
  serviceAccount: otel-hostfs-daemonset
  mode: daemonset
  volumeMounts:
    - mountPath: /hostfs
      name: host
      readOnly: true
  volumes:
    - hostPath:
        path: /
      name: host
  config:
    receivers:
      hostmetrics:
        collection_interval: 10s 
1

        initial_delay: 1s 
2

        root_path: / 
3

        scrapers: 
4

          cpu: {}
          memory: {}
          disk: {}
    service:
      pipelines:
        metrics:
          receivers: [hostmetrics]
# ...
Copy to Clipboard Toggle word wrap

1
호스트 메트릭 수집에 대한 시간 간격을 설정합니다. 생략하면 기본값은 1m 입니다.
2
호스트 지표 컬렉션의 초기 시간 지연을 설정합니다. 생략하면 기본값은 1s 입니다.
3
호스트 메트릭 수신기가 루트 파일 시스템의 위치를 알 수 있도록 root_path를 구성합니다. Host Metrics Receiver의 여러 인스턴스를 실행하는 경우 각 인스턴스에 대해 동일한 root_path 값을 설정합니다.
4
활성화된 호스트 메트릭 스크래퍼를 나열합니다. 사용 가능한 스크랩은 cpu, disk, load, filesystem, memory, network, paging, processes, process니다.

4.2.4. 쿠버네티스 객체 수신기

Kubernetes Objects Receiver는 Kubernetes API 서버에서 수집할 객체를 끌어오거나 감시합니다. 이 수신기는 주로 Kubernetes 이벤트를 감시하지만 모든 유형의 Kubernetes 객체를 수집할 수 있습니다. 이 수신기는 클러스터 전체의 원격 측정 데이터를 수집하므로, 이 수신기의 인스턴스 하나만 있어도 모든 데이터를 수집하는 데 충분합니다.

중요

Kubernetes Objects Receiver는 기술 미리 보기 기능에 불과합니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

활성화된 Kubernetes 오브젝트 수신자가 있는 OpenTelemetry 수집기 사용자 정의 리소스

apiVersion: v1
kind: ServiceAccount
metadata:
  name: otel-k8sobj
  namespace: <namespace>
# ...
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: otel-k8sobj
  namespace: <namespace>
rules:
- apiGroups:
  - ""
  resources:
  - events
  - pods
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - "events.k8s.io"
  resources:
  - events
  verbs:
  - watch
  - list
# ...
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: otel-k8sobj
subjects:
  - kind: ServiceAccount
    name: otel-k8sobj
    namespace: <namespace>
roleRef:
  kind: ClusterRole
  name: otel-k8sobj
  apiGroup: rbac.authorization.k8s.io
# ...
---
apiVersion: opentelemetry.io/v1beta1
kind: OpenTelemetryCollector
metadata:
  name: otel-k8s-obj
  namespace: <namespace>
spec:
  serviceAccount: otel-k8sobj
  mode: deployment
  config:
    receivers:
      k8sobjects:
        auth_type: serviceAccount
        objects:
          - name: pods 
1

            mode: pull 
2

            interval: 30s 
3

            label_selector: 
4

            field_selector: 
5

            namespaces: [<namespace>,...] 
6

          - name: events
            mode: watch
    exporters:
      debug:
    service:
      pipelines:
        logs:
          receivers: [k8sobjects]
          exporters: [debug]
# ...
Copy to Clipboard Toggle word wrap

1
이 수신기가 관찰하는 리소스 이름: 예를 들어, pods , deployments , 또는 events .
2
이 수신기가 사용하는 관찰 모드: 당기기 또는 감시 .
3
풀 모드에만 적용됩니다. 객체를 가져오기 위한 요청 간격입니다. 생략하면 기본값은 1h 입니다.
4
타겟을 정의하는 라벨 선택기입니다.
5
대상을 필터링하는 필드 선택기입니다.
6
이벤트를 수집할 네임스페이스 목록입니다. 생략하면 기본값은 all 입니다.

4.2.5. Kubelet 통계 수신기

Kubelet Stats Receiver는 Kubelet의 API 서버에서 노드, 포드, 컨테이너 및 볼륨과 관련된 메트릭을 추출합니다. 이러한 측정 항목은 추가 분석을 위해 측정 항목 처리 파이프라인을 통해 전달됩니다.

활성화된 Kubelet 통계 수신자가 있는 OpenTelemetry 수집기 사용자 정의 리소스

# ...
  config:
    receivers:
      kubeletstats:
        collection_interval: 20s
        auth_type: "serviceAccount"
        endpoint: "https://${env:K8S_NODE_NAME}:10250"
        insecure_skip_verify: true
    service:
      pipelines:
        metrics:
          receivers: [kubeletstats]
  env:
    - name: K8S_NODE_NAME 
1

      valueFrom:
        fieldRef:
          fieldPath: spec.nodeName
# ...
Copy to Clipboard Toggle word wrap

1
API에 인증하기 위해 K8S_NODE_NAME을 설정합니다.

Kubelet Stats Receiver에는 OpenTelemetry Collector를 실행하는 데 사용되는 서비스 계정에 대한 추가 권한이 필요합니다.

서비스 계정에 필요한 권한

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: otel-collector
rules:
  - apiGroups: ['']
    resources: ['nodes/stats']
    verbs: ['get', 'watch', 'list']
  - apiGroups: [""]
    resources: ["nodes/proxy"] 
1

    verbs: ["get"]
# ...
Copy to Clipboard Toggle word wrap

1
extra_metadata_labels 또는 request_utilization 또는 limit_utilization 메트릭을 사용할 때 필요한 권한입니다.

4.2.6. 프로메테우스 수신기

Prometheus 수신자는 지표 끝점을 스크랩합니다.

Prometheus Receiver가 활성화된 OpenTelemetry Collector 사용자 지정 리소스

# ...
  config:
    receivers:
        prometheus:
          config:
            scrape_configs: 
1

              - job_name: 'my-app'  
2

                scrape_interval: 5s 
3

                static_configs:
                  - targets: ['my-app.example.svc.cluster.local:8888'] 
4

    service:
      pipelines:
        metrics:
          receivers: [prometheus]
# ...
Copy to Clipboard Toggle word wrap

1
Prometheus 형식을 사용하여 구성을 스크래핑합니다.
2
프로메테우스의 작업 이름.
3
메트릭 데이터를 스크래핑하는 간격입니다. 시간 단위를 허용합니다. 기본값은 1m입니다.
4
지표가 노출되는 목표. 이 예제에서는 예제 프로젝트의 my-app 애플리케이션에서 메트릭을 스크래핑합니다.

4.2.7. OTLP JSON 파일 수신기

OTLP JSON 파일 수신기는 ProtoJSON 형식의 데이터를 포함하고 OpenTelemetry 프로토콜 사양을 준수하는 파일에서 파이프라인 정보를 추출합니다. 수신기는 생성되거나 수정된 파일 등의 변경 사항을 처리하기 위해 지정된 디렉토리를 감시합니다.

중요

OTLP JSON 파일 수신기는 기술 미리 보기 기능일 뿐입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

OTLP JSON 파일 수신기가 활성화된 OpenTelemetry Collector 사용자 지정 리소스

# ...
  config:
    otlpjsonfile:
      include:
        - "/var/log/*.log" 
1

      exclude:
        - "/var/log/test.log" 
2

# ...
Copy to Clipboard Toggle word wrap

1
감시할 파일 경로 글로브 패턴 목록입니다.
2
무시할 파일 경로 글로브 패턴 목록입니다.

4.2.8. Zipkin 수신기

Zipkin 수신기는 Zipkin v1 및 v2 형식의 추적 내용을 수집합니다.

Zipkin Receiver가 활성화된 OpenTelemetry Collector 사용자 정의 리소스

# ...
  config:
    receivers:
      zipkin:
        endpoint: 0.0.0.0:9411 
1

        tls: {} 
2

    service:
      pipelines:
        traces:
          receivers: [zipkin]
# ...
Copy to Clipboard Toggle word wrap

1
Zipkin HTTP 끝점입니다. 생략하면 기본값 0.0.0.0:9411 이 사용됩니다.
2
서버 측 TLS 구성입니다. 자세한 내용은 OTLP 수신기 구성 섹션을 참조하세요.

4.2.9. 카프카 수신기

Kafka 수신기는 OTLP 형식으로 Kafka로부터 추적, 메트릭 및 로그를 수신합니다.

중요

Kafka Receiver는 기술 미리 보기 기능일 뿐입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

Kafka Receiver가 활성화된 OpenTelemetry Collector 사용자 지정 리소스

# ...
  config:
    receivers:
      kafka:
        brokers: ["localhost:9092"] 
1

        protocol_version: 2.0.0 
2

        topic: otlp_spans 
3

        auth:
          plain_text: 
4

            username: example
            password: example
          tls: 
5

            ca_file: ca.pem
            cert_file: cert.pem
            key_file: key.pem
            insecure: false 
6

            server_name_override: kafka.example.corp 
7

    service:
      pipelines:
        traces:
          receivers: [kafka]
# ...
Copy to Clipboard Toggle word wrap

1
카프카 브로커 목록 기본값은 localhost:9092 입니다.
2
카프카 프로토콜 버전. 예를 들면 2.0.0 입니다. 이 필드는 필수 항목입니다.
3
읽을 Kafka 토픽의 이름입니다. 기본값은 otlp_spans 입니다.
4
일반 텍스트 인증 구성. 생략하면 일반 텍스트 인증이 비활성화됩니다.
5
클라이언트 측 TLS 구성. TLS 인증서에 대한 경로를 정의합니다. 생략하면 TLS 인증이 비활성화됩니다.
6
서버의 인증서 체인과 호스트 이름 확인을 비활성화합니다. 기본값은 false입니다.
7
ServerName은 가상 호스팅을 지원하기 위해 클라이언트가 요청한 서버의 이름을 나타냅니다.

4.2.10. 쿠버네티스 클러스터 수신기

Kubernetes 클러스터 수신기는 Kubernetes API 서버에서 클러스터 메트릭과 엔터티 이벤트를 수집합니다. Kubernetes API를 사용하여 업데이트에 대한 정보를 수신합니다. 이 수신기에 대한 인증은 서비스 계정을 통해서만 지원됩니다.

중요

Kubernetes 클러스터 수신기는 기술 미리 보기 기능일 뿐입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

활성화된 Kubernetes 클러스터 수신자가 있는 OpenTelemetry 수집기 사용자 정의 리소스

# ...
  config:
    receivers:
      k8s_cluster:
        distribution: openshift
        collection_interval: 10s
    exporters:
      debug: {}
    service:
      pipelines:
        metrics:
          receivers: [k8s_cluster]
          exporters: [debug]
        logs/entity_events:
          receivers: [k8s_cluster]
          exporters: [debug]
# ...
Copy to Clipboard Toggle word wrap

이 수신기에는 구성된 서비스 계정, 클러스터 역할에 대한 RBAC 규칙, RBAC를 서비스 계정과 바인딩하는 클러스터 역할 바인딩이 필요합니다.

ServiceAccount 객체

apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    app: otelcontribcol
  name: otelcontribcol
# ...
Copy to Clipboard Toggle word wrap

ClusterRole 객체에 대한 RBAC 규칙

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: otelcontribcol
  labels:
    app: otelcontribcol
rules:
- apiGroups:
  - quota.openshift.io
  resources:
  - clusterresourcequotas
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - ""
  resources:
  - events
  - namespaces
  - namespaces/status
  - nodes
  - nodes/spec
  - pods
  - pods/status
  - replicationcontrollers
  - replicationcontrollers/status
  - resourcequotas
  - services
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - apps
  resources:
  - daemonsets
  - deployments
  - replicasets
  - statefulsets
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - extensions
  resources:
  - daemonsets
  - deployments
  - replicasets
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - batch
  resources:
  - jobs
  - cronjobs
  verbs:
  - get
  - list
  - watch
- apiGroups:
    - autoscaling
  resources:
    - horizontalpodautoscalers
  verbs:
    - get
    - list
    - watch
# ...
Copy to Clipboard Toggle word wrap

ClusterRoleBinding 객체

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: otelcontribcol
  labels:
    app: otelcontribcol
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: otelcontribcol
subjects:
- kind: ServiceAccount
  name: otelcontribcol
  namespace: default
# ...
Copy to Clipboard Toggle word wrap

4.2.11. OpenCensus Receiver

OpenCensus Receiver는 계측화된 코드베이스의 보다 쉬운 마이그레이션을 위해 OpenCensus 프로젝트와의 하위 호환성을 제공합니다. gRPC 또는 HTTP와 Json을 통해 OpenCensus 형식으로 메트릭과 추적 정보를 수신합니다.

주의

OpenCensus Receiver는 더 이상 사용되지 않으며 향후 릴리스에서 제거될 수 있습니다.

OpenCensus Receiver가 활성화된 OpenTelemetry Collector 사용자 정의 리소스

# ...
  config:
    receivers:
      opencensus:
        endpoint: 0.0.0.0:9411 
1

        tls: 
2

        cors_allowed_origins: 
3

          - https://*.<example>.com
    service:
      pipelines:
        traces:
          receivers: [opencensus]
# ...
Copy to Clipboard Toggle word wrap

1
OpenCensus 엔드포인트. 생략하면 기본값은 0.0.0.0:55678 입니다.
2
서버 측 TLS 구성입니다. 자세한 내용은 OTLP 수신기 구성 섹션을 참조하세요.
3
또한 HTTP JSON 엔드포인트를 사용하여 CORS를 선택적으로 구성할 수 있습니다. 이 필드에 허용된 CORS 출처 목록을 지정하여 CORS를 활성화할 수 있습니다. cors_allowed_origins 에 따라 *가 포함된 와일드카드가 허용됩니다. 모든 출처와 일치하려면 * 만 입력하세요.

4.2.12. 파일로그 수신기

Filelog Receiver는 파일의 로그를 추적하고 구문 분석합니다.

중요

파일 로그 수신자는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

텍스트 파일을 추적하는 Filelog Receiver가 활성화된 OpenTelemetry Collector 사용자 지정 리소스

# ...
  config:
    receivers:
      filelog:
        include: [ /simple.log ] 
1

        operators: 
2

          - type: regex_parser
            regex: '^(?P<time>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) (?P<sev>[A-Z]*) (?P<msg>.*)$'
            timestamp:
              parse_from: attributes.time
              layout: '%Y-%m-%d %H:%M:%S'
            severity:
              parse_from: attributes.sev
# ...
Copy to Clipboard Toggle word wrap

1
읽을 파일 경로와 일치하는 파일 글로브 패턴 목록입니다.
2
연산자의 배열입니다. 각 연산자는 타임스탬프나 JSON 구문 분석과 같은 간단한 작업을 수행합니다. 로그를 원하는 형식으로 처리하려면 연산자를 연결합니다.

4.2.13. 저널드 수신기

Journald 수신기는 systemd 저널에서 journald 이벤트를 구문 분석하여 로그로 전송합니다.

중요

Journald Receiver는 기술 미리보기 기능일 뿐입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

Journald Receiver가 활성화된 OpenTelemetry Collector 사용자 정의 리소스

apiVersion: v1
kind: Namespace
metadata:
  name: otel-journald
  labels:
    security.openshift.io/scc.podSecurityLabelSync: "false"
    pod-security.kubernetes.io/enforce: "privileged"
    pod-security.kubernetes.io/audit: "privileged"
    pod-security.kubernetes.io/warn: "privileged"
# ...
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: privileged-sa
  namespace: otel-journald
# ...
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: otel-journald-binding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: system:openshift:scc:privileged
subjects:
- kind: ServiceAccount
  name: privileged-sa
  namespace: otel-journald
# ...
---
apiVersion: opentelemetry.io/v1beta1
kind: OpenTelemetryCollector
metadata:
  name: otel-journald-logs
  namespace: otel-journald
spec:
  mode: daemonset
  serviceAccount: privileged-sa
  securityContext:
    allowPrivilegeEscalation: false
    capabilities:
      drop:
      - CHOWN
      - DAC_OVERRIDE
      - FOWNER
      - FSETID
      - KILL
      - NET_BIND_SERVICE
      - SETGID
      - SETPCAP
      - SETUID
    readOnlyRootFilesystem: true
    seLinuxOptions:
      type: spc_t
    seccompProfile:
      type: RuntimeDefault
  config:
    receivers:
      journald:
        files: /var/log/journal/*/*
        priority: info 
1

        units: 
2

          - kubelet
          - crio
          - init.scope
          - dnsmasq
        all: true 
3

        retry_on_failure:
          enabled: true 
4

          initial_interval: 1s 
5

          max_interval: 30s 
6

          max_elapsed_time: 5m 
7

    processors:
    exporters:
      debug: {}
    service:
      pipelines:
        logs:
          receivers: [journald]
          exporters: [debug]
  volumeMounts:
  - name: journal-logs
    mountPath: /var/log/journal/
    readOnly: true
  volumes:
  - name: journal-logs
    hostPath:
      path: /var/log/journal
  tolerations:
  - key: node-role.kubernetes.io/master
    operator: Exists
    effect: NoSchedule
# ...
Copy to Clipboard Toggle word wrap

1
메시지 우선순위 또는 우선 순위 범위에 따라 출력을 필터링합니다. 기본값은 info 입니다.
2
항목을 읽을 단위를 나열합니다. 비어 있으면 모든 단위에서 항목을 읽습니다.
3
매우 긴 로그와 인쇄할 수 없는 문자가 포함된 로그가 포함됩니다. 기본값은 false입니다.
4
true 로 설정하면 수신기는 파일 읽기를 일시 중지하고 다운스트림 구성 요소에서 오류가 발생하면 현재 로그 배치를 다시 보내려고 시도합니다. 기본값은 false입니다.
5
첫 번째 실패 후 다시 시도하기 전까지 기다리는 시간 간격입니다. 기본값은 1초 입니다. 단위는 ms , s , m , h 입니다.
6
재시도 백오프 간격의 상한값입니다. 이 값에 도달하면 연속 재시도 사이의 시간 간격은 이 값으로 일정하게 유지됩니다. 기본값은 30s입니다. 지원되는 단위는 ms , s , m , h 입니다.
7
다운스트림 소비자에게 로그 배치를 전송하기 위한 재시도 횟수를 포함한 최대 시간 간격입니다. 이 값에 도달하면 데이터가 삭제됩니다. 설정 값이 0 이면 재시도는 멈추지 않습니다. 기본값은 5m 입니다. 지원되는 단위는 ms , s , m , h 입니다.

4.2.14. 쿠버네티스 이벤트 수신기

Kubernetes 이벤트 수신기는 Kubernetes API 서버에서 이벤트를 수집합니다. 수집된 이벤트는 로그로 변환됩니다.

중요

Kubernetes 이벤트 수신기는 기술 미리 보기 기능일 뿐입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

Kubernetes 이벤트 수신기에 필요한 OpenShift 컨테이너 플랫폼 권한

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: otel-collector
  labels:
    app: otel-collector
rules:
- apiGroups:
  - ""
  resources:
  - events
  - namespaces
  - namespaces/status
  - nodes
  - nodes/spec
  - pods
  - pods/status
  - replicationcontrollers
  - replicationcontrollers/status
  - resourcequotas
  - services
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - apps
  resources:
  - daemonsets
  - deployments
  - replicasets
  - statefulsets
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - extensions
  resources:
  - daemonsets
  - deployments
  - replicasets
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - batch
  resources:
  - jobs
  - cronjobs
  verbs:
  - get
  - list
  - watch
- apiGroups:
    - autoscaling
  resources:
    - horizontalpodautoscalers
  verbs:
    - get
    - list
    - watch
# ...
Copy to Clipboard Toggle word wrap

활성화된 Kubernetes 이벤트 수신자가 있는 OpenTelemetry 수집기 사용자 정의 리소스

# ...
  serviceAccount: otel-collector 
1

  config:
    receivers:
      k8s_events:
        namespaces: [project1, project2] 
2

    service:
      pipelines:
        logs:
          receivers: [k8s_events]
# ...
Copy to Clipboard Toggle word wrap

1
필수 ClusterRole otel-collector RBAC가 있는 Collector의 서비스 계정입니다.
2
이벤트를 수집할 네임스페이스 목록입니다. 기본값은 비어 있는데, 이는 모든 네임스페이스가 수집된다는 것을 의미합니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat