オブザーバビリティとは、外部の推論結果を分析し、システムの内部状態を測定する能力である。 Kubernetesの可観測機能には、モニタリングとロギングが含まれます。 モニタリングにより、開発者はシステムの動作を追跡することができます。 ロギングは、診断およびトラブルシューティングを容易にする。 このトピックでは、Container Service of Kubernetes (ACK) の可観測性と各レイヤーの可観測性についての洞察を提供します。 これは、可视性の包括的な理解を得るのに役立ちます。
ACKの可観測性
ACKの上に構築された可観測性システムのアーキテクチャは、4つのレイヤからなる。 下から上への4つのレイヤーは、インフラストラクチャ、コンテナパフォーマンス、アプリケーションパフォーマンス、およびビジネスです。
以下のセクションでは、各層の可観測性について説明する。
インフラの可観測性
ACKの基礎となるリソースの観測可能性。 これにより、ポッドとノードで構成されるリソースプールのトレースを特定し、トポロジ関係を視覚化し、インフラストラクチャを監視できます。 たとえば、ホストと基本的なネットワークプラグインのパフォーマンスを監視できます。
解決策 | 説明 | シナリオ | 関連ドキュメント |
可視化アーキテクチャの検出 | ACKクラスター内のビジネスは、ノードで構成されるリソースプールで実行されます。 ポッドのトレースとトポロジー関係を見つけることは困難です。 課題は、Kubernetesワークロードのステータスを視覚化して監視し、Kubernetesクラスターのトラフィックスループットをより適切に視覚化する方法です。 ACKで使用されるKubernetesモニタリングは、Extended Berkeley Packet Filter (eBPF) とManaged Service for Prometheusを統合して、メトリック収集、アプリケーショントレース、ログ分析、イベントモニタリングをサポートします。 Kubernetesモニタリングを使用すると、ACKクラスターをエンドツーエンドでモニタリングできます。 ネットワーク監視と視覚化されたアーキテクチャ認識機能をACKクラスターに提供します。 Kubernetesモニタリングは、開発者とO&Mエンジニアに侵入のない可観測性ソリューションを提供します。 | すべてのシナリオがサポートされています。
| 詳細については、「クラスタートポロジモニタリング」をご参照ください。 |
カーネルレベルのコンテナーモニタリング | ACKは、system Observer monitoring (SysOM) に基づくオペレーティングシステムのカーネルレベルのコンテナモニタリングを提供します。 この機能は、コンテナー化されたアプリケーションとモニターコンテナーのデプロイと移行に役立ちます。 | すべてのシナリオがサポートされています。 | 詳細については、「SysOMに基づくカーネルレベルのコンテナーモニタリング」をご参照ください。 |
インフラストラクチャ指標の収集 | リソース監視は、ACKの基礎となるリソースを監視するために最も一般的に使用される方法です。 CPU、メモリ、およびネットワークリソースの使用率を監視できます。 ACKのリソースモニタリングはCloudMonitorとインターフェイスします。 CloudMonitorエージェントは自動的にインストールされ、新しく作成されたACKクラスターに統合されます。 | すべてのシナリオがサポートされています。 | 詳細については、「基本的なリソースモニタリング」をご参照ください。 |
コンテナの性能可観測性
ACKの上に構築された可観測性システムにおけるコンテナ抽象化の可観測性。 コンテナーのパフォーマンス可観測性を使用すると、クラスター、コンテナー、およびコンテナーコンポーネントのパフォーマンスを監視し、クラスターイベントを検出できます。
クラスターとコンテナーのパフォーマンスメトリックの収集
解決策 | 説明 | シナリオ | 関連ドキュメント |
CloudMonitorとACKの統合 | デフォルトでは、CloudMonitorエージェントはインストールされ、新しく作成されたACKクラスターに統合されます。 エージェントはクラスターとコンテナーメトリクスを収集でき、ACKコンソールでこれらのメトリクスを表示できます。 | 特定のシナリオのみがサポートされています。 カスタムコンテナのパフォーマンス指標と可観測性を提供します。 | 詳細については、「基本的なリソースモニタリング」をご参照ください。 |
Prometheusのマネージドサービス | Prometheusは、クラウドネイティブのメトリックに基づいてコンテナーを監視するために使用されるオープンソースサービスです。 Managed Service for Prometheusは、オープンソースのPrometheusエコシステムと完全にインターフェースされたマネージド監視サービスです。 Managed Service for Prometheusは、さまざまなコンポーネントを監視し、すぐに使用できる複数のダッシュボードを提供します。 Managed Service for Prometheusを使用すると、自己管理監視システムを構築したり、基盤となるデータストレージ、データ表示、またはシステムのO&Mについて心配する必要がなくなります。Prometheusにマネージドサービスを使用することを推奨します。 | マイクロサービスのシナリオ、クラスタコンポーネントのメトリック収集、高度なモニタリング機能の可観測性のカスタマイズなど、すべてのシナリオがサポートされています。 | 詳細については、「Prometheusのマネージドサービス」をご参照ください。 |
オープンソースPrometheus | Prometheusのオープンソースバージョンは、ACKコンソールのマーケットプレイスで入手できます。 | マイクロサービス (Service Mesh) シナリオ、クラスターコンポーネントのメトリック収集、高度なモニタリング機能の可観測性のカスタマイズなど、すべてのシナリオがサポートされています。 | 詳細については、「オープンソースのPrometheusを使用したACKクラスターのモニタリング」をご参照ください。 |
クラスターとコンテナーのイベントの監視
解決策 | 説明 | シナリオ | 関連ドキュメント |
イベントモニタリング | イベントモニタリングは、リソースモニタリングよりも適時性と正確性が優れ、より多くのシナリオをサポートします。 開発者は、リアルタイムで収集されたイベントに基づいてクラスターの異常を診断できます。 Simple Log Serviceを使用してイベントを監視することを推奨します。 | すべてのシナリオがサポートされています。 | 詳細については、「イベントモニタリングの概要」をご参照ください。 |
アプリケーションのパフォーマンス可视性
ACKの上に構築された可観測性システムでのアプリケーションメトリック、トレース、およびログをカバーする可観測性。 たとえば、ACKでJavaアプリケーションをデプロイし、アプリケーションのスレッド数を監視できます。
解決策 | 説明 | シナリオ | 関連ドキュメント |
Javaアプリケーションを監視するための侵入のないAPM | アプリケーションのパフォーマンスを監視するには、Application Real-Time Monitoring Service (ARMS) を使用することを推奨します。 ARMSは、Application Performance Management (APM) のAlibaba Cloudモニタリングサービスです。 ACKクラスターにデプロイされたJavaアプリケーションを監視するには、JavaアプリケーションのARMSコンポーネントをインストールするだけです。 コードへの侵入は必要ありません。 コンポーネントを使用して、障害のあるインターフェイスと低速インターフェイスの特定、パラメーターの調整、メモリリークの検出、システムパフォーマンスのボトルネックの特定を行うことができます。 これにより、トラブルシューティングの効率が大幅に向上します。 | Javaアプリケーションモニタリングなど、特定のシナリオのみがサポートされます。 解決策は侵入なしです。 | 詳細については、「アプリケーションの監視」をご参照ください。 |
コード書き換えによるAPM | Tracing Analysisは、分散アプリケーションアーキテクチャのパフォーマンスのボトルネックを診断するための一連のツールを開発者に提供します。 これらのツールには、トレースマッピング、リクエストカウンター、トレーストポロジ、およびアプリケーション依存性分析が含まれます。 Tracing Analysisは、マイクロサービスの開発と診断の効率を向上させます。 Tracing Analysisは、さまざまなオープンソースSDKをサポートし、OpenTracingおよびOpenTelemetryの標準をサポートします。 | マイクロサービス (Service Mesh) や異なるプログラミング言語を使用するアプリケーションなど、すべてのシナリオがサポートされています。 このソリューションは、OpenTelemetry標準に準拠しています。 このソリューションを使用する場合は、コードを書き直す必要があります。 | 詳細については、「ASMでの分散トレースの有効化」をご参照ください。 |
Managed Service for OpenTelemetryは、分散アプリケーションを開発するための一連のツールを提供します。 これらのツールを使用して、トレースのマッピング、リクエスト数のカウント、トレーストポロジの表示、およびアプリケーションの依存関係の分析を行うことができます。 これにより、分散アプリケーションアーキテクチャのパフォーマンスのボトルネックを分析および診断し、マイクロサービスの開発と診断の効率を向上させることができます。 | このソリューションはOpenTracingの標準に準拠しており、JaegerやZipkinなどのオープンソースのトレースプラットフォームをサポートしています。 このソリューションは、Java、PHP、Go、Python、Node.jsなどのプログラミング言語に基づいて開発されたアプリケーションをサポートします。NET、C ++ 、Ruby、およびSwift。 | 詳細については、「」をご参照ください。Tracing Analysis OpenTelemetry Editionとは何ですか? 接続の説明を行います。 |
ビジネス観察
ACKの上に構築された可観測性システムにおける企業の可観測性。 ACKに基づいて可用性が高くスケーラブルなWebサイトをデプロイした後、ページビュー (PV) やユニークビジター (UV) などの統計情報を表示できます。 ビジネスの観察可能性により、アプリケーションコストを監査することもできます。
解決策 | 説明 | シナリオ | 関連ドキュメント |
カスタムロギングとモニタリング | カスタムメトリクスを観察するには、Simple Log Serviceを使用することを推奨します。 アプリケーションログの内容と形式をカスタマイズし、Simple Log Serviceを使用してログを収集し、Simple Log Serviceでダッシュボードを設定してビジネスを監視したり、システム監査を実行したりできます。 | トラフィックの監視、コストの監査と統計、注文傾向の分析など、すべてのシナリオがサポートされています。 | 詳細については、「Simple log Serviceを使用したコンテナーからのログデータの収集」をご参照ください。 |
Grafanaの管理対象サービスを使用したカスタムダッシュボード | Managed Service for Grafanaは、クラウドネイティブのO&Mデータ可視化プラットフォームです。 このプラットフォームは、迅速に起動できるO&MフリーのGrafanaランタイム環境を提供します。 デフォルトでは、Managed Service for Grafanaは、データベースサービス、Message Queue、Managed Service for Prometheus、Simple Log ServiceなどのAlibaba Cloudサービスからデータを取り込むことができます。 Managed Service for Grafanaには、さまざまなダッシュボードも用意されており、きめ細かい方法でシステムを監視および保守できます。 Managed Service for Grafanaを使用すると、メトリクス、ログ、およびトレースを分析および表示できます。 サーバーの構成やソフトウェアの更新について心配する必要はありません。 これにより、O&M作業が大幅に簡素化されます。 Alibaba cloudのクラウドネイティブ機能によって強化されたManaged Service for Grafanaは、より高いセキュリティと可用性も備えています。 | すべてのシナリオがサポートされています。 Managed Service for Grafanaを使用して、ビジネス要件に基づいてダッシュボードを構成できます。 たとえば、リアルタイムのダッシュボードを作成してPVとUVを監視できます。 | 詳細については、「」をご参照ください。Grafanaのマネージドサービスとは? |
ARMSブラウザモニタリングを使用したビジネストラフィックとビジネスヘルスのモニタリング | ARMSブラウザモニタリングは、webアプリケーション、Weex、およびミニプログラムのモニタリングを目的としています。 webページの読み込み速度 (速度テスト) 、webページの安定性 (JSエラー診断) 、および外部サービス呼び出し (API) の成功率を検出することにより、webアプリケーションとミニプログラムのヒースを監視します。 | このソリューションは、JavaScriptを使用するフロントエンドアプリケーションに適しています。 | 詳細については、次をご参照ください: |
関連ドキュメント
ログモニタリングの詳細については、「ログの概要」、「Simple log Serviceを使用したコンテナーからのログデータの収集」、および「KubernetesとSimple Log ServiceのLog4jAppenderの設定」をご参照ください。
メトリクスの詳細については、「基本的なリソースモニタリング」、「アプリケーションのモニタリング」、「クラスタートポロジモニタリング」、および「イベントモニタリング」をご参照ください。
モニタリングサービスの使用方法とダッシュボードの設定方法の詳細については、「Prometheusのマネージドサービス、Ingressダッシュボード、CoreDNSモニタリング」、「PromQLを使用してPrometheusモニタリングデータを照会する」、および「SysOMに基づくカーネルレベルのコンテナーモニタリング」をご参照ください。