複雑化するIstioを適切に管理するツール
Istioを導入したアプリケーションの安定稼働を目指すには、IstioやKubernetes環境の全体像を明らかにして可視化すると同時に、各サービスやプラットフォームのパフォーマンスを可視化することが必要です。
ManageEngineが提供するアプリケーション性能管理(APM)ツール「Applications Manager」は、IstioのサービスメッシュとKubernetesのポッドの両方を1つのコンソールから監視し、Istioのサービスメッシュの5つの主な機能のパフォーマンスについて自動でグラフを作成して可視化します。
- Envoy
- Pilot
- Citadel
- Galley
- Mixer
また、Istioの各機能のパフォーマンスに問題が発生した場合は管理者に通知したり、自動で対処することが可能です。
無料で使えます[機能・監視数 無制限]
Istioで監視すべきポイント
ここからは、アプリケーション性能管理ツール「Applications Manager」で監視可能な各Istioの機能の紹介と、Istioのパフォーマンスを把握するために見るべきポイントをご紹介します。
Envoyの可視化・監視
Envoyは、サービス間のすべての通信やリクエストの高性能プロキシです。
Envoyのリクエストの数は、メッシュ内のサービス間のリクエストの全体的なスループットを意味しており、Envoy SidecarがHTTPまたはgRPCリクエストを受信するたびに増加します。インバウンドとアウトバウンドのトラフィックに違いがある場合は、Pilotコンポーネントに問題があることを示しています。
また、リクエストのサイズと時間を監視することで、パフォーマンスの低下を感じ取ることができます。CPU使用率の上昇、データベースの書き込みレイテンシー、新しいコードの実行時間の上昇、リクエストパス内の新しいダウンストリームサービスなど、システムの問題によってレイテンシーが上昇することがあります。
Pilotの可視化・監視
Pilotは、トラフィックを制御するルーティングルールをEnvoy用に変換し、Sidecarに伝達します。PilotのXDS pushesやProxy Convergence Delaysなどのメトリクスを許容範囲内に維持することは、Istioサービスメッシュの可用性を確保するために非常に重要です。
Applications ManagerのIstio監視機能では、Pilot XDSプッシュやプロキシ収束遅延に加え、インバウンド・アウトバウンドのポート競合数、準備が完了していないエンドポイント、インスタンスのないクラスタ、レギュラーサービスやバーチャルサービスの数、重複したEnvoyクラスタなどの統計情報を提供します。
Citadelの可視化・監視
Citadel は、ビルトインの認証管理機能であり、サービス間およびエンドユーザーのセキュアな認証を可能にします。
Applications Managerでは、証明書の作成回数、証明書の有効期限、証明書の有効期限までの残り日数、CSR回数、gRPC応答の種類と回数などの詳細を確認できます。Citadelを監視することで、サービス間のトランザクションの安全性を確保することができます。
Galleyの可視化・監視
Galleyは、Istioの構成管理サービスを提供しています。
Applications ManagerのIstio監視機能では、Galley検証、Galley検証失敗、処理されたイベント、成功したイベントハンドル、Galleyストラテジーによって処理された設定変更の数、Galleyストラテジーによって公開されたスナップショットなどの主要なメトリクスを監視し、Galleyサーバーの負荷を把握します。
無料で使えます[機能・監視数 無制限]
Mixerの可視化・監視
Mixerは、アプリケーションコードとインフラバックエンドの間のコントロールを行います。(※このコンポーネントは、バージョン1.5から廃止されました。)
Applications ManagerのIstio監視機能では、アダプタの構成とエラー、ハンドラの構成とエラー、インスタンスの構成とエラー、ルールの構成とエラー、テンプレートの構成とエラーなどのメトリクスを監視できます。
メモリやプロセスの使用状況を可視化・監視
Applications ManagerのIstio監視機能では、Go言語の統計データを通じてIstio Podを監視することができます。Goのメモリー割り当て、Goのスレッド、キャッシュ使用量、ヒープメモリー使用量などのGoの統計情報がひと目で分かるグラフを自動で作成します。これらの指標を許容範囲内に収めることで、サーバーのオーバーヘッドがポッドのパフォーマンスに影響を与えないようにすることができます。
ポッドで実行されているGoプロセスに関する情報も入手できます。記述子の統計値、仮想メモリーの使用量、プロセスの開始時刻、総実行期間を監視することで、時間の掛かっているプロセスやメモリーを消費するプロセスを特定することができます。
障害管理とトラブルシューティングの迅速化
Applications Managerでは、上記でご紹介したようなIstioの重要機能のメトリクスにしきい値を設定し、値が許容範囲を超えた場合にすぐ管理者にお知らせします。しきい値として、固定の値・動的な値・ベースライン値を選択できます。さらに、障害発生と同時にプログラムを実行したり、待機サーバーを起動したりなどの自動化にも対応しています。
パフォーマンスデータを可視化するレポート
Applications Managerが提供する傾向分析レポートを使用して、取得したIstioの監視データを蓄積し、分析に使用できます。
一定期間に渡って様々なメトリクスの履歴データを分析することができます。機械学習(マシンラーニング)を搭載したレポート分析により、最大3年先までの成長と利用傾向を予測します。
Istio監視の詳細情報
- Istio監視 ユーザーガイド
Istio監視の利用方法を解説したApplications Managerユーザーガイドです。 - スタートアップガイド
製品の導入手順から設定方法までの詳細ガイドです。