Adobe Experience Manager as a Cloud Serviceのログにアクセスして、アプリケーションをデバッグしよう(Tech Blog)

Adobe Experience Manager as a Cloud Serviceのログファイルは、マネージドサービスやオンプレ版をインストールした時とは異なる方法でアクセスする必要があります。今回はログにアクセスする2つの方法についてご紹介します。

イメージ画像:ログを確認する担当者

Adobe Experience Manager as a Cloud Serviceのログは、マネージドサービスやオンプレ版でインストールした時とは異なる方法でアクセスする必要があり、Cloud ManagerやAdobe I/O CLIツールを通じてAPIを実行します。今回はこの2つの方法について確認してみましょう。

Cloud Managerのユーザーインターフェイスを通したログへのアクセス

Cloud Managerからログにアクセスするには以下の手順を実行します。

  1. Webブラウザを起動してCloud Managerにログインします。
  2. トップ画面の「環境」の欄にあるアクションボタンをクリックして、メニューから「ログをダウンロード」を選択します。

操作画面:Cloud Manager

  1. また、トップメニューの「環境」タブを開いた時に表示される一覧からも、それぞれのログをダウンロードできます。

操作画面:Cloud Managerの「環境」タブ

Adobe IO CLIのCloud Managerプラグインを使ったログへのアクセス

次はAdobe I/O CLIツールを使ったログへのアクセス方法です。もし、あなたがtailコマンドでログを監視したい場合は、こちらの方法を利用する必要があります。

Adobe I/O CLI Cloud Managerプラグインのインストール

Adobe I/O CLIと、さらにCloud Managerプラグインをインストールすることで、API経由でCloud Managerのログにアクセスすることができます。Adobe I/O CLIと、Cloud Managerプラグインの利用にあたってはNode.jsが必要になるので、まずは、Node.jsをインストールしてください(Ver.10.22.0以上、もしくは12.0.0以上。Ver.14.xは現在のところ互換性がありません。)。

Node.jsのインストールが終わったら、次のコマンドを実行してAdobe I/O CLIをインストールします。

$ npm install -g @adobe/aio-cli

バージョンコマンドを実行して、Adobe I/O CLIがインストールされたことを確認します。
$ aio -v

続けて、Adobe I/O CLIにCloud Managerプラグインを追加します。
$ aio plugins:install @adobe/aio-cli-plugin-cloudmanager

最後にアップデートをかけます。
$ aio plugins:update

Adobe I/O CLIの認証設定

Adobe I/O CLIがCloud Managerと通信するには、Adobe I/OコンソールでCloud Managerとの統合を設定し、認証情報を登録する必要があります。

  1. https://console.adobe.ioにログインします
  2. 右上隅のAdobe Orgスイッチャーで、接続するCloud Managerが含まれる組織を選択してください。
  3. 「Quick start」-「Create new project」をクリックした後、プロジェクトを任意の名前で登録します。

操作画面:プロジェクトの追加

  1. 次にプロジェクトにAPIの設定を登録します。「Add API」をクリックして表示された一覧から「Cloud Manager」を選択します。「Next」をクリックして設定に進みます。

操作画面:APIの追加

  1. 2つの選択肢が表示されるので、「Option 1 - Generate a key pair」を選択した後に、右下の「Generate keypair」をクリックして認証キーを作成します。

操作画面:認証キーの作成

  1. 作成したキーペアを含むconfig.zipファイルがダウンロードされるのを確認して、「Next」をクリックします。
  2. 適切な製品プロファイルを選択たら、「Save configured API」をクリックして設定を保存します。

ローカル環境への認証情報の登録

Cloud Managerとの統合が設定できたら、コンピューター上にconfig.jsonファイルを作成してクレデンシャル情報を登録します。

//config.json
{
"client_id": "value from your CLI integration (String)",
"client_secret": "value from your CLI integration (String)",
"jwt_payload": {value from your CLI integration (JSON Object Literal)},
"token_exchange_url": "https://ims-na1.adobelogin.com/ims/exchange/jwt",
}

グラフィカル ユーザー インターフェイス, テキスト, アプリケーション 自動的に生成された説明

最後に、config.jsonと秘密鍵のパスを登録します。秘密鍵は統合を作成した際にダウンロードしたconfig.zipに含まれているので、任意の場所に保存してください。

次のコマンドを実行して、クレデンシャルのパスを登録します。
$ aio config:set jwt-auth [PATH_TO_CONFIG_JSON_FILE] --file --json

次に、秘密鍵のパスを登録します。
$ aio config:set jwt-auth.jwt_private_key [PATH_TO_PRIVATE_KEY_FILE] -file

Adobe I/O CLIによるログの取得

ここまでの設定が完了したら、いよいよCloud Managerのログにアクセスします。

下記のコマンドを実行して、Adobe Experience Manager as a Cloud Serviceで稼働している各環境のIDを取得します。
$ aio cloudmanager:list-environments

次に、下記のコマンドを実行して、利用可能なすべてのログを確認します。
$ aio cloudmanager:list-available-log-options [Environments ID]

ログオプションにはService(author、publish、dispatcher)とLog(aemaccess、aemerror、aemrequest、aemdispatcher、httpderror、httpdaccess)があります。

最後に、下記のコマンドを実行してログをダウンロードします。Daysはログを取得する日数を指定することが可能で、初期値は1(日)です。
$ aio cloudmanager:download-logs [Environments ID] [Service] [Log] [Days]

tailコマンドでログをリアルタイムに監視する場合には、次のコマンドを実行します。
$ aio cloudmanager:tail-logs [Environments ID] [Service] [Log]

これでAdobe Experience Manager as a Cloud Serviceのログにアクセスできる様になりました。

・・・

デモを受ける準備はできていますか? Adobeの営業担当者または窓口までお問い合わせください。

この記事は2021年2月に公開されたAccessing Log Files for Debugging AEM as a Cloud Service Applicationsを抄訳したものです。