7.2. 모니터링 스택에서 메트릭을 수신하기 위한 구성
구성된 OpenTelemetry Collector CR(사용자 정의 리소스)은 클러스터 내 모니터링 스택에서 메트릭을 스크랩하도록 Prometheus 수신자를 설정할 수 있습니다.
클러스터 내 모니터링 스택에서 메트릭을 스크랩하는 OpenTelemetry Collector CR의 예
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: otel-collector
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-monitoring-view
subjects:
- kind: ServiceAccount
name: otel-collector
namespace: observability
---
kind: ConfigMap
apiVersion: v1
metadata:
name: cabundle
namespace: observability
annotations:
service.beta.openshift.io/inject-cabundle: "true"
---
apiVersion: opentelemetry.io/v1beta1
kind: OpenTelemetryCollector
metadata:
name: otel
namespace: observability
spec:
volumeMounts:
- name: cabundle-volume
mountPath: /etc/pki/ca-trust/source/service-ca
readOnly: true
volumes:
- name: cabundle-volume
configMap:
name: cabundle
mode: deployment
config:
receivers:
prometheus:
config:
scrape_configs:
- job_name: 'federate'
scrape_interval: 15s
scheme: https
tls_config:
ca_file: /etc/pki/ca-trust/source/service-ca/service-ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
honor_labels: false
params:
'match[]':
- '{__name__="<metric_name>"}'
metrics_path: '/federate'
static_configs:
- targets:
- "prometheus-k8s.openshift-monitoring.svc.cluster.local:9091"
exporters:
debug:
verbosity: detailed
service:
pipelines:
metrics:
receivers: [prometheus]
processors: []
exporters: [debug]
- 1
- 지표 데이터에 액세스할 수 있도록 OpenTelemetry 수집기의 서비스 계정에
cluster-monitoring-view클러스터 역할을 할당합니다. - 2
- Prometheus 수신자에서 TLS를 구성하기 위해 OpenShift 서비스 CA를 삽입합니다.
- 3
- 클러스터 내 모니터링 스택에서 통합 엔드포인트를 스크랩하도록 Prometheus 수신자를 구성합니다.
- 4
- Prometheus 쿼리 언어를 사용하여 스크랩할 지표를 선택합니다. 변환 끝점에 대한 자세한 내용 및 제한 사항은 클러스터 내 모니터링 설명서를 참조하십시오.
- 5
- 메트릭을 표준 출력에 출력하도록 디버그 내보내기를 구성합니다.