Liferay Cloud サービスのログを読む

Liferay Cloud サービスのログを読む

環境ログは、プロジェクトにおける技術的な問題を診断し、解決するために非常に重要です。 Liferay Cloud では、ユーザーが Liferay Cloud コンソールや OS ターミナルからアクセスし、ダウンロードできる様々な環境ログが提供されています。

ログの種類

Liferay Cloud では、環境サービスに対して 3 種類のログを提供しています。

  • Build Logs :これらのログは、アプリケーションの起動時に生成されるビルド情報を一覧表示します。 ビルド情報の例としては、レジストリからDockerイメージが引き出されたとき、デプロイが進行中のとき、ビルドが成功したときなどがあります。

  • Application Logs :これらのログは、アプリケーションが実行され、ユーザーがアクセスした後に生成されたランタイム情報をリストアップします。 ステータス情報の例としては、イメージが正常に引き出されたとき、コンテナが作成・起動されたとき、レディネスプローブやライヴネスプローブが失敗したときなどがあります。

  • Application Logs :これらのログは、アプリケーションが実行され、ユーザーがアクセスした後に生成されたランタイム情報をリストアップします。

ログ構造

Liferay Cloud のログは、追加の文脈情報を与える特定の構造に準拠しています。 例として、以下のログメッセージを参照してください:

Jun 29 10:07:46.585 build-214 [webserver-699bf65bfb-4w8pl] [WARNING] 179/170746 (13) : api/backend2 changed its IP from 10.0.17.186 to 10.0.26.120 by DNS cache.

Liferay Cloud の多くのログには、このメッセージがサービスの出力から直接ではなく、Liferay Cloud のインフラから来たことを示すラベル(この例では [WARNING])があります。 ログは、Liferay Cloud インフラストラクチャから来るが、サービスに関連するラベルを持つこともできます。例えば、 [LIFERAY]。 サービスの出力から直接取得されるログには、ラベルがありません。

さらに、これらのコンポーネントは、Liferay Cloudのあらゆるログメッセージに常に存在します。

  • タイムスタンプ : この例では、 Jun 29 10:07:46.585となっています。

  • ビルド ID : この例では、 build-214です。 これは、現在デプロイされているサービスのバージョンが対応するビルドに相当します。 このビルドIDは、プロジェクトの Builds ページに表示されているビルドのリストと一致させることができます。

  • インスタンスID : この例では、 [webserver-699bf65bfb-4w8pl]です。 これは、メッセージがどのサービスのどのインスタンスに関連しているかを識別するために使用されます。

ログメッセージに関連付けられたインスタンスIDは、サービスのいずれかのインスタンスに対応しています。 ログページでは、ログの上にあるインスタンスのドロップダウンメニューをクリックすることで、サービス内のすべてのアクティブなインスタンスを確認(およびフィルタリング)することができます。

インスタンスのドロップダウンメニューをクリックすると、すべてのインスタンスが表示されます

インスタンスIDの形式は、サービスがどのような配布タイプ(展デプロイまたはステートフルセット)として構成されているかによって異なります。 詳細は、 デプロイタイプについて を参照してください。

配布タイプログのインスタンスID

配布タイプログは、複数のパートからなるインスタンスIDを持っています。 以下は配布タイプサービスのログメッセージの例です:

Jun 29 10:07:57.102 build-214 [liferay-7485669bdd-7ktfl] [LIFERAY] Executing 010_liferay_cloud_customizable_files_override.sh.

このメッセージのインスタンスID(この例では、 [liferay-7485669bdd-7ktfl])には、以下のコンポーネントが含まれています:

  • サービス名 : この例では、 liferayとなっています。

  • ランダムに生成された バージョンID :この例では、 7485669bddとなっています。 これは、変更が可能な状態でデプロイされたサービスのバージョンに相当します。 なお、新しいデプロイ、環境変数の変更、サービスの手動での再起動は、すべて新しいバージョンIDを生成します(設定に新しい変更が加えられた可能性があるためです)。

  • ランダムに生成された コンテナID :この例では、 7ktflとなっています。 サービスが起動するたびに新しいコンテナが作成されるため(例えば、新しいビルドをデプロイした後サービスが再起動した場合など)、新しいコンテナIDが生成されます。 バージョンIDが変更されない場合でも、再起動すると新しいコンテナIDが生成されることに注意してください(例えば、 ライブネスやレディネスプローブの失敗 が再起動をトリガーした場合など)。

ステートフルセットタイプログのインスタンスID

ステートフルセットタイプのログは、インスタンスIDが小さく、一貫性があります。 以下はステートフルセットタイプサービスのログメッセージの例です:

Jun 29 07:44:44.676 build-214 [search-0] #  - Creating and Starting rollup jobs will no longer be allowed.

これらは、ステートフルセットタイプサービスの インスタンスID の唯一の構成要素です:

  • サービス名 : この例では、 検索機能です。

  • イテレート(非ランダム)ノードID :この例では、 0。 このIDは、新しいバージョンのサービスをデプロイしても同じです。

ステートフルセットタイプのサービスのインスタンスID全体は、サービスの各ノードで常に同じものが使用されます。 これにより、サービスが再びデプロイされた後でも、同じインスタンスIDを使用して、同じ ボリュームを持つクラスタ内のノードを確実に識別することができます。

Liferay Cloud Consoleからログにアクセスする

Liferay Cloud コンソールから環境サービスログにアクセスするには、以下の手順に従います。

  1. プロジェクト環境に移動します。

  2. 環境メニューの [Logs] をクリックします。

すべての環境サービスのアプリケーションログ、ステータスログ、ビルドログを表示したり、ドロップダウンメニューを使って結果をフィルタリングすることができます。

ログをダウンロードするには、[Download Logs]をクリックします。

図1:ログページから環境ログを表示します。

また、各サービスのログは、各サービスの専用ページの ログ タブでご覧いただけます。

図2:各サービスの専用ページの[Logs]タブから、各サービスのログにアクセスし、ダウンロードすることができます。

ターミナルからログにアクセスする

管理者や開発者は、OS端末を使ってログを見ることもできます。

次のコマンドを実行すると、すべてのサービスのログが一覧表示されます:

lcp log

特定の環境のサービスログにアクセスするには、 lcp log コマンドを実行した後に環境のIDを入力するか、 lcp log コマンドに環境IDを入力して実行します:

lcp log -p <environment-id>

また、 lcp log コマンドの一部としてサービスを指定することもできます:

lcp log -p <environment-id> -s <service-id>

追加情報