25.5.2. Prometheus 리소스 배포
Prometheus를 사용하여 Kafka 클러스터에서 모니터링 데이터를 가져옵니다.
자체 Prometheus 배포를 사용하거나 Apache Kafka용 Streams에서 제공하는 지표 구성 파일 예제 를 사용하여 Prometheus를 배포할 수 있습니다. 예제 파일을 사용하려면 PodMonitor 리소스를 구성하고 배포합니다. PodMonitor는 Apache Kafka, Operator, Kafka Bridge 및 Cruise Control의 Pod에서 직접 데이터를 스크랩합니다.
그런 다음 Alertmanager에 대한 경고 규칙 예제를 배포합니다.
사전 요구 사항
- 실행 중인 Kafka 클러스터입니다.
- Apache Kafka용 Streams와 함께 제공되는 경고 규칙 예제 를 확인합니다.
프로세스
사용자 정의 프로젝트에 대한 모니터링이 활성화되어 있는지 확인합니다.
oc get pods -n openshift-user-workload-monitoring활성화하면 모니터링 구성 요소의 Pod가 반환됩니다. 예를 들면 다음과 같습니다.
NAME READY STATUS RESTARTS AGE prometheus-operator-5cc59f9bc6-kgcq8 1/1 Running 0 25s prometheus-user-workload-0 5/5 Running 1 14s prometheus-user-workload-1 5/5 Running 1 14s thanos-ruler-user-workload-0 3/3 Running 0 14s thanos-ruler-user-workload-1 3/3 Running 0 14s반환된 Pod가 없는 경우 사용자 정의 프로젝트에 대한 모니터링이 비활성화됩니다. 25.5절. “OpenShift에서 Kafka 메트릭 및 대시보드 보기” 의 사전 요구 사항을 참조하십시오.
여러
PodMonitor리소스는examples/metrics/prometheus-install/strimzi-pod-monitor.yaml에서 정의됩니다.각
PodMonitor리소스에 대해spec.namespaceSelector.matchNames속성을 편집합니다.apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: name: cluster-operator-metrics labels: app: strimzi spec: selector: matchLabels: strimzi.io/kind: cluster-operator namespaceSelector: matchNames: - <project-name>1 podMetricsEndpoints: - path: /metrics port: http # ...- 1
- 메트릭을 스크랩할 Pod가 실행 중인 프로젝트입니다(예:
Kafka).
strimzi-pod-monitor.yaml파일을 Kafka 클러스터가 실행 중인 프로젝트에 배포합니다.oc apply -f strimzi-pod-monitor.yaml -n MY-PROJECT예제 Prometheus 규칙을 동일한 프로젝트에 배포합니다.
oc apply -f prometheus-rules.yaml -n MY-PROJECT