[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の質問
調査会社MarketsandMarketsによると、モノのインターネットとクラウドコンピューティング...
ipxcore はメモリの少ない VPS を推進しています。 ハイライトは、3 つの IPV4 を提...
モバイル ウェブサイトがますます悲惨なものになってきていると感じますか? 現在、モバイル ウェブ ペ...
evlgaming の今回のプロモーションの目玉は、エンタープライズ レベルの VPS で、こちらも...
12月24日、Tencent Cloudはインドリージョン2のサービスを正式に一般公開したと発表した...
Dogyun (Dog Cloud) は、人間の介入なしに完全に自動的に展開される香港の独立サーバー...
企業が成長するにつれて、ビジネスとアプリケーションは増加し続け、IT システムの規模はますます大きく...
インターネットプロモーション、SEO、ソフト記事執筆などは、ネットユーザーの日常生活で欠かせない言葉...
夏の終わりに、Hawkhost はサイト全体のプロモーションを開始する口実を見つけました。仮想ホステ...
広大なインターネットでは、ネットユーザーはウェブページのタイトルを通じて目的のウェブページを閲覧して...
3 色の図は、安価、安定性、高速性は共存できないことを示しています。高い要件がない場合は、安価で使い...
Hostsolutions のルーマニアの苦情耐性 VPS は、大容量ハードディスク VPS (スト...
少し前に、Baidu Webmaster Platform が外部リンク検索機能を開始しました!現在...
LaiWang は以前から Taobao と Tmall で強力に宣伝されており、現在は Taoba...
Hostkvm は、毎年恒例のブラックフライデー プロモーションを率先して開始しました。(1) 香港...