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からログにアクセスするには以下の手順を実行します。
- Webブラウザを起動して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との統合を設定し、認証情報を登録する必要があります。
- https://console.adobe.ioにログインします
- 右上隅のAdobe Orgスイッチャーで、接続するCloud Managerが含まれる組織を選択してください。
- 「Quick start」-「Create new project」をクリックした後、プロジェクトを任意の名前で登録します。
- 次にプロジェクトにAPIの設定を登録します。「Add API」をクリックして表示された一覧から「Cloud Manager」を選択します。「Next」をクリックして設定に進みます。
- 2つの選択肢が表示されるので、「Option 1 - Generate a key pair」を選択した後に、右下の「Generate keypair」をクリックして認証キーを作成します。
- 作成したキーペアを含むconfig.zipファイルがダウンロードされるのを確認して、「Next」をクリックします。
- 適切な製品プロファイルを選択たら、「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",
}
- 「client_id」と「client_secret」の値はAdobe I/Oコンソールで作成したプロジェクトの「Credentials」欄で取得できます。
- さらに「Generate JWT」タブを開いて、「jwt_payload」の値を取得します。
- 「token_exchange_url」は上記のURLを記載してください。
最後に、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を抄訳したものです。