[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の質問
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス6月9日、Yunzhiと...
今月初めて、raksmart はすべての VPS (米国 VPS、米国 CN2 VPS、香港 VPS...
Kubernetes (K8s) のデプロイメントでは、ポッド、サービス、イングレス、応答しないクラ...
ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスWeibo はネットユー...
2012 年は激動の年でした。Baidu のアルゴリズムは絶えず調整され、変更されてきました。含まれ...
中国の高級品オンラインショッピングの巨大な市場需要は、少しの混乱で簡単に変わることはないだろう。現在...
血なまぐさい、痛い教訓です。6月28日、Baiduはインターネット上の低品質コンテンツを持つウェブサ...
エッジ コンピューティングは、モノのインターネット (IoT) の変革をもたらすテクノロジーとなり、...
本日、モバイルアトリビューションおよびマーケティング分析会社AppsFlyerは、2015年以降の世...
百度は自社製品に愛着を持ちすぎていて、特別扱いをしているとよく思われるが、この発言には実は強い嫉妬の...
網易科技報、8月13日、海外メディアの報道によると、グーグルは今週末、著作権を侵害するウェブサイトの...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています多くのウェ...
SEO に携わる人なら誰でも、フレンドリー リンクの重要性をご存知でしょう。多くの企業や最適化チーム...
エッジ実装を推進する明らかな共通点がいくつかあります。コンテナーやその他のクラウドネイティブ テクノ...
[[419537]] 「クラウド ネイティブ」に興味はあるけれど、どこから始めればいいか分からないで...