8.4. Prometheus メトリクス設定のデプロイ
Prometheus メトリクス設定をデプロイし、AMQ Streams で Prometheus を使用します。metricsConfig
プロパティーを使用して、Prometheus メトリクスを有効化および設定します。
独自の設定、または AMQ Streams で提供されるサンプルのカスタムリソース設定ファイル を使用できます。
-
kafka-metrics.yaml
-
kafka-connect-metrics.yaml
-
kafka-mirror-maker-2-metrics.yaml
-
kafka-bridge-metrics.yaml
-
kafka-cruise-control-metrics.yaml
設定ファイルのサンプルには、再ラベル付けルールと Prometheus メトリクスの有効化に必要な設定があります。Prometheus は、ターゲット HTTP エンドポイントからメトリクスを収集します。サンプルファイルは、AMQ Streams で Prometheus を試すのに適した方法です。
再ラベル付けルールおよびメトリクス設定を適用するには、以下のいずれかを行います。
- 独自のカスタムリソースに設定例をコピーする。
- メトリクス設定でカスタムリソースをデプロイする。
Kafka Exporter メトリクスを含める場合は、kafkaExporter
設定を Kafka
リソースに追加します。
Kafka Exporter は、コンシューマーラグおよびコンシューマーオフセットに関連する追加のメトリクスのみを提供します。通常の Kafka メトリクスでは、Kafka ブローカー で、Prometheus メトリクスを設定する必要があります。
この手順では、Kafka
リソースに Prometheus メトリクス設定をデプロイする方法を説明します。このプロセスは、他のリソースのサンプルファイルを使用する場合と同じです。
手順
Prometheus 設定でカスタムリソースのサンプルをデプロイします。
たとえば、
Kafka
リソースごとにkafka-metrics.yaml
ファイルを適用します。サンプル設定のデプロイ
oc apply -f kafka-metrics.yaml
または、
kafka-metrics.yaml
の設定例を独自のKafka
リソースにコピーすることもできます。サンプル設定のコピー
oc edit kafka <kafka-configuration-file>
metricsConfig
プロパティーと、Kafka
リソースを参照するConfigMap
をコピーします。Kafka のメトリクス設定例
apiVersion: kafka.strimzi.io/v1beta2 kind: Kafka metadata: name: my-cluster spec: kafka: # ... metricsConfig: 1 type: jmxPrometheusExporter valueFrom: configMapKeyRef: name: my-config-map key: my-key --- kind: ConfigMap 2 apiVersion: v1 metadata: name: kafka-metrics labels: app: strimzi data: kafka-metrics-config.yml: | # metrics configuration...
注記Kafka Bridge の場合、
enableMetrics
プロパティーを指定し、これをtrue
に設定します。apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaBridge metadata: name: my-bridge spec: # ... bootstrapServers: my-cluster-kafka:9092 http: # ... enableMetrics: true # ...
Kafka Exporter をデプロイするには、
kafkaExporter
設定を追加します。KafkaExporter
設定は、Kafka
リソースでのみ指定されます。Kafka Exporter のデプロイの設定例
apiVersion: kafka.strimzi.io/v1beta2 kind: Kafka metadata: name: my-cluster spec: # ... kafkaExporter: image: my-registry.io/my-org/my-exporter-cluster:latest 1 groupRegex: ".*" 2 topicRegex: ".*" 3 resources: 4 requests: cpu: 200m memory: 64Mi limits: cpu: 500m memory: 128Mi logging: debug 5 enableSaramaLogging: true 6 template: 7 pod: metadata: labels: label1: value1 imagePullSecrets: - name: my-docker-credentials securityContext: runAsUser: 1000001 fsGroup: 0 terminationGracePeriodSeconds: 120 readinessProbe: 8 initialDelaySeconds: 15 timeoutSeconds: 5 livenessProbe: 9 initialDelaySeconds: 15 timeoutSeconds: 5 # ...