K8sで実行するマイクロサービス・アプリケーションを監視する際に知っておくべき4つのメトリクス

近代的なオフィスビルでマネージャーがプロジェクト計画を発表するのを見ている3人のチームメンバー

ソフトウェア開発においては、マイクロサービス・アプリケーションがKubernetes上でどのように動作するかを理解することが重要です。この記事では、Kubernetes上のマイクロサービス・アプリケーションの監視が重要である理由と、オブザーバビリティー戦略の一環として注目すべきいくつかのメトリクスについて説明します。

Kubernetes上で実行されているマイクロサービスの正常性を監視する必要がある理由と監視すべきKubernetesメトリクスとは

Kubernetesクラスターにデプロイされたマイクロサービス・アーキテクチャーを利用する大規模なeコマース プラットフォームを想定してください。各マイクロサービスは、インベントリー管理、注文処理、支払い処理などの特定の機能を担当し、独立して動作します。また、これらのサービスはAPI を通じて相互に通信し、ビジネスやサービスの成長にとって重要な役割を果たします。

このような複雑な環境では、シームレスな運用を確保し、問題を積極的に検出することが不可欠になりますが、これが困難な場合もあります。

このシナリオでのオブザーバビリティーは、これらのマイクロサービスとKubernetesアプリケーションの性能、可用性、相互依存性をリアルタイムで把握するのに役立ちます。

オブザーバビリティが重要である理由はいくつかあります。

  • 問題の早期検知: マイクロサービスは分散して相互接続されているため、問題が発生したときに特定することが困難になります。正常性を観察することで問題を早期に検知し、ダウンタイムや潜在的なサービスの中断を最小限に抑えることができます。Instanaを使用すると1秒単位の細分度が得られるため、他のソリューションよりも問題を素早く検知することができます。
  • 信頼性: マイクロサービスの正常性を監視することで、アプリケーションの信頼性が維持されます。応答時間、エラー率、参考情報使用率などのメトリクスを追跡することで、ユーザーに影響が及ぶ前に、パフォーマンスの問題に積極的に取り組むことができます。
  • 効率的なスケーリング: Kubernetesを使用すると、要求に応じてマイクロサービスを動的に拡張できます。正常性を観察することで、サービスを拡張するタイミングと方法について情報に基づいた意思決定を行い、最適なパフォーマンスと参考情報使用率を実現できます。
  • SLAの達成: 多くの組織は、サービスの可用性と性能の期待レベルを定義するサービス・レベル契約(SLA)を策定しています。マイクロサービスの正常性を観察することで、サービスがスムーズに動作し、パフォーマンス目標を達成していることを確認し、これらのSLAを達成することができます。

クラスターの正常性を監視することで、組織は問題を未然に特定して対処し、参考情報の使用を最適化し、クラスターのパフォーマンスを維持できます。

測定できる主要なメトリクスは次のとおりです。

クラスターの可用性:

Kubernetesクラスターの可用性メトリクスを監視することで、クラスターが稼働し、正常であることを確認できます。クラスターのアップタイムやPodのステータスなどのメトリクスから、クラスターの全体的な正常性についての洞察が得られます。これらは最上位かつ最も重要なレイヤーにあり、環境内で何が起こっているかを完全に可視化できます。

Podのメトリクス:

Podの再起動、準備、削除など、Podの正常性メトリクスを監視することで、個々のポッドの問題を特定し、アプリケーションがスムーズに実行されていることを確認できます。Podの正常性を監視することで、組織は問題を迅速に検知してトラブルシューティングを行い、ダウンタイムを最小限に抑え、高可用性を確保できます。

サービス提供期間:

サービスのアップタイム、応答時間、エラー率などのサービスの可用性メトリクスを監視することで、Kubernetesのサービスの可用性とユーザーへの応答性を確認できます。サービスの可用性を監視することで、組織はサービスの障害や低下を検知し、サービスの可用性を回復してユーザーへの影響を最小限に抑えるための事前対応型の対策を講じることができます。

ノードの正常性:

これは、Kubernetesクラスター メトリクスのコンテキストでノードのステータスを示すメトリクスです。その他の重要なメトリクスには次のようなものがあります。

  • kube_node_status_capacity: このメトリクスは、ノード上のさまざまな参考情報の利用可能な容量を示し、利用可能な参考情報の量を特定するのに役立ちます。
  • kubelet_runson_container_count: 現在、ノード上で実行されているコンテナの数を示します。
  • kubelet_runtime_operations_latency_microseconds:このメトリクスは、各オペレーションが完了するまでにかかる時間をタイプ別に分類し、マイクロ秒単位で測定します。

数字で見るオブザーバビリティー

IBM® Instanaは、Kubernetes上で実行されているマイクロサービス・アプリケーションを監視する機能を持ちます。

IBM Instanaは、パフォーマンス データをコンテキスト化する、完全に自動化されたリアルタイムのオブザーバビリティー プラットフォームです。これにより、マイクロサービス・アプリケーションの問題やトランザクションを1秒単位で検知できます。さらに、Kubernetes上でマイクロサービスを実行する際に問題が発生した場合に、簡単に修正できる100%のトレースが得られます。

Kubernetesの観察を開始するための参考情報

完全な可視性を確保し、問題をより積極的に解決したい場合は、Instanaの新しいセルフホスト標準版を検討してください。これは、Kubernetesのあらゆるレベルでの使用向けに設計された包括的なソリューションです。初心者でも、Kubernetesの上級ユーザーでも、Instana Standard Editionの監視がしっかりサポートします。今すぐ無料アカウントにサインアップして、Kubernetesクラスターの監視を開始するか、以下のステップバイステップ ガイドを参照してください。

 

著者

Irfad K P

Software Developer at IBM

Ajuma Bella Salifu

Product Marketing Manager

Instana

関連ソリューション
Kubernetesの監視 - IBM Instana

Kubernetesクラスター全体を自動的に観察、監視、修正し、アプリケーションのパフォーマンスと可用性を向上させます。

IBM Instanaについて詳しく見る
クラウド・コンサルティング・サービス

ビジネスの俊敏性と成長を加速—IBMのクラウド・サービスとコンサルティングを利用して、あらゆるプラットフォーム上のアプリケーションを継続的にモダナイズします。

クラウド・コンサルティング・サービスの詳細はこちら
コンテナ・ソリューション

コンテナ・ソリューションは、セキュリティ、オープンソースの革新性、迅速なデプロイメントを駆使して、コンテナ化されたワークロードを実行およびスケールアップします。

コンテナの詳細はこちら
次のステップ

IBM Instana Observabilityは、あらゆるKubernetesディストリビューションに対応し、ノードやポッドからコンテナやアプリケーションに至るまで、Kubernetesアプリケーション・スタック全体を自動で監視するよう設計されたKubernetesの可観測性とAPM機能を実現します。

IBM Instana Observabilityの詳細はこちら Instanaを試す