K8SのKafkaモニタリング(Prometheus + Grafana)

K8SにデプロイされたKafkaの場合、Prometheus + Grafanaが一般的に使用される監視ソリューションです。本日はPrometheus + Grafanaを使用してK8S環境でKafkaを監視するための実際の戦闘に参加します

準備

今日の焦点はKafkaモニタリングにあります。K8S、Helm、Kafka、Prometheus、Grafana、およびその他のサービスはすべて準備が整っています。以下は、関連するデプロイを行うときに参照として使用できるいくつかのリンクを提供します。

  1. K8Sのビルド:「kubespray2.11 install kubernetes1.15」
  2. Helmのビルド: Helmのデプロイと体験(バージョン2.16.1)」
  3. プロメテウスとグラファナの構築:プロメテウスとグラファナのKubernetes1.15迅速なデプロイ」
  4. Kafkaの導入:「K8S環境でのKafkaの迅速な導入(K8S外からアクセス可能)」

バージョン情報

  1. 知事:1.15
  2. Kubernetesホスト:CentOS Linuxリリース7.7.1908
  3. NFSサービス:IPアドレス192.168.50.135、フォルダー/ volume1 / nfs-storageclass-test
  4. ヘルム:2.16.1
  5. カフカ:2.0.1
  6. 飼育係:3.5.5
  7. プロメテウス:2.0.0
  8. グラファナ:5.0.0

準備ができたら、実際の戦闘を開始できます。

kafka-exporterパラメーターを確認する

デプロイするkafka-exporterはkafkaからデータを取得する必要があるため、kafka-exporterパラメーターを準備する必要があります。

  1. 以下の赤いボックスに示すように、TYPEがClusterIPであるKafkaサービスを確認します。
    ここに画像の説明を挿入
  2. 赤いボックスの上にサービス名があるカフカ、ポートは9092ので、後で設定情報カフカカフカ・輸出国で、であるカフカ:9092

実際の運用

  1. Helmウェアハウスを追加します(ウェアハウスには必要なkafka -exporterがあります):helm repo add gkarthiks https://gkarthiks.github.io/helm-charts
  2. ダウンロードkafka -exporter:helm fetch gkarthiks / prometheus-kafka-exporter
  3. ダウンロードしたチャートファイルを解凍します。tar -zxvf prometheus-kafka-exporter-0.1.0.tgz
  4. 解凍したディレクトリに入ります:cd prometheus-kafka-exporter
  5. 以下の赤いボックスに示すように、values.yamlファイルを変更します。kafka :9092は、同じ名前空間でkafkaにアクセスするためのアドレスです。
    ここに画像の説明を挿入
  6. values.yamlファイルが配置されているディレクトリで実行します:helm install --name-template kafka-exporter -f values.yaml。--Namespace kafka-testkafkaの名前空間はkafka-testであり、ここでの名前空間はkafkaと一致している必要があります)
  7. サービスとポッドの準備ができているかどうかを確認します。
    ここに画像の説明を挿入
  8. この時点で、kafka-exporterデプロイし、プロメテウスにモニタリングデータを提供できますが、プロメテウスはデータを収集するためにここに来ることを知らないので、次にプロメテウスを構成する必要があります。
  9. kafka-exporterサービスのアクセスアドレスを確認します。Prometheusが使用するデータを収集します。名前とポートは下図の赤いボックスに表示されているため、名前空間全体でアクセスアドレスを接続できます:kafka-exporter-prometheus-kafka-exporter.kafka-test svc.cluster.local:9308
    ここに画像の説明を挿入
  10. 「kubernetes1.15 prometheusとgrafanaの迅速なデプロイメント」によってデプロイされたプロメテウスを参照している場合は、デプロイメント中にダウンロードされたconfigmap.yamlファイルを開きます。これには、プロメテウスの構成が含まれています。他の方法でデプロイされている場合は、デプロイメントに応じてプロメテウスを見つけてください。 .ymlの場所。
  11. configmap.yamlは、下の赤いボックスにコンテンツを追加して、prometheusがkafka-exporterデータを収集できるようにします。
    ここに画像の説明を挿入
  12. 構成を有効にします。kubectlapply -f configmap.yaml
  13. この時点では、prometheusコンテナは引き続き古い構成を使用しています。構成を有効にするには、prometheusのポッドを削除して、K8Sによって自動的に作成された新しいポッドが新しい構成を使用してprometheusのポッドを見つけるようにする必要があります。kubectlget pods -n kube -システム
    ここに画像の説明を挿入
  14. 古いポッドを削除します。kubectldelete pod prometheus-68545d4fd8-f5q2w -n kube-system
  15. 新しいポッドが自動的に作成されるのを待ちます。
  16. 次に、Grafanaにログインし、以下に示すように監視ページを構成し、テンプレートのインポート操作を実行します。
    ここに画像の説明を挿入
  17. インポートテンプレートのページに番号7589を入力します。
    ここに画像の説明を挿入
  18. データソースを選択するときは、次に示すように、プロメテウスを選択する必要があります。
    ここに画像の説明を挿入
  19. この時点で、kafkaがメッセージを送受信した場合は、すぐにデータを確認できます。
    ここに画像の説明を挿入
    この時点で、K8S環境でのkafkaモニタリングがデプロイされています。この記事で参考にしていただければ幸いです。

私の公開番号に注目してください:プログラマーXinchen

ここに画像の説明を挿入

376の元の記事を公開 986を賞賛 128万ビュー

おすすめ

転載: blog.csdn.net/boling_cavalry/article/details/105466788