マルチロケーション Canary でのログ一元化の使用
複数のロケーションから実行するように Canary を設定すると、各実行によってそれぞれのリージョンにログが生成されます。CloudWatch Logs の一元化を使用してこれらのログを単一のリージョンに集約できるため、Canary の結果を 1 か所から簡単にモニタリングおよびトラブルシューティングできます。
概念、アクセス許可、セットアップなど、ログの一元化の仕組みについては、「CloudWatch Logs ユーザーガイド」の複数のアカウントとリージョンからのログ記録の一元化に関するページを参照してください。
マルチロケーション Canary のログ一元化の設定
マルチロケーション Canary からのログを一元化するには、以下の推奨設定を使用して CloudWatch Logs でログ一元化ルールを作成します。
| 設定 | 推奨値 |
|---|---|
| 送信元リージョン | マルチロケーション Canary のレプリカロケーションと同じリージョン |
| 送信先アカウント | マルチロケーション Canary が存在するのと同じアカウント |
| 送信先リージョン | マルチロケーション Canary のプライマリリージョン |
| フィルター | LogGroupName ^ /aws/lambda/cwsyn- |
| 送信先ロググループ | ${source.logGroup} |
このルールは、すべての Canary ログを選択したソースリージョンから送信先リージョンに一元化します。これには、それらのリージョンで実行されている非マルチロケーション Canary からのログが含まれます。特にマルチロケーション Canary の場合、${source.logGroup} を送信先ロググループとして使用すると、プライマリ Canary とレプリカ Canary は同じロググループ名を共有するため、レプリカログはプライマリ Canary ログと同じロググループに配置されます。
ログ一元化ルールを作成する手順については、複数のアカウントとリージョンからのログ記録の一元化に関するページを参照してください。
一元化ログの表示
上記の推奨設定を使用すると、すべての Canary 実行リージョンのログがプライマリリージョンのロググループに表示されます。別の送信先を設定した場合、ログは指定した送信先に表示されます。
一元化ログを表示するには (コンソール)
-
CloudWatch コンソールを開きます。
-
ナビゲーションペインで、[Application Signals]、[Synthetics Canary] の順に選択します。
-
マルチロケーション Canary 名を選択して、詳細ページを開きます。
-
[選択した Canary 実行] テーブルで、プライマリリージョンで発生した Canary 実行を選択します。
-
Canary の詳細ページの下部にある [ログ] タブを選択します。
-
[Logs Insights で表示/ダウンロード]] を選択します。
CloudWatch Logs Insights を使用して、すべてのログエントリをクエリできます。例えば、特定のリージョンからの障害を見つけるには:
fields @timestamp, @message, @logStream | filter @aws.region like /us-west-2/ | filter @message like /ERROR/