21.3. 메트릭 파일 예
Apache Kafka용 Streams에서 제공하는 구성 파일 예제에서 Grafana 대시보드 및 기타 지표 구성 파일 예를 찾을 수 있습니다.
Apache Kafka용 Streams와 함께 제공되는 메트릭 파일의 예
- 1
- Apache Kafka 구성 요소에 대한 다양한 Streams에 대한 Grafana 대시보드의 예.
- 2
- Grafana 이미지에 대한 설치 파일입니다.
- 3
- 노드의 OpenShift cAdvisor 에이전트 및 kubelet에서 직접 제공되는 CPU, 메모리 및 디스크 볼륨 사용에 대한 메트릭을 스크랩하는 추가 구성입니다.
- 4
- Alertmanager를 통해 알림을 전송하기 위한 후크 정의입니다.
- 5
- Alertmanager 배포 및 구성을 위한 리소스입니다.
- 6
- Prometheus Alertmanager와 함께 사용하기 위한 경고 규칙 예(Prometheus와 함께 배포됨)
- 7
- Prometheus 이미지에 대한 설치 리소스 파일입니다.
- 8
- Prometheus Operator에서 변환한 PodMonitor 정의는 Pod에서 직접 메트릭 데이터를 스크랩할 수 있도록 Prometheus 서버의 작업으로 변환됩니다.
- 9
- 메트릭이 활성화된 Kafka 브리지 리소스.
- 10
- Kafka Connect에 대한 Prometheus Cryostat Exporter 레이블 재레이블 규칙을 정의하는 메트릭 구성입니다.
- 11
- Cruise Control에 대한 Prometheus Cryostat Exporter 레이블 재레이블 규칙을 정의하는 메트릭 구성입니다.
- 12
- Kafka 및 Zoo Cryostat에 대한 Prometheus Cryostat Exporter 레이블 재레이블 규칙을 정의하는 메트릭 구성입니다.
- 13
- Kafka MirrorMaker 2에 대한 Prometheus Cryostat Exporter 레이블 재레이블 규칙을 정의하는 메트릭 구성입니다.
21.3.1. Prometheus 지표 구성의 예 링크 복사링크가 클립보드에 복사되었습니다!
Apache Kafka의 스트림은 Prometheus Cryostat Exporter 를 사용하여 Prometheus 서버에서 스크랩할 수 있는 HTTP 끝점을 통해 지표를 노출합니다.
Grafana 대시보드는 사용자 정의 리소스 구성에서 Apache Kafka 구성 요소에 대한 Streams에 대해 정의된 Prometheus Cryostat Exporter 재레이블 규칙에 따라 달라집니다.
레이블은 이름-값 쌍입니다. 레이블 재지정은 레이블을 동적으로 작성하는 프로세스입니다. 예를 들어 레이블의 값은 Kafka 서버 및 클라이언트 ID의 이름에서 파생될 수 있습니다.
Apache Kafka의 스트림은 레이블을 다시 지정하는 규칙을 사용하여 사용자 정의 리소스 구성 YAML 파일의 예를 제공합니다. Prometheus 지표 구성을 배포할 때 예제 사용자 정의 리소스를 배포하거나 메트릭 구성을 자체 사용자 정의 리소스 정의에 복사할 수 있습니다.
| Component | 사용자 정의 리소스 | YAML 파일의 예 |
|---|---|---|
| Kafka 및 Zoo Cryostat |
|
|
| Kafka Connect |
|
|
| Kafka MirrorMaker 2 |
|
|
| Kafka Bridge |
|
|
| 크루즈 제어 |
|
|
21.3.2. 경고 알림에 대한 Prometheus 규칙의 예 링크 복사링크가 클립보드에 복사되었습니다!
경고 알림에 대한 Prometheus 규칙은 Apache Kafka용 Streams에서 제공하는 지표 구성 파일 예제 와 함께 제공됩니다. 규칙은 Prometheus 배포에서 사용할 수 있도록 예제 prometheus-rules.yaml 파일에 지정됩니다.
prometheus-rules.yaml 파일에는 다음 구성 요소에 대한 예제 규칙이 포함되어 있습니다.
- Kafka
- ZooKeeper
- Entity Operator
- Kafka Connect
- Kafka Bridge
- MirrorMaker
- Kafka Exporter
각 예제 규칙에 대한 설명은 파일에 제공됩니다.
경고 규칙은 메트릭에서 관찰된 특정 상태에 대한 알림을 제공합니다. 규칙은 Prometheus 서버에서 선언되지만 Prometheus Alertmanager는 경고 알림을 담당합니다.
Prometheus 경고 규칙은 지속적으로 평가되는 PromQL 표현식을 사용하는 조건을 설명합니다.
경고 표현식이 true가 되면 조건이 충족되고 Prometheus 서버는 경고 데이터를 Alertmanager에 보냅니다. 그런 다음 Alertmanager는 배포에 대해 구성된 통신 방법을 사용하여 알림을 보냅니다.
경고 규칙 정의에 대한 일반 지점:
-
for속성은 경고가 트리거되기 전에 조건이 유지되어야 하는 기간을 결정하기 위해 규칙과 함께 사용됩니다. -
틱은 밀리초 단위로 측정되고
Kafka.spec.zookeeper.config의tickTime매개 변수를 사용하여 구성된 기본 Zoo Cryostat 시간 단위입니다. 예를 들어, Zoo CryostattickTime=3000인 경우 3 틱 (3 x 3000)은 9000 밀리초와 같습니다. -
ZookeeperRunningOutOfSpace지표 및 경고의 가용성은 사용된 OpenShift 구성 및 스토리지 구현에 따라 달라집니다. 특정 플랫폼에 대한 스토리지 구현은 메트릭이 경고를 제공하는 데 필요한 사용 가능한 공간에 대한 정보를 제공하지 못할 수 있습니다.
이메일, 채팅 메시지 또는 기타 알림 방법을 사용하도록 Alertmanager를 구성할 수 있습니다. 특정 요구 사항에 따라 예제 규칙의 기본 구성을 조정합니다.
21.3.3. Grafana 대시보드 예 링크 복사링크가 클립보드에 복사되었습니다!
지표를 제공하기 위해 Prometheus를 배포하는 경우 Apache Kafka용 Streams와 함께 제공되는 Grafana 대시보드 예제를 사용하여 Apache Kafka 구성 요소의 Streams를 모니터링할 수 있습니다.
예제 대시보드는 example/metrics/grafana-dashboards 디렉터리에 JSON 파일로 제공됩니다.
모든 대시보드는 JVM 지표와 구성 요소와 관련된 메트릭을 제공합니다. 예를 들어 Apache Kafka Operator용 Grafana 대시보드는 처리 중인 조정 또는 사용자 정의 리소스 수에 대한 정보를 제공합니다.
예제 대시보드에는 Kafka에서 지원하는 모든 메트릭이 표시되지 않습니다. 대시보드는 모니터링을 위한 대표 지표 세트로 채워집니다.
| Component | JSON 파일의 예 |
|---|---|
| Apache Kafka Operator용 스트림 |
|
| Kafka |
|
| ZooKeeper |
|
| Kafka Connect |
|
| Kafka MirrorMaker 2 |
|
| Kafka Bridge |
|
| 크루즈 제어 |
|
| Kafka Exporter |
|
Kafka Exporter에서 메트릭을 사용할 수 없는 경우 아직 클러스터에 트래픽이 없기 때문에 Kafka Exporter Grafana 대시보드에 숫자 필드에 N/A, 그래프에 표시할 데이터가 없습니다.