4장. 수집기 구성
4.1. 수집기 구성 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat build of OpenTelemetry Operator는 OpenTelemetry 리소스의 Red Hat 빌드를 생성하고 배포할 때 사용할 아키텍처 및 구성 설정을 정의하는 CRD(사용자 정의 리소스 정의) 파일을 사용합니다. 기본 구성을 설치하거나 파일을 수정할 수 있습니다.
4.1.1. 배포 모드 링크 복사링크가 클립보드에 복사되었습니다!
OpenTelemetryCollector 사용자 정의 리소스를 사용하면 OpenTelemetry 수집기에 대해 다음 배포 모드 중 하나를 지정할 수 있습니다.
- Deployment
- 기본값입니다.
- StatefulSet
- 예를 들어 수집기의 File Storage Extension 또는 Tail Sampling Processor를 사용할 때 상태 저장 워크로드를 실행해야 하는 경우 StatefulSet 배포 모드를 사용합니다.
- DaemonSet
- 예를 들어 수집기의 Filelog Receiver를 사용하여 컨테이너 로그를 읽는 등 모든 노드에서 Telemetry 데이터를 스크랩해야 하는 경우 DaemonSet 배포 모드를 사용합니다.
- 사이드카
컨테이너 내부의 로그 파일에 액세스해야 하는 경우 수집기를 사이드카로 삽입하고 수집기의 Filelog Receiver 및
emptyDir과 같은 공유 볼륨을 사용합니다.localhost를 통해 Telemetry 데이터를 보내도록 애플리케이션을 구성해야 하는 경우 수집기를 사이드카로 삽입하고 암호화되고 인증된 연결을 통해 원격 분석 데이터를 외부 서비스로 전달하도록 수집기를 설정합니다. 수집기는 사이드카와 삽입될 때 애플리케이션과 동일한 Pod에서 실행됩니다.참고사이드카 배포 모드를 선택한 경우
OpenTelemetryCollector사용자 정의 리소스 CR에서spec.mode: sidecar필드를 설정하는 것 외에도sidecar.opentelemetry.io/inject주석을 Pod 주석 또는 네임스페이스 주석으로 설정해야 합니다. Pod 및 네임 스페이스 모두에 이 주석을 설정하면 pod 주석이false또는OpenTelemetryCollectorCR 이름으로 설정된 경우 우선합니다.pod 주석으로
sidecar.opentelemetry.io/inject주석은 여러 값을 지원합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 지원되는 값:
false- 수집기를 삽입하지 않습니다. 주석이 없는 경우 이는 기본값입니다.
true-
동일한 네임스페이스에서
OpenTelemetryCollectorCR의 구성으로 수집기를 삽입합니다. <collector_name>-
동일한 네임스페이스에서 <
collector_name>OpenTelemetryCollectorCR의 구성으로 수집기를 삽입합니다. <namespace>/<collector_name>-
<
namespace> 네임스페이스에서 <삽입합니다.collector_name>OpenTelemetryCollectorCR의 구성으로 수집기를
4.1.2. OpenTelemetry 수집기 구성 옵션 링크 복사링크가 클립보드에 복사되었습니다!
OpenTelemetry 수집기는 Telemetry 데이터에 액세스하는 5가지 유형의 구성 요소로 구성됩니다.
- 수신자
- 프로세서
- 내보내기
- 커넥터
- 확장
사용자 정의 리소스 YAML 파일에서 구성 요소의 여러 인스턴스를 정의할 수 있습니다. 구성하는 경우 YAML 파일의 spec.config.service 섹션에 정의된 파이프라인을 통해 이러한 구성 요소를 활성화해야 합니다. 필요한 구성 요소만 활성화하는 것이 좋습니다.
OpenTelemetry Collector 사용자 정의 리소스 파일의 예
- 1
- 구성 요소가 구성되었지만
service섹션에 정의되지 않은 경우 구성 요소가 활성화되지 않습니다.
| 매개변수 | 설명 | 값 | 기본 |
|---|---|---|---|
receivers:
| 수신자는 데이터가 수집기로 들어오는 방법입니다. 기본적으로 수신자는 설정되어 있지 않습니다. 구성이 유효한 것으로 간주되려면 하나 이상의 사용 가능한 수신자가 있어야 합니다. 파이프라인에 추가되면 수신자가 활성화됩니다. |
| 없음 |
processors:
| 프로세서는 내보낸 데이터를 통해 실행됩니다. 기본적으로 프로세서는 사용할 수 없습니다. |
| 없음 |
exporters:
| 내보내기는 하나 이상의 백엔드 또는 대상에 데이터를 보냅니다. 기본적으로 내보내기는 구성되지 않습니다. 구성이 유효한 것으로 간주되려면 하나 이상의 활성화된 내보내기가 있어야 합니다. 파이프라인에 내보내기를 추가하여 사용할 수 있습니다. 내보내기는 기본 설정과 함께 사용할 수 있지만 대상 및 보안 설정을 지정하려면 많은 구성이 필요합니다. |
| 없음 |
connectors:
| Connectors는 데이터를 end-of-pipeline 내보내기 도구로 사용하고 데이터를 초기-op-pipeline 수신자로 내보내 파이프라인 쌍을 결합합니다. 커넥터를 사용하여 소비된 데이터를 요약, 복제 또는 라우팅할 수 있습니다. |
| 없음 |
extensions:
| Telemetry 데이터를 처리하지 않는 작업의 선택적 구성 요소입니다. |
| 없음 |
service: pipelines:
|
구성 요소는 | ||
service:
pipelines:
traces:
receivers:
|
| 없음 | |
service:
pipelines:
traces:
processors:
|
| 없음 | |
service:
pipelines:
traces:
exporters:
|
| 없음 | |
service:
pipelines:
metrics:
receivers:
|
| 없음 | |
service:
pipelines:
metrics:
processors:
|
| 없음 | |
service:
pipelines:
metrics:
exporters:
|
| 없음 |
4.1.3. 프로파일 신호 링크 복사링크가 클립보드에 복사되었습니다!
프로필 신호는 코드 실행 및 리소스 사용을 관찰하기 위한 새로운 원격 분석 데이터 형식입니다.
프로필 신호는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
프로필 신호를 사용하면 비효율적인 코드를 특정 함수에 정확하게 지정할 수 있습니다. 이러한 프로파일링을 사용하면 성능 병목 현상과 리소스의 비효율성을 특정 코드 라인으로 정확하게 식별할 수 있습니다. 이러한 고성능 프로파일 데이터를 추적, 메트릭 및 로그와 연계하여 프로덕션 환경에서 포괄적인 성능 분석 및 대상 코드 최적화를 가능하게 합니다.
프로파일링은 애플리케이션 또는 운영 체제를 대상으로 할 수 있습니다.
- 프로파일링을 사용하여 애플리케이션을 관찰하면 개발자가 코드 성능을 검증하고 회귀를 방지하고 메모리 및 CPU 사용과 같은 리소스 사용을 모니터링하여 비효율적인 코드를 식별하고 개선할 수 있습니다.
- 프로파일링을 사용하여 운영 체제를 관찰하면 인프라, 시스템 호출, 커널 작업, I/O 대기 시간에 대한 인사이트를 제공할 수 있으므로 인프라 최적화로 효율성 및 비용 절감이 가능합니다.
활성화된 프로필 신호가 있는 OpenTelemetry 수집기 사용자 정의 리소스
4.1.4. 필요한 RBAC 리소스 자동 생성 링크 복사링크가 클립보드에 복사되었습니다!
일부 수집기 구성 요소에는 RBAC 리소스를 구성해야 합니다.
프로세스
OpenTelemetry Operator의 Red Hat 빌드가 자동으로 생성할 수 있도록
opentelemetry-operator-controller-manage서비스 계정에 다음 권한을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.5. 대상 Al Cryostat 링크 복사링크가 클립보드에 복사되었습니다!
대상 Al history는 OpenTelemetry 수집기 인스턴스의 배포된 플릿에서 대상을 스크랩하는 OpenTelemetry Operator의 선택적 구성 요소입니다. 대상은 Prometheus PodMonitor 및 ServiceMonitor CR(사용자 정의 리소스)과 통합됩니다. Target Al Cryostat가 활성화되면 OpenTelemetry Operator는 Target Al Cryostat 서비스에 연결된 활성화된 prometheus 수신자에 http_sd_config 필드를 추가합니다.
대상은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
활성화된 Target Alllector CR을 사용하는 OpenTelemetryCollector CR의 예
- 1
- 대상이 활성화된 경우 배포 모드를
상태 저장세트로 설정해야 합니다. - 2
- Target Al Cryostat를 활성화합니다. 기본값은
false입니다. - 3
- Target Al Cryostat 배포의 서비스 계정 이름입니다. 서비스 계정에는
ServiceMonitor,PodMonitor사용자 정의 리소스 및 클러스터의 기타 오브젝트를 가져오려면 RBAC가 있어야 스크랩된 메트릭에 라벨을 올바르게 설정해야 합니다. 기본 서비스 이름은 <collector_name>-targetal Cryostat입니다. - 4
- Prometheus
PodMonitor및ServiceMonitor사용자 정의 리소스와의 통합을 활성화합니다. - 5
- Prometheus
ServiceMonitor사용자 정의 리소스의 라벨 선택기입니다. 비어 있는 경우 모든 서비스 모니터를 활성화합니다. - 6
- Prometheus
PodMonitor사용자 정의 리소스의 라벨 선택기입니다. 비어 있는 경우 모든 Pod 모니터를 활성화합니다. - 7
- 최소 빈
scrape_config: []구성 옵션이 있는 Prometheus 수신자.
Target Al Cryostat 배포에서는 Kubernetes API를 사용하여 클러스터에서 관련 개체를 가져오므로 사용자 지정 RBAC 구성이 필요합니다.
Target Al Cryostat 서비스 계정에 대한 RBAC 구성