この記事はKumar Varunによる”Enhanced OKE Monitoring with Observability and Management“の日本語翻訳記事です。


Kubernetesは、マシン間のワークロード分散、フォールト・トレランスの実現、問題発生時のワークロード再スケジュールなど、多くの問題を解決するコンテナ・オーケストレーションの標準です。開発プロセスの高速化と複雑さの軽減はKubernetesオペレーターの負担を軽減しますが、固有の抽象化と自動化により、発見、トラブルシューティング、予防が困難な新しいタイプのエラーが発生する可能性があります。多くの要素が複雑に絡み合う大規模分散システムでは、問題の根本原因を突き止めるのが困難です。従来のモノリシック環境では1つか2つのログを検索すれば済むかもしれませんが、マイクロ・サービスでは多数のログを検索しなければなりません。多くのサービスからのログを順に確認するのは時間がかかり、問題の真の根本原因を特定できないことも少なくありません。

このブログでは、 OCI Observability and Management(O&M)プラットフォーム・サービスを利用してKubernetes環境を監視する方法を説明します。OCI Log Analyticsは Oracle Container Engine for Kubernetes(OKE)環境のインフラストラクチャ・ログを監視し、Application Performance Monitoring(APM)はKubernetes環境にデプロイされたアプリケーションを監視します。

WeblogicアプリケーションでOKE環境をデプロイするための前提条件

  1. 既存のコンパートメント、APIキーなどの初期構成がすでに完了している有効な Oracle Cloud Infrastructure (OCI) アカウントを作成または使用します。
  2. このリンクを参照してOKE環境を作成し、公開します。
  3. OKEクラスタにサンプルアプリケーションをデプロイします。手順については、こちらのリンクを参照してください。

Log Analyticsを使用してOKEインフラストラクチャの監視を強化

OCI Log Analyticsは、クラウドまたはオンプレミスのアプリケーションとシステム・インフラストラクチャからのすべてのログ・データをインデックス化、拡充、集約、探索、検索、分析、相関分析、可視化、監視するクラウド・ソリューションです。収集されたログを分析することで、豊富なインサイトを提供します。

Kubernetes環境は、オープンソースのデータコレクター・ソフトウェアであるFluentDを使用して構築されており、ソースからインフラストラクチャ・ログを収集します。OCI Log Analyticsは、Kube Proxy、Kube Flannel、Kubelet、CoreDNS、CSI Node Driver、DNS Autoscaler、Cluster Autoscaler、Proxymux ClientといったKubernetesクラスタのログに加え、Syslog、Secure、Cron、Mail、Audit、Ksplice Uptrack、YumといったLinuxログも収集します。OCI Log Analyticsの設定を行う前に、前提条件を必ず満たしてください。 

OKE環境の準備ができたら、OCIメニュー > 開発者サービス > Kubernetesクラスタに移動し、クラスタとノードの詳細を確認します。キーを設定してクラスタにアクセスします。取り込まれたOKEログとアプリケーションログを確認し、OCI Log AnalyticsサービスがOKEインフラストラクチャ・ログの分析にどのように使用されているかを確認します。

OKE monitoring using Logging Analytics
図1: OCI Log Analyticsを使用したOKEの監視
  • OCIコンソールのナビゲーション・メニューから監視および管理を選択し、ログ・アナリティクス > ログ・エクスプローラを選択します。正しいリージョンとコンパートメントにいることを確認してください。
  • FluentDを含むdockerイメージを使用して構築されたOKE環境用に構成されたログを表示します。

 

インフラログを使用した Logging Analytics のログ エクスプローラー
図2: OCI Log Analyticsのログ・エクスプローラーとインフラストラクチャ・ログ
  • これらのログを分析して、有用な情報を入手してください。例えば、ポッドのステータスを確認するには、以下のクエリを実行して詳細なステータスを取得します。
Logging Analytics のポッドステータス
図3: OCI Log Analyticsにおけるポッドのステータス
  • カスタム・ダッシュボード を構築することで、環境を単一のビューで把握できます。例えば、以下のダッシュボードはOKEクラスターの完全なサマリーを提供しています。
OKE クラスターダッシュボード
図4: OKEクラスタ・ダッシュボード

OCI APMの包括的な機能でアプリケーション監視を強化

Kubernetes環境のインフラストラクチャを監視し、ログから洞察を得る方法を説明しました。次に、OCI Application Performance Monitoring(APM)サービスを使用して、KubernetesクラスタにデプロイされたWebLogicアプリケーションを監視する方法を見ていきましょう。APMはアプリケーションを監視し、パフォーマンスの問題を診断するための包括的な機能セットを提供します。これにより、Open Tracingのインストルメンテーションとメトリックの自動収集が可能になり、エンドツーエンドの完全なアプリケーション監視と診断が可能になります。APMには、分散トレースシステムの実装も含まれています。監視対象アプリケーションからトランザクショントレースデータ(スパン)を収集・処理し、表示、ダッシュボード、探索、アラートなどに利用できるようにします。

OK APM
図5: OCI Application Performance Monitoringを使用したOKEの監視
  • OCI コンソールのナビゲーション・メニューから監視および管理を選択し、アプリケーション・パフォーマンス・モニタリング > トレース・エクスプローラを選択します。 
  • トレース・エクスプローラのページからコンパートメントとAPMドメインを選択します。キャプチャされたトレースを確認することで、アプリケーションへのアクセス方法とパフォーマンスに関する詳細情報が得られます。
APM のトレース エクスプローラー
図6: APMのトレース・エクスプローラ
  • 「トレース」をクリックすると、トレースの詳細とスパンの詳細が表示されます。アプリケーション内の異常を特定し、対処することができます。例えば、アプリケーション内のどのページが遅いかを把握し、アプリケーション全体のパフォーマンスを監視することで、根本原因の特定にかかる時間を最小限に抑えることができます
APMのスパンの詳細
図7: APMのスパンの詳細
  • インフラストラクチャ層に関する分析情報を得るには、Log Analyticsなど O&Mの他のサービスにドリルダウンします。
ドリルダウン構成
図8: ドリルダウン構成
  • アプリケーション監視用のカスタムダッシュボードを作成し、アプリケーションの健全性を包括的に把握できます。以下は、OKEクラスタにデプロイされたサンプル・アプリケーションの概要ダッシュボードの例です。
アプリケーション概要のダッシュボード
図9: アプリケーション概要のダッシュボード
統合O&Mダッシュボード
図10: 統合O&Mダッシュボード

O&Mプラットフォームは、複雑なKubernetesエコシステムに関するインサイトを提供します。カスタム・ダッシュボードは、サービス間、複数オペレーションレベルのビューを通じて環境全体を統合的に把握し、各サービスへのドリルダウンを可能にします。これらの機能により、OCI Log Analytics、OCI Application Performance Monitoring、その他のOCIサービスを活用したOKEやその他のKubernetesクラスター向けのエンドツーエンドの監視ソリューションが実現します。より理解するためにAPM LiveLabsLA LiveLabsで詳細をご確認ください。

リソース