Download PDF
Download page Kafka の構成.
Kafka の構成
このページでは、Helm チャートを使用して、導入された環境内に Kafka Prometheus エクスポータを追加する方法について説明します。Cisco Cloud Observability Helm チャートパッケージは、必要なすべての依存関係を提供します。Cisco Cloud Observability Helm チャートがインストールされていない場合は、「Install Kubernetes and App Service Monitoring」を参照してください。

要件
Prometheus を統合する前に、環境で Kafka および JMX エクスポータを構成する必要があります。Prometheus の「Exporters and integrations」を参照してください。
スケーリング要件
各 Cisco Cloud Observability Distribution for OpenTelemetry™ Collector レプリカは、5,000 の Kafka パーティションを処理できます。この制限により、Cisco Cloud Observability のメトリック、イベント、ログ、およびトレース(MELT)データ用の十分なストレージが確保されます。追加のパーティションを処理するには、5,000 パーティションごとに 1 つの Cisco Cloud Observability Distribution for OpenTelemetry™ Collector レプリカを追加します。たとえば、16 の Cisco Cloud Observability Distribution for OpenTelemetry™ Collector レプリカを持つ 16 ノードの Kubernetes クラスタは、合計 80,000 の Kafka パーティションを処理できます。
This page has not yet been translated to Japanese.
Kafka の Prometheus エクスポータモニタリングを有効にする
Cisco Cloud Observability Helm チャートを使用して Kafka の Prometheus エクスポータモニタリングを有効にするには、collectors-values.yaml
ファイルに注釈を付ける必要があります。
次のスニペットをコピーして、Kubernetes 展開の
collectors-values.yaml
ファイルに貼り付けます。設定の完全なリストについては、「AppDynamics OpenTelemetry Collector Service Settings」を参照してください。appdynamics-otel-collector: enablePrometheus: true spec: replicas: <your-desired-number-of-replicas-here>
CODEreplicas
値を Kubernetes クラスタ内の Kubernetes ノードの数に設定します。Cisco Cloud Observability の展開を有効にするために、replicas
を設定する必要があります。設定しないと、Cisco Cloud Observability Distribution for OpenTelemetry™ Collector は実行されません。「スケーリング要件」を参照してください。enablePrometheus
設定を true または false に変更した後、[Observe] ページで最新のエンティティとメトリックを表示するには、他のコレクタを再起動する必要があります。最新バージョンを使用して Helm チャートコマンドを実行し、オペレータとコレクタをアップグレードします。構成したら、次のコマンドを実行して検証します。
kubectl get po -n appdynamics
YMLサンプル出力:
NAMESPACE NAME READY STATUS RESTARTS AGE appdynamics appd-prom-appdynamics-otel-collector-collector-0 1/1 Running 0 115s appdynamics appd-prom-appdynamics-otel-collector-collector-1 1/1 Running 0 114s appdynamics appd-prom-appdynamics-otel-collector-targetallocator-676bfkxxxv 1/1 Running 0 115s appdynamics opentelemetry-operator-controller-manager-58d65d7848-z5t5n 2/2 Running 0 7h19m
YMLKubernetes アノテーションは、メタデータをオブジェクトに添付するように設計されています。アノテーションは、クライアントがこのメタデータを取得するために使用できるキーと値のペアです。Kubernetes アノテーションを使用して、Prometheus エクスポータエンドポイントを公開します。
デフォルト値とは異なる
path
またはport
で Prometheus エクスポータを開始する場合は、それに応じてprometheus.io/path
およびprometheus.io/port
アノテーションの値を更新する必要があります。Kafka エクスポータ:
appdynamics.com/exporter_type: "kafka" appdynamics.com/kafka_cluster_name: "<your-kafka-cluster-name-here>" prometheus.io/path: "/metrics" prometheus.io/port: "9308"
CODE構成したら、次を実行します。
kubectl describe svc [Kafka exporter service name] [-n namespace]
CODEサンプル出力:
Name: kafka-demo-metrics Namespace: kafka Annotations: appdynamics.com/exporter_type: kafka appdynamics.com/kafka_cluster_name: kafka-demo prometheus.io/path: /metrics prometheus.io/port: 9308
YMLKafka の JMX エクスポータ:
appdynamics.com/exporter_type: "kafkajmx" appdynamics.com/kafka_cluster_name: "<your-kafka-cluster-name-here>" prometheus.io/path: "/" prometheus.io/port: "5556"
CODE構成したら、次を実行します。
kubectl describe svc [JMX exporter service name] [-n namespace]
YMLサンプル出力:
Name: kafka-demo-jmx-metrics Namespace: kafka Annotations: appdynamics.com/exporter_type: kafkajmx appdynamics.com/kafka_cluster_name: kafka-demo prometheus.io/path: / prometheus.io/port: 5556
YML
JMX 構成ルールを更新して、生成されたメトリックが適切に取り込まれるようにします。これらのルールは、デフォルトのルールの代わりに適用する必要があります。
jmxUrl: <your-full-jmx-url-to-connect-to-here> lowercaseOutputName: true lowercaseOutputLabelNames: true whitelistObjectNames: ["kafka.controller:*","kafka.server:*","java.lang:*","kafka.network:*","kafka.log:*"] rules: - pattern: kafka.controller<type=(KafkaController), name=(.+)><>(Value) name: kafka_controller_$1_$2_$3 type: GAUGE - pattern: kafka.controller<type=(ControllerStats), name=(.+)><>(Count) name: kafka_controller_$1_$2_total type: COUNTER - pattern : kafka.network<type=(RequestMetrics), name=(RequestsPerSec), request=(.+), version=(.+)><>(Count) name: kafka_network_$1_$2_total type: COUNTER labels: request: $3 version: $4 - pattern : kafka.network<type=(RequestMetrics), name=(TotalTimeMs), request=(.+)><>(Count) name: kafka_network_$1_$2_$3_total type: COUNTER labels: request: $3 - pattern: kafka.server<type=(KafkaServer|ReplicaManager), name=(.+)><>(Value) name: kafka_server_$1_total_$2_$3 type: GAUGE - pattern: kafka.server<type=(.+), name=(.+), topic=(.+)><>(Count) name: kafka_server_$1_$2_total type: COUNTER labels: topic: $3 - pattern: kafka.server<type=(DelayedOperationPurgatory), name=(PurgatorySize), delayedOperation=(.+)><>(Value) name: kafka_server_$1_$2_$3_$4 type: GAUGE - pattern: kafka.server<type=(ReplicaManager), name=(.+)><>(Count) name: kafka_server_$1_broker_$2_total type: COUNTER - pattern: kafka.server<type=(BrokerTopicMetrics), name=(BytesOutPerSec|BytesInPerSec|MessagesInPerSec)><>(Count) name: kafka_server_$1_broker_$2_total type: COUNTER - pattern: kafka.server<type=(BrokerTopicMetrics), name=(FailedProduceRequestsPerSec|FailedFetchRequestsPerSec)><>(Count) name: kafka_server_$1_$2_total type: COUNTER - pattern: kafka.server<type=(SessionExpireListener), name=(.+)><>(Count) name: kafka_server_$2_total type: COUNTER - pattern: kafka.log<type=(LogFlushStats), name=(LogFlushRateAndTimeMs)><>(Count) name: kafka_log_$1_$2_total type: COUNTER - pattern: kafka.log<type=(Log), name=(Size), topic=(.+), partition=(.+)><>(.+) name: kafka_log_$1_$2 labels: topic: $3 partition: $4 type: GAUGE - pattern : java.lang<type=(.*)> type: GAUGE
CODE
次のステップ
Cisco Cloud Observability はデータを収集し、エンティティ中心のページ(ECP)を [Observe] ページに追加します。Cisco Cloud Observability UI で Kafka エンティティをモニターできるようになりました。「Kafka エンティティの監視」を参照してください。
This page has not yet been translated to Japanese.
Prometheus® と Kubernetes®(該当する場合)は、The Linux Foundation® の商標です。