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 の実践

推薦する

オートホーム、ウェブサイト価格値上げのポップアップリマインダーに反撃

オートホーム、ウェブサイト価格値上げのポップアップリマインダーに反撃新浪科技は12月21日正午、UR...

広告、ゲーム、アニメ、電子商取引、誰がビリビリを救えるのか?

北京時間3月3日、香港株式市場が閉まった後、ビリビリの今年度第4四半期の財務報告書が予定通り届いた。...

氷点から沸点へ:豆板と知乎の「コールドスタート」成功戦略

Tencent Weibo は、7 億人の QQ ユーザーと幅広い製品ラインのおかげで、開始から 2...

写真ウェブサイトを作成する際の最大のタブーの簡単な分析

数か月前、ネットユーザーのアドバイスを聞いて、私も美容写真ウェブサイトの構築に着手しました。インター...

ハイブリッド クラウドの旅は Linux から始まります。

今日の時代では、組織は顧客に価値を提供する方法を変革するために、新しいテクノロジーと実践に継続的に投...

どちらも広告チャネルであるにもかかわらず、なぜコンバージョン効果にこれほど大きな違いがあるのでしょうか?

どちらも広告チャネルですが、なぜMomentsとBaiduの広告のコピーライティングの内容はこんなに...

NameCheap: .com と他の 7 つのドメイン名を 0.88 ドルで登録

海外のドメイン名登録業者 Namecheap については、皆さんもよくご存知だと思いますので、早速本...

今後1年間のクラウドコンピューティングの発展の予測と分析

企業はクラウド コンピューティングの利点をますます認識するようになっていますが、クラウド コンピュー...

部隊を配備し、Weiboマーケティングマトリックス戦略を活用する方法

序文マクロ配列とは何でしょうか?Weiboマーケティングを理解していない人が多いため、マクロ配列の概...

グリーンクラウドはいかがでしょうか?サンノゼデータセンターのAMDシリーズチキンのレビュー

グリーンクラウドはいかがでしょうか? greencloudvpsはどうですか?ブラックフライデー中に...

大規模クラウド移行の課題と推奨事項

多くの企業は、パブリック クラウドが顧客に提供できる規模の経済のメリットを享受するために、ワークロー...

LogMeInがパスワード管理会社LastPassを買収

リモートコンピュータアクセス企業のLogMeInは、人気のパスワードマネージャーLastPassを1...

Racknerd Windows VPS、AMD Ryzen 3900X+NVMe SSD、高性能で安価なWindows VPS

Racknerd は、新しい AMD Ryzen 3900X、NVMe SSD を使用し、1Gbps...

EU はクラウド コンピューティングをどのように開発するのでしょうか?

EUは、Gaia-Xコンソーシアム、EUクラウドコンピューティング戦略、国家クラウド戦略を通じて、E...

Baidu 音声検索についての考察

私たちがまだ PC で入力して検索している間、Baidu はすでにモバイル デバイスで音声検索を提供...