オープンソースのKubernetes監視ツールトップ10

オープンソースのKubernetes監視ツールトップ10

[51CTO.com クイック翻訳] 現在、Kubernetes は GitHub 上で 5 億 8,000 万件以上の「いいね!」を獲得しており、世界中に 2,200 人を超える登録貢献者がいます。コンテナオーケストレーションのデファクトスタンダードとなっていると言えます。しかし、分散マイクロサービス アプリケーションを解決して実行するプロセスでは、深刻な課題に直面することがよくあります。その中でも、開発者や運用保守担当者から多く挙げられる課題の一つがKubernetesの監視問題です。複雑な分散環境に直面すると、実際のアプリケーションのニーズを満たすために、さまざまなオープンソース監視ソリューションを開発する必要が生じることがよくあります。

現在、Kubernetes エコシステムとそのコミュニティには、さまざまな Kubernetes ツールが存在します。ログを通じてステータスを検出するのに役立つものもあります。データ収集者もいます。その他には、Kubernetes を操作するためのインターフェースを提供するものもあります。 Kubernetes ネイティブのものもあれば、開発者自身によって開発されたものもあります。この記事では、人気のオープンソース Kubernetes 監視ツールのトップ 10 を、それぞれの長所と短所を比較しながら紹介します。

プロメテウス

利点: Kubernetes ネイティブで使いやすく、大規模なコミュニティがあります。

デメリット: スケーラビリティとストレージ容量が低い。

Grafana は、多数のデータ ソースと統合できるため、業界で人気があります。同時に、強力な Grafana には、アラート、注釈、フィルタリング、特定のデータ ソース クエリ、ビジュアル ダッシュボード、認証と承認、組織間のコラボレーションなど、複数の機能があります。

利点: 大規模なエコシステム、豊富な視覚化およびアラート機能。

デメリット: Kubernetes ログ管理に最適化されていません。

ELK (Elastic Stack に類似)

Kubernetes のログ記録に関しては、最も人気のあるオープンソース ソリューションは ELK スタックです。 ELK は Elasticsearch、Logstash、Kibana の頭字語ですが、実際には 4 番目のコンポーネントである Beats が含まれています。これらはすべて軽量のデータ送信機です。スタック内の各コンポーネントは、ログ パイプラインの異なるステージを担当しますが、それらが組み合わさることで、Kubernetes 向けの包括的かつ強力なログ ソリューションが提供されます。

その中で、Logstash パイプラインは、ログを送信して保存する前にデータを集約して処理することができます。 Elasticsearch はスケーラブルで、何百万ものドキュメントを保存および検索する場合でも優れたパフォーマンスを発揮します。対応する Kibana プラットフォームは、ユーザーにデータの分析に必要なビジュアル インターフェースを提供できます。

スタックのさまざまなコンポーネントはすべて、Kubernetes 環境に簡単にデプロイできます。さまざまなデプロイメント構成と Helm チャートを使用して、さまざまなコンポーネントをポッドとして実行できます。デプロイメントを通じて、Metricbeat と Filebeat をデーモンのコレクターとして使用し、対応するドキュメントに Kubernetes メタデータを添付することができます。

利点: 大規模なコミュニティがあり、Kubernetes での導入と使用が簡単で、分析機能が豊富です。

デメリット: 拡張が困難です。

Fluentd/Fluent ビット

Fluentd は Logstash をベースにパフォーマンスの改善を行っているため、Kubernetes ユーザーの間でも人気があります。ツール設計の面では、Fluentd は優れたパフォーマンス、スケーラビリティ、信頼性を備えています。シンプルで便利なさまざまな入出力は、パフォーマンスに影響を与えません。転送障害やデータ過負荷の問題に対処するために、Fluentd はバッファリングとキューイングにディスクまたはメモリを使用します。同時に、Fluentd は、より柔軟なデータ パイプラインを確保するために複数の構成オプションをサポートしています。

Kubernetes ネイティブの Fluentd と Fluent Bit はどちらも CNCF プロジェクトです。 Kubernetes とシームレスに統合されるだけでなく、少量のリソースしか使用せずに、関連するポッドとコンテナのメタデータでデータを拡充することもできます。

利点: 大規模なプラグイン エコシステムを備えており、優れたパフォーマンスと信頼性を提供します。

デメリット: 構成が複雑になります。

cAdvisor(https://github.com/google/cadvisor)

オープンソース エージェント ツールである cAdvisor は、データを収集、処理、エクスポートすることで、実行中のコンテナーのパフォーマンスとリソースの使用状況を表示できます。 Kubelet バイナリ ファイルの形式で Kubernetes に組み込み、統合できます。

他のプロキシ ツールとは異なり、cAdvisor は各ポッドではなくノード レベルでデプロイされます。コンピューター上で実行中のすべてのコンテナーを自動的に検出し、メモリ、CPU などのシステム ネットワーク インジケーターを収集できます。

基本的なローカル オープン ソース監視ツールである cAdvisor は使いやすく、ユーザーはすぐに Prometheus パラメータ インジケーターを検出できます。ただし、包括的な監視ソリューションとなるには、cAdvisor にはまだ継続的な改善の余地があります。

利点: Kubernetes に組み込まれており、導入と使用が簡単で、複数のエンドポイントをサポートできます。

短所: あまりにも基本的であり、分析の深さが欠けており、機能が制限されています。

kubewatch(https://github.com/bitnami-labs/kubewatch)

名前が示すように、kubewatch は特定の Kubernetes イベントを監視し、これらのイベントの通知を Slack や PagerDuty などのエンドポイントにプッシュします。具体的には、kubewatch は、デーモン セット、デプロイメント、ポッド、レプリカ セット、レプリケーション コントローラー、サービス、パスワード、さまざまな構成マップなど、Kubernetes で指定されたリソースの変更を監視できます。 Kubewatch は設定が簡単なだけでなく、helm を使用してカスタマイズすることもできます。

利点: 複数のエンドポイントをサポートし、簡単に展開できます。

デメリット: 単なるモニター。

kube-ops-view(https://github.com/hjacobs/kube-ops-view)

ただし、kube-ops-view プロジェクトの公式ドキュメントでは、これは監視ツールではなく、本番環境を監視したり警告したりすることはできないと明確に指摘されています。ただし、Kubernetes クラスターの実行ステータス、さまざまなデプロイメント ノード、およびノー​​ド上のさまざまなポッドに関する情報は提供できます。

出典: GitHub

利点: 導入と使用が簡単です。

デメリット: 読み取り専用ツールであるため、Kubernetes リソースの管理にはあまり適していません。

kube 状態メトリクス

Kubernetes のネイティブ監視インジケーター サービスである kube-state-metrics は、さまざまな Kubernetes API をリッスンし、ポッド、サービス、デプロイメント、ノードなどのオブジェクトのステータス インジケーターを生成できます。 kube-state-metrics が生成できるメトリックの完全なリストについては、次のリンクを参照してください: https://github.com/kubernetes/kube-state-metrics/tree/master/docs

kube-state-metrics は非常にシンプルで使いやすいですが、単一のインジケーター サービスしか提供できないため、完全な Kubernetes 監視ソリューションに統合するにはさらに改善が必要です。 kube-state-metrics は、HTTP エンドポイント上のメトリックをプレーン テキスト形式でエクスポートできます。 Prometheus を使用する人は、頻繁に使用することになります。

利点: Kubernetes ネイティブで使いやすく、Prometheus とシームレスに統合されています。

デメリット: 単一のインジケーター生成サービスのみを提供します。

イェーガー(https://github.com/jaegertracing/jaeger)

分散トレースは、Kubernetes 環境の監視とトラブルシューティングのベスト プラクティスになりつつあります。 Jaeger は、このようなオープンソースのトレース ツールのリーダーです。

2016 年、Uber は他の既存のトレース ツールである Zipkin と Dapper にヒントを得て、オープン ソースの Jaeger を開発しました。ユーザーが根本原因分析、パフォーマンスの最適化、分散トランザクションの監視を実行するのに役立ちます。

Jaeger には、Go、Java、Node、Python、C++ アプリケーション向けの OpenTracing ベースの機能セットがあります。各サービスまたはエンドポイントに基づいて、一貫したフロントエンド情報のサンプリング頻度を使用できます。同時に、Cassandra、Elasticsearch、Kafka、メモリなどの複数のストレージ バックエンド モードもサポートします。

Jaeger には、開始するための複数のモードがあります。ユーザーは新しい Jaeger Operator (https://www.jaegertracing.io/docs/1.13/operator/) を使用したり、デーモンを使用して構成したりすることができ、テストやデモンストレーションの目的に適したオールインワンのデプロイメント方法も備えています。

利点: 導入が簡単で、ユーザー インターフェイスを通じてさまざまな監視オプションを探索できます。

短所: バックエンドの統合が制限されています。

ウィーブスコープ

Weaveworks が開発した監視ツールである Weave Scope を使用すると、Kubernetes クラスターの運用に関する洞察が得られます。

kube-ops-view と多少似ていますが、Weave Scope は主にユーザー インターフェイスの改善を通じてサービス レベルを向上させます。また、ユーザーはインターフェース上でさまざまな診断コマンドを実行して、さまざまなコンテナを管理できます。

画像ソース: GitHub

このアプリケーション ツールを使用すると、デプロイメント環境を効果的に制御し、その上に独自のインフラストラクチャをデプロイし、さまざまなコンポーネントを接続できます。

利点: 「ゼロ構成」ユーザー インターフェイスを提供します。

欠点: 分析の深さが浅い。

要約する

上に挙げた上位 10 個の Kubernetes オープンソース ツールは、業界にあるすべてのツールのほんの一部にすぎません。これらは、Kubernetes スタックを設計する際のさまざまなレベルの可観測性をユーザーに提供します。小さなサンドボックス環境を設定し、試行テストとデプロイメントを実施して小規模なテストから開始し、実際に必要なツールを決定できます。

原題: Kubernetes 向けオープンソース監視ツール トップ 10、著者: Daniel Berman

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。

<<:  JVM パフォーマンス チューニングおよび監視ツールの使用に関する詳細な説明

>>:  エッジコンピューティング戦略を採用する企業に尋ねるべき10の質問

推薦する

#raksmart 抽選# 会員登録すると、「1年間の無料独立サーバー」、杜甫割引、VPS 30% オフ、N 赤封筒 30 元/個などの特典が付きます

米国の老舗コンピュータールームRaksmartが、11.11に先駆けて抽選会を開催します。Raksm...

クラウド コンピューティングに関する企業の意思決定者のための 10 の重要なポイント

この記事では、クラウド コンピューティングを使用する際に注意すべき 10 の重要なポイントをリストし...

製品を「ゲーム化」した方法で操作するにはどうすればよいでしょうか?

ゲームをプレイすることに関しては、誰もが慣れているはずです。人々はゲームについて誤解していることが多...

ガートナーは、クラウド、データセンター、エッジインフラストラクチャの将来を形作る4つのトレンドを特定しました。

経済の不確実性に満ちたこの一年、インフラストラクチャおよび運用 (I&O) チームは新しいテ...

ハッカーの儲かるビジネス:信仰なし、あるのは狂気だけ!

2011年12月21日朝、ハッカーが中国最大の開発者コミュニティであるCSDNのユーザーデータベース...

TudouやYoukuなどの動画サイトから高品質な外部リンクを取得する方法

高品質な外部リンクは、ウェブマスターが常に遭遇することはあっても、探すことはできないものでした。ここ...

1000リンクの価値があるリンクを公開する方法を教えます

優れた外部リンクは、Web サイトの掲載性を向上させるだけでなく、トラフィックをもたらすこともできま...

百度インデックスは単なる広告モデル

Baidu Index に関しては、どのウェブマスターにとってももはや馴染みのない話ではないと思いま...

2013 年に医療ウェブサイトのランキングを最適化する方法

医療分野で働いている友人は、自分のウェブサイトのランキングについて非常に心配しているに違いないと思い...

イーサネットサーバー - $1.67/1.5g メモリ/400g ハードディスク/6T トラフィック/ロサンゼルス/バッファロー

2013 年に設立された ethernetservers は私のブログに何度か登場していますので、ぜ...

【AWSコミュニティディスカッション活動まとめ2】IoTクラウドプラットフォームについて語ろう

[51CTO.com からのオリジナル記事] スマートホーム、コネクテッドカー、スマートヘルスケア....

VPS を管理するには?

VPS を管理するには、いくつかの一般的な方法があります。自己管理: SSH (Secure She...

ウェブサイトのポジショニングは非常に重要です。ウェブサイトを構築する前に、自分の開発に適した方向性を見つける必要があります。

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますウェブサイ...

子供の日が近づいてきました。ビッグデータで子供たちを見てみましょう。72%の子供が携帯電話を使用しています

はじめに: 2014 年第 1 四半期までに、72% の子供が携帯電話を使用していました。携帯電話を...