Kubernetesの可観測性: 4つのオープンソースツールを活用する

Kubernetesの可観測性: 4つのオープンソースツールを活用する

2021 年の調査では、回答者の 96% が Kubernetes を使用しているか、近い将来に使用する予定であり、69% が現在本番環境で Kubernetes を使用しているという驚くべき結果が出ました。 Kubernetes は、大規模な組織から小規模な組織まで、多くのメリットをもたらします。開発者の生産性の向上、コストの削減、効率性の向上、そして最終的にはエンドユーザーのエクスペリエンスの向上につながります。

ただし、Kubernetes には多くの利点がある一方で、いくつかの課題もあります。包括的な監視スタックを実装することは、K8 上でワークロードを実行するチームにとって重要な初期ステップです。この記事では、ダウンタイムを短縮し、トラブルシューティングをより効果的に行い、クラスター内で発生しているすべての事象を完全に可視化するために使用できる 4 つのオープン ソース ツールとテクニックについて説明します。

オープンソースのツールとテクノロジー

Cloud Native Computing Foundation (CNCF) は、監視と観測のための数多くの素晴らしいテクノロジーとツールを育成し、卒業させてきました。これらのツールとテクニックのうち 4 つは特に有用であり、あらゆる規模の組織で活用できます。さあ、始めましょう。

指標とアラート

Prometheus は 2016 年 5 月 9 日に CNCF に承認されました。これは強力で 100% オープン ソースのツールおよび時系列データベースです。 Prometheus を使用すると、エンジニアリング チームはメトリックを収集し、大規模にアラートを構成できます。 Prometheus は、新興のスタートアップ企業だけでなく、Digital Ocean、Ericsson、Docker など世界最大規模の企業でも使用されています。 Prometheus を使用すると、チームは PromQL を使用してクエリを記述し、アドホック テーブル、グラフ、アラートを作成できます。 Alertmanager を使用すると、チームは事前に設定されカスタマイズ可能なアラートを使用して、発生した重要な問題を特定できます。アラート ルールを使用すると、ユーザーは Prometheus 式言語を使用してアラート条件を定義し、外部サービスに通知を送信できます。

Prometheus には視覚化ツールのセットが組み込まれていますが、Grafana や ContainIQ などの別の視覚化ツールと組み合わせて使用​​されることもよくあります。 Prometheus を視覚化ツールに接続するのは簡単です。 Grafana には、多数の事前構築されたダッシュボードが用意されています。 Prometheus には多くの統合と既存のエクスポーターがあるため、公式のエクスポーターと外部で管理されているオプションの両方を使用して、サードパーティのメトリックを Prometheus にブリッジすることは非常に簡単です。

Prometheus は CNCF の卒業プロジェクトです。 GitHub では、Prometheus には 42,000 を超えるスターがあり、700 人を超える貢献者からの貢献があります。

リンクトラッキング

Jaeger は 2017 年 9 月 13 日に CNCF に承認された、分散トレースのオープンソース プラットフォームです。 Jaeger を使用すると、エンジニアは分散トランザクションの監視またはトレースを介して監視およびトラブルシューティングを行うことができます。 Prometheus と同様に、Jaeger は大規模なチームから小規模なチームまで使用されており、大規模に使用できるように設計されています。 Uber のような企業は、Jaeger を使用して毎日数十億のスパンを処理しています。

Jaeger は、パフォーマンスとレイテンシの分析、および最適化に特に役立ちます。 Jaeger を使用すると、根本原因分析の実行とサービス依存関係の調査がはるかに簡単になります。たとえば、Jaeger を使用すると、エンドユーザー エクスペリエンスに影響を与えるものも含め、特定のマイクロサービスのレイテンシの急増を特定できます。 Prometheus と Jaeger は一緒に使用されることがよくあります。Prometheus はインフラストラクチャの問題を検出するためのツールセットを提供し、Jaeger は個々のリクエストをドリルダウンして問題のトラブルシューティングを支援します。

Jaeger には、Javascript で実装された Jaeger Web UI と呼ばれるネイティブ UI があります。 Jaeger と Kubernetes の使用を開始するのは簡単なプロセスです。 Jaeger Operator は Kubernetes クラスターにインストールでき、特定の名前空間またはクラスター全体に対して有効にすることができます。 Jaeger は CNCF の卒業プロジェクトです。 GitHub では、Jaeger には 15,000 を超えるスターがあり、200 人を超える貢献者からの貢献があります。

標準化されたメトリクス、ログ、トレース

OpenTelemetry は 2019 年 5 月 17 日に CNCF に承認され、テレメトリ データを計測、生成、収集、エクスポートするためのツール、API、SDK のセットです。 OpenTelemetry を使用すると、エンジニアはメトリック、ログ、トレースを収集できるため、インフラストラクチャとアプリケーションのパフォーマンスをより深く調査できます。

OpenTelemetry はオープンソースでベンダー中立であり、可観測性の分野で大手企業の多くやクラウド プロバイダー自身によってサポートされています。マイクロサービス アーキテクチャには多くの利点がありますが、大規模に導入されると、エンジニアリング チームがサービスのパフォーマンスや他のサービスへの影響を把握することが難しくなる可能性があります。メトリクス、ログ、トレースにより、チームは現状を包括的に把握できますが、このデータを収集するには複数のエージェント/コレクターを実行、操作、保守する必要があり、困難な場合があります。

OpenTelemetry は、オープンソース ツールであろうと有料ソリューションであろうと、観測性バックエンドにデータを送信するための形式を標準化することでこの問題を解決します。チームは標準形式を使用してバックエンドを簡単に切り替えることができるため、ベンダー ロックインのリスクが排除されます。

OpenTelemetry は CNCF 卒業プロジェクトであり、GitHub でホストされています。

マルチクラスタとメトリクスの長期保存

2019 年 7 月 20 日に CNCF に承認された Thanos は、エンジニアが高可用性の長期ストレージ オプションを使用して Prometheus セットアップを拡張できるようにするオープン ソース プロジェクトです。 Thanos は、Prometheus サーバーと同じホストまたは同じポッドで実行されるサイドカーを使用して、Prometheus と簡単に統合できます。 Prometheus と同様に、Thanos は Kubernetes に特に依存しているわけではありませんが、これは一般的な使用例です。サノスはいくつかの重要な点でプロメテウスを改善することを目指しています。まず、Thanos を使用すると、エンジニアは複数のサービスとクラスターにわたるクエリを許可することで、Prometheus セットアップを拡張できます。複数のクラスターにわたって Kubernetes ワークロードを実行している企業にとって、これは集中化されたビューを通じて時間を節約できる改善されたアプローチです。 2 番目に、Thanos を使用すると、チームは S3 などの多くの長期ストレージ オプションを活用できるようになりました。 Prometheus と同様に、Thanos は Grafana などの視覚化ツールで使用でき、Prometheus クエリ API をネイティブにサポートします。 Thanos は CNCF インキュベーション プロジェクトです。 GitHub では、Thanos には 10,000 を超えるスターがあり、400 人を超える貢献者からの貢献があります。

その他の考慮事項

考慮すべき追加のベストプラクティスをいくつか示します。

  • ゆっくりと拡張する: これらのツールには多くの利点がありますが、チームは実装を慎重に行う必要があります。場合によっては、インフラストラクチャ全体で使用する前に、これらのツールをそれぞれ限定されたセット、単一のクラスター、またはステージング環境でテストすることが合理的です。
  • ホスト型サービスの使用を検討してください。現在、多くのクラウド プロバイダーがホスト型ソリューションを提供しています。たとえば、Amazon と Google Cloud はどちらも Prometheus 製品を管理しています。
  • チームワークを奨励する: チーム全体がツールの使い方を学ぶことができます。学習を受け入れ、エンジニアリング チームにオープン ソース ツールの世界に慣れるために必要な時間とリソースを提供します。
  • アラート疲労に注意: 組織の規模が拡大するにつれて、アラート疲労は大きな課題となります。実用的なアラートを設定するように努め、アラートを定期的に再調整して、時間を無駄にするのではなく価値を生み出すようにしてください。

要約する

この記事では、Kubernetes 上でワークロードを実行するエンジニアの監視を強化および改善できる 4 つのツールセットを紹介しました。

Prometheus は多くの組織が選択する時系列データベースであり、Thanos と併用すると長期的なソリューションとなります。

Jaeger は、インフラストラクチャで検出された問題を修正するために必要な追加のコンテキストを提供します。 OpenTelemetry は、メトリック、ログ、トレースの形式と収集を標準化し、チームに安心感を与え、前進し続けることを可能にします。

これらのツールを組み合わせることで、効果的なトラブルシューティングとエンドユーザーの優れたエクスペリエンスの確保に必要なメトリック、ログ、トレースが提供されます。

<<:  Kubernetes クラスターでの Etcd データのバックアップと復元

>>:  Ctrip の大量コールドデータ シナリオにおける JuiceFS の実践

推薦する

クラウドコンピューティング導入コストの棚卸し

クラウドコンピューティング技術の出現により、情報データ処理のコストが削減されます。しかし、現段階での...

製造業におけるエッジコンピューティングの役割は何ですか?

[[355016]]コンピュータの誕生以来、私たちはスタンドアロンコンピュータ、PC&LAN...

2021 年の技術予測: クラウド、IoT、ニューノーマル技術

クラウドの支配は続く2020 年のコロナウイルスのパンデミック以前から、クラウドは業界全体にわたって...

Google はコンテンツの独創性の問題に対処していますか?

Google は最近大きな変更を行いましたが、その中でも特に議論する価値のある変更が 1 つあります...

ウェブサイト再設計事例: Xunlei Daquan 再設計の概要

Xunlei Encyclopedia は、ユーザーにワンストップのインターネット デジタル コンテ...

ウェブサイトの外部リンク公開とターゲットプロモーション

多くの初心者ウェブマスターが外部リンク獲得に苦労していると思います。A5 Webmaster Net...

cmivps: 香港 VPS、100M 帯域幅、中国本土向けに最適化された帯域幅、月額 8 米ドル

cmivps は、香港データセンター、KVM 仮想化、純粋な SSD、100Mbps 帯域幅、中国本...

Netflixが人気になった理由

要約ビュー「ハウス・オブ・カード」の瞬く間に成功したことでNetflixは大人気となったが、想像もで...

モバイル E コマースの売上を向上させるインタラクション デザイン モデル

翻訳者注:2012年、大手電子商取引企業やブランドオーナーからのモバイル端末の注文量は急速な成長傾向...

V5Net: シグネチャー香港サーバー(物理マシン)、CN2 ネットワーク、20% 割引、15M 帯域幅、最低 448 元から

V5Net 香港データセンターの代表的な香港サーバーは現在 20% 割引で販売されています。独立した...

ソーシャル ネットワーキング SEO 最適化シリーズ: Facebook

ソーシャル ネットワーク SEO - Facebook SEO 最適化のために Facebook や...

ユニバーサル SEO 時代の SEO 乱戦から抜け出す方法

ある SEO 担当者は、少し心配そうに次のように投稿しました。「どこにでも同じコンテンツがあり、革新...

2大オンライン広告連合:Google AdSenseとBaidu Alliance

広告はインターネットのいたるところに存在します。ネットユーザーがオンラインにアクセスする限り、常にさ...

virpus-512M メモリ (xen)/2IP/無料の直接管理パネル/年間 25 USD/すべての XEN VPS が 40% オフ

virpusも老舗のVPS業者です。今回はXENの仮想VPSが全品50%オフ【割引コード: 0713...

Google App EngineはPHP環境をサポート

Google の公式ブログによると、Google App Engine は 4 番目の言語である P...