web-dev-qa-db-ja.com

Kafka Productionの監視ツール

監視するツールを確認する必要がありますKafka=生産中。また、ツールにはライセンスや重いハードウェアは必要ありません。

5
sanjeev pandey

ランドープ
Landoop エンハンスKafkaユーザーインターフェイス、ストリーミングSQLエンジン、クラスターモニタリング。Kafkaデータパイプライン。

彼らは無料のオールインワンDocker( LENSES Box )を提供し、最大2,500万メッセージまで単一のブローカーにサービスを提供できます。これは開発環境に推奨されることに注意してください。

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

Yahoo Kafka Manager
Kafka's Manager は、監視用のツールですKafka前述のツールに比べて機能が少ないです。

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

LinkedIn Burrow
Burrow は、Apache Kafkaの監視コンパニオンです。これは、しきい値を指定することなく、サービスとして消費者の遅延チェックを提供します。 HTTPエンドポイントは、オンデマンドでステータスをリクエストするために提供され、他のKafka=クラスター情報。ステータスを送信できる設定可能な通知機能もあります。別のサービスへの電子メールまたはHTTP呼び出しを介して。

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

実稼働環境に適した無料の製品が見つからないのではないかと心配していますが、余裕がない場合は、Yahoo Kafka Manager、LinkedIn Burrow、KafDropのいずれかを選択してください。ConfluentおよびLandoopの製品が最適です残念ながら、ライセンスが必要です。

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

20

無料の監視ソリューションはいくつかありますが、すべてに制限があります。たとえば、Burrow、Kafka Manager、Kafdrop、and you can brew your own JMXメトリックとInfluxDBやGrafanaのようなもので。

Confluent Control Center は要件に完全に適合していますが、ライセンスが必要です。 日間の無料トライアルが利用可能 があります。大量のメトリックを監視するだけでなく、個々のトピックと流れるメッセージを実際に監視し、それぞれをチェックサムして、消費を正確に報告することもできます。

4
Robin Moffatt

kafka:: https://github.com/tchiotludo/kafkahq のオープンソースGUIをリリースしたばかりです。

プレビュー

他のUIもここで見つけることができます: https://github.com/monksy/awesome-kafka/blob/master/tools.md#dashboards

2
tchiot.ludo

Kafkaは、JMX経由で非常に多くの情報を生成しています。任意のJMXクライアントを使用して取得できます。アプリの内部でも、Kafka= JMX情報をJMX MBeanに転送して、JMX Facadeを構築できます。

いくつかの具体的な提案:

  • Grafana + Prometheus は、Kafkaで最適に動作します。いくつかのダッシュボードをすぐに使用できるようにインターネットからダウンロードすることもできます(無料)。
  • 私も hawtio を使用してJMX情報を表示し、同様にジョブを実行しています(無料)。
  • Confluent はモニタリングも提供します。
  • また、 Dynatrace には特別なサポートがあります。

監視の範囲と自動化のレベルに依存します。 Kafka Managerは、クラスターの状態、スループット、待ち時間など、およびいくつかの基本的な管理操作についての洞察/観測可能性を開始するのに適した場所ですが、すぐにさらに多くの情報にアクセスできます。たとえば、消費者の健康状態を監視する必要がありますか?アプリケーションのデバッグ、事後分析、メッセージフローのトレースなどを行うためにトピックのコンテンツを表示する必要がありますか? 'トピックなど?ツールボックスにさらにアイテムを追加することをお勧めします。

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

上記はすべてオープンソースであり、ライセンスは不要です。 Confluent、Landoop、またはKaDeckのツールは、商用でライセンスが必要なため、リストに含めませんでした。 OSSの代替案であるIMHOについては、あまり説明していません。

2014年以降、大規模なマイクロサービスの展開のメインメッセージング/イベントバックボーンとしてしばらくの間、Kafkaを実行しましたが、基本的なブローカーレベルのチェックだけでなく、プロデューサーからコンシューマーまでのエンドツーエンドのメッセージパス全体皮肉なことに、ブローカーがプレイしていると感じるときはほとんどの場合、実際には不適切に作成されたアプリケーションであることがわかりました。ツールの組み合わせ。メッセージ作成者および消費者として振る舞うふりをして独自の基本的な「カナリア」アプリケーションを作成し、問題が生じた場合に先行指標を提供します。

Kafkaは、$KAFKA_HOME/bin(トピックを読むため)などのkafka-console-consumer.shにある基本的なCLIツールと、管理タスク用のkafka-topics.shおよびkafka-configs.shなどの他のツールを同梱しています。 。トピックを閲覧するための別のツール— Kafkacat —もあります。しかし、私の経験では、これらは最後の手段として使用されます。たとえば、クラスターへの接続を失い、ブローカーノードの1つにシェルする必要がある場合、これらは非常に便利です。しかし、彼らはそれ自体は監視ツールではありません。

0
Emil Koutanov