3.2. 수신자
수신자는 수집기에 데이터를 가져옵니다. 수신자는 푸시 또는 풀 기반일 수 있습니다. 일반적으로 수신자는 지정된 형식으로 데이터를 수락하고 내부 형식으로 변환한 다음 해당 파이프라인에 정의된 프로세서 및 내보내기에 전달합니다. 기본적으로 수신자는 설정되어 있지 않습니다. 하나 이상의 수신자를 구성해야 합니다. 수신자는 하나 이상의 데이터 소스를 지원할 수 있습니다.
현재 OpenTelemetry의 Red Hat 빌드에서 다음 일반 가용성 및 기술 프리뷰 수신자를 사용할 수 있습니다.
3.2.1. OTLP 수신기
OTLP 수신기는 OTLP(OpenTelemetry Protocol)를 사용하여 추적, 메트릭 및 로그를 수집합니다. OTLP 수신기는 OTLP(OpenTelemetry 프로토콜)를 사용하여 추적 및 메트릭을 수집합니다.
활성화된 OTLP Receiver가 활성화된 OpenTelemetry 수집기 사용자 정의 리소스
# ... 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] # ...
- 1
- OTLP gRPC 끝점입니다. 생략하면 기본값
0.0.0.0:4317
이 사용됩니다. - 2
- 서버 측 TLS 구성입니다. TLS 인증서의 경로를 정의합니다. 생략하면 TLS가 비활성화됩니다.
- 3
- 서버가 클라이언트 인증서를 확인하는 TLS 인증서의 경로입니다. 이렇게 하면
TLSConfig
에서ClientCA
및ClientAuth
의 값이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
프로토콜 구성 섹션을 참조하십시오.
3.2.2. Jaeger 수신자
Jaeger 수신자는 Jaeger 형식의 추적을 수집합니다.
활성화된 Jaeger 수신자가 있는 OpenTelemetry 수집기 사용자 정의 리소스
# ... 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] # ...
3.2.3. 호스트 지표 수신자
Host Metrics Receiver는 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] # ...
- 1
- 호스트 지표 컬렉션의 시간 간격을 설정합니다. 생략하면 기본값은
1m
입니다. - 2
- 호스트 지표 컬렉션의 초기 시간 지연을 설정합니다. 생략하면 기본값은
1s
입니다. - 3
- Host Metrics Receiver가 루트 파일 시스템이 있는 위치를 알 수 있도록
root_path
를 구성합니다. Host Metrics Receiver의 여러 인스턴스를 실행하는 경우 각 인스턴스에 대해 동일한root_path
값을 설정합니다. - 4
- 활성화된 호스트 지표 스크랩을 나열합니다. 사용 가능한 스크랩은
cpu
,disk
,load
,filesystem
,memory
,network
,paging
,processes
,process
니다.
3.2.4. Kubernetes 오브젝트 수신자
Kubernetes 오브젝트 수신자는 Kubernetes API 서버에서 수집할 오브젝트를 가져오거나 감시합니다. 이 수신자는 주로 Kubernetes 이벤트를 감시하지만 모든 유형의 Kubernetes 오브젝트를 수집할 수 있습니다. 이 수신자는 전체 클러스터에 대한 Telemetry를 수집하므로 이 수신자의 인스턴스 하나만 있으면 모든 데이터를 수집할 수 있습니다.
Kubernetes 오브젝트 수신자는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 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] # ...
3.2.5. kubelet Stats Receiver
Kubelet Stats Receiver는 kubelet의 API 서버에서 노드, Pod, 컨테이너 및 볼륨과 관련된 메트릭을 추출합니다. 그런 다음 추가 분석을 위해 메트릭 처리 파이프라인을 통해 이러한 메트릭을 채널링합니다.
활성화된 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
# ...
- 1
- API에 인증할
K8S_NODE_NAME
을 설정합니다.
Kubelet Stats Receiver에는 OpenTelemetry 수집기를 실행하는 데 사용되는 서비스 계정에 대한 추가 권한이 필요합니다.
서비스 계정에 필요한 권한
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"]
# ...
- 1
extra_metadata_labels
또는request_utilization
또는limit_utilization
메트릭을 사용할 때 필요한 권한입니다.
3.2.6. Prometheus 수신자
Prometheus 수신자는 지표 끝점을 스크랩합니다.
Prometheus 수신자는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
활성화된 Prometheus 수신자가 있는 OpenTelemetry 수집기 사용자 정의 리소스
# ... 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] # ...
3.2.7. OTLP JSON 파일 수신자
OTLP JSON 파일 수신자는 ProtoJSON 형식의 데이터를 포함하는 파일에서 파이프라인 정보를 추출하고 OpenTelemetry 프로토콜 사양을 준수합니다. 수신자는 생성되거나 처리할 수정된 파일과 같은 변경 사항이 있는지 지정된 디렉터리를 감시합니다.
OTLP JSON 파일 수신자는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
활성화된 OTLP JSON File Receiver가 활성화된 OpenTelemetry 수집기 사용자 정의 리소스
# ... config: otlpjsonfile: include: - "/var/log/*.log" 1 exclude: - "/var/log/test.log" 2 # ...
3.2.8. Zipkin 수신기
Zipkin Receiver는 Zipkin v1 및 v2 형식의 추적을 수집합니다.
활성화된 Zipkin Receiver를 사용하는 OpenTelemetry 수집기 사용자 정의 리소스
# ... config: receivers: zipkin: endpoint: 0.0.0.0:9411 1 tls: {} 2 service: pipelines: traces: receivers: [zipkin] # ...
3.2.9. Kafka 수신자
Kafka 수신자는 OTLP 형식으로 Kafka에서 추적, 메트릭 및 로그를 수신합니다.
Kafka 수신자는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
활성화된 Kafka 수신자가 있는 OpenTelemetry 수집기 사용자 정의 리소스
# ... 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] # ...
- 1
- Kafka 브로커 목록입니다. 기본값은
localhost:9092
입니다. - 2
- Kafka 프로토콜 버전입니다. 예를 들면
2.0.0
입니다. 이 필드는 필수 항목입니다. - 3
- 읽을 Kafka 주제의 이름입니다. 기본값은
otlp_spans
입니다. - 4
- 일반 텍스트 인증 구성입니다. 생략하면 일반 텍스트 인증이 비활성화됩니다.
- 5
- 클라이언트 측 TLS 구성입니다. TLS 인증서의 경로를 정의합니다. 생략하면 TLS 인증이 비활성화됩니다.
- 6
- 서버의 인증서 체인과 호스트 이름을 확인하지 않습니다. 기본값은
false
입니다. - 7
- ServerName은 가상 호스팅을 지원하기 위해 클라이언트에서 요청한 서버의 이름을 나타냅니다.
3.2.10. Kubernetes 클러스터 수신자
Kubernetes Cluster Receiver는 Kubernetes API 서버에서 클러스터 메트릭 및 엔터티 이벤트를 수집합니다. Kubernetes API를 사용하여 업데이트에 대한 정보를 받습니다. 이 수신자의 인증은 서비스 계정을 통해서만 지원됩니다.
Kubernetes Cluster Receiver는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 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] # ...
이 수신자에는 구성된 서비스 계정, 클러스터 역할에 대한 RBAC 규칙, RBAC를 서비스 계정에 바인딩하는 클러스터 역할 바인딩이 필요합니다.
ServiceAccount
오브젝트
apiVersion: v1 kind: ServiceAccount metadata: labels: app: otelcontribcol name: otelcontribcol # ...
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 # ...
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 # ...
3.2.11. OpenCensus Receiver
OpenCensus Receiver는 조정된 코드베이스를 보다 쉽게 마이그레이션할 수 있도록 OpenCensus 프로젝트와 역호환성을 제공합니다. gRPC 또는 HTTP 및 Json을 통해 OpenCensus 형식의 메트릭 및 추적을 수신합니다.
활성화된 OpenCensus Receiver가 활성화된 OpenTelemetry 수집기 사용자 정의 리소스
# ... config: receivers: opencensus: endpoint: 0.0.0.0:9411 1 tls: 2 cors_allowed_origins: 3 - https://*.<example>.com service: pipelines: traces: receivers: [opencensus] # ...
3.2.12. Filelog Receiver
Filelog Receiver tails 및 구문 분석 파일에서 로그를 구문 분석합니다.
파일 로그 수신자는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
OpenTelemetry Collector 사용자 정의 리소스가 텍스트 파일을 유지하는 활성화된 Filelog Receiver
# ... 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 # ...
3.2.13. journald Receiver
Journald Receiver는 systemd 저널의 journald 이벤트를 구문 분석하고 로그로 보냅니다.
Journald Receiver는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
OpenTelemetry Collector 사용자 정의 리소스가 활성화된 Journald Receiver
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 # ...
- 1
- 메시지 우선순위 또는 우선 순위 범위에 따라 출력을 필터링합니다. 기본값은
info
입니다. - 2
- 항목을 읽을 단위를 나열합니다. 비어있는 경우 모든 유닛에서 항목을 읽습니다.
- 3
- 인쇄할 수 없는 문자가 있는 매우 긴 로그와 로그를 포함합니다. 기본값은
false
입니다. - 4
true
로 설정하면 수신자가 파일 읽기를 일시 중지하고 다운스트림 구성 요소에서 오류가 발생하면 현재 로그 일괄 처리를 다시 보냅니다. 기본값은false
입니다.- 5
- 재시도하기 전에 첫 번째 실패 후 대기하는 시간 간격입니다. 기본값은
1s
입니다. 단위는ms
,s
,m
,h
입니다. - 6
- 재시도 백오프 간격의 상한입니다. 이 값에 도달하면 연속 재시도 시도 사이의 시간 간격은 이 값에서 일정하게 유지됩니다. 기본값은
30s
입니다. 지원되는 단위는ms
,s
,m
,h
입니다. - 7
- 다운스트림 소비자에 로그 일괄 처리를 전송하기 위한 재시도 시도를 포함한 최대 시간 간격입니다. 이 값에 도달하면 데이터가 삭제됩니다. set 값이
0
이면 재시도가 중지되지 않습니다. 기본값은5m
입니다. 지원되는 단위는ms
,s
,m
,h
입니다.
3.2.14. Kubernetes 이벤트 수신자
Kubernetes 이벤트 수신자는 Kubernetes API 서버에서 이벤트를 수집합니다. 수집된 이벤트는 로그로 변환됩니다.
Kubernetes 이벤트 수신자는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
Kubernetes Events Receiver에 필요한 OpenShift Container Platform 권한
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 # ...
활성화된 Kubernetes 이벤트 수신자가 있는 OpenTelemetry 수집기 사용자 정의 리소스
# ... serviceAccount: otel-collector 1 config: receivers: k8s_events: namespaces: [project1, project2] 2 service: pipelines: logs: receivers: [k8s_events] # ...