web-dev-qa-db-ja.com

Apacheの監視UI kafka-kafka manager vs kafka monitor

私はカフカは初めてです。 kafkaトピックを監視および管理します。次のようなさまざまなオープンソース監視ツールを試しました

  1. kafka-monitor
  2. kafka-manager

どちらのツールも優れています。しかし、展開スタックに含めるべき決定を下すことはできません。どちらが優れているのか、なぜ、そしてどのシナリオで?

yahooの「kafka manager」は古いものに見え、LinkedInの「kafka monitor」は新しいものになります

カフカモニター- enter image description here

21

レンズ
Lenses (Landoopから)は、ユーザーインターフェイス、ストリーミングSQLエンジン、およびクラスター監視によりKafkaを強化します。 Kafkaデータパイプラインの高速監視が可能になります。

これらは、最大25Mのメッセージに対して単一のブローカーを提供できる、無料のオールインワンドッカー( Lenss Box )を提供します。これは開発環境に推奨されることに注意してください。

コンフルエント
別のオプションは Confluent Enterprise です。これは、実稼働環境用のKafkaディストリビューションです。また、 Control Centre も含まれます。これは、ApacheKafkaの管理システムであり、ユーザーインターフェイスからクラスターの監視と管理を可能にします。

YahooKafkaManager
Kafka Manager は、前述のツールに比べて機能が少ないKafkaを監視するためのツールです。

KafDrop
KafDrop は、ApacheKafkaクラスターを監視するためのUIです。このツールは、ブローカー、トピック、パーティションなどの情報を表示し、メッセージを表示することもできます。これは、Spring Bootで実行される軽量のアプリケーションであり、構成はほとんど必要ありません。

LinkedIn Burrow
Burrow は、ApacheKafkaのモニタリングコンパニオンであり、しきい値を指定する必要なく、サービスとしてコンシューマラグチェックを提供します。すべてのコンシューマのコミット済みオフセットを監視し、それらのコンシューマのステータスをオンデマンドで計算します。 HTTPエンドポイントは、オンデマンドでステータスを要求するために提供され、他のKafkaクラスター情報を提供します。また、電子メールまたはHTTPコールを介して別のサービスにステータスを送信できる設定可能な通知機能もあります。

Kafkaツール
Kafka Tool は、ApacheKafkaクラスターを管理および使用するためのGUIアプリケーションです。 Kafkaクラスター内のオブジェクトとクラスターのトピックに保存されているメッセージをすばやく表示できる直感的なUIを提供します。開発者と管理者の両方を対象とした機能が含まれています。

ライセンスを購入できない場合は、YahooKafkaManager、LinkedIn Burrow、またはKafDropを選択してください。 ConfluentとLandoopの製品は最高の製品ですが、残念ながらライセンスが必要です。

詳細については、ブログ投稿 を参照してください。ApacheのUI監視ツールの概要KafkaClusters

67

ライセンスとKafkaクラスターサポートの料金を支払う場合は、 Confluent Control Center を使用できます。

または、DatadogやPrometheus/Influxdb(Grafanaダッシュボード付き)のJMXエクスポーターを使用して、システム全体のヘルスチェック(CPU、ネットワーク、メモリなど)を確認することもできます。 KafkaツールでKafkaプロセスを監視することにより

5
cricket_007

職場では、ブローカー情報の表示、トピックの閲覧、消費者のラグに Kafdrop を使用します。 Kafdrop 3の主な理由は、Kafkaを実稼働でロックダウンし、すべてのプロデューサーとコンシューマーがKubernetesクラスターにあるためです。開発マシンではKafkaにアクセスできません(ポートは外部に公開されていません)。そのため、K8sクラスター内でKafdropを実行し、kubectl proxyでプロキシします。

コンシューマーラグ機能は、 Burrow が提供するものほど洗練されていませんが、おそらく単一のツールにあることを考えると、おそらく十分です。

開発(ローカルでKafkaを実行)の場合、Kafka Tool を使用してにすることができますが、厳密に言えば非営利目的でのみ使用します。また、ロックされているプロダクションKafkaに接続している場合はあまり役に立ちません。

3
Kacey Bui

私の会社では、Yahoo製品を使用し、LinkedIn製品を調査しました。私の会社は、最終的にPrometheus + Grafanaの使用を選択しました。誰もがそれを愛し、私はそれを強くお勧めします。

Prometheus + Grafanaには2つの大きな利点があります。 1つ目は、フル機能のKafkaメトリックの取り込み+視覚化+アラートを行いますが、Kafkaに限定されません。最初のニーズはKafkaを監視することだけでしたが、HTTPサーバー+トラフィック、サーバー使用率(cpu/ram/disk)、およびカスタムアプリケーションレベルのメトリックに関するメトリックも必要でした。プロメテウスは上記のすべてを処理します。第二に、Prometheus + Grafanaは非常に高品質で、適切に設計されており、使いやすいです。この分野のその他の製品の多くは古くて扱いにくいものです。 Prometheus + Grafanaはどちらも使用するのに優れており、非常にカスタマイズ可能で、洗練されており、使いやすいです。 Grafanaには、非常に派手で機能的なJavaScriptインターフェースがあり、必要なカスタマイズされたダッシュボードを正確に作成できます。 Prometheusには、非常に洗練されたメトリックコレクションエンジン、ストレージエンジン、クエリ言語、アラートシステムがあります。 Yahoo Kafka Managerのようなものは、これらのすべてのカテゴリで機能がはるかに制限されています。

プロメテウスを試してみたい場合は、次の2つのことを行う必要があります。

1)KafkaブローカーにJMX-> Prometheusエクスポーターをインストールして構成します。 https://github.com/prometheus/jmx_exporter

2)Prometheusサーバーをセットアップしてメトリクスを収集し、Grafanaダッシュボードをセットアップして必要なグラフを表示します。

また、これは監視+ダッシュボード+アラートのためだけのものだと思います。管理機能には、他のツールが必要です。

3
clay

Kafkaエコシステムは、多くの点で優れていますが、明らかにツールの欠如に苦しんでいます。監視はそのようなギャップの1つですが、かなり広範なトピックでもあります。

Kafka ManagerおよびMonitorは、ブローカーの健全性といくつかのメトリック(スループット、レイテンシーなど)についての洞察を提供しますが、消費者の健全性とトピックコンテンツ(アプリケーションのデバッグや事後分析に不可欠)も監視することもできます。またはモニターがそれを行います。武器庫にいくつかのツールを追加することをお勧めします。

  • Burrow -消費者グループの遅れを監視し、消費者が遅れるとアラートを発します。
  • Kafdrop -ブローカー情報を提供し、トピックの内容(テキストとAvroの両方の形式)を閲覧できます。これは、元のKafdropプロジェクトのモダンなフォークです。
  • プロメテウスとグラファナ-マネージャー/モニターと一部重複していますが、プロメテウス/グラファナはより洗練されており、コミュニティのサポートが充実しており、他のツールとの統合、アラートの自動生成などが簡単です。

大規模なマイクロサービス展開のメインメッセージング/イベントバックボーンとしてしばらくKafkaを実行しているため、適切な監視ツールと事後分析ツールの重要性を十分に強調することはできません。

3
Emil Koutanov