AWS Lambda
開発者ガイド

AWS Lambda を Amazon CloudWatch Logs に使用する

Lambda 関数を使用して、Amazon CloudWatch Logs ログストリームのログをモニタリングして分析することができます。ログが作成されたとき、またはログがオプションのパターンに一致した場合に関数が呼び出されるように、1 つ以上のストリームのサブスクリプションを作成します。この関数を使用して通知を送信したり、ログをデータベースまたはストレージに保存したりします。

CloudWatch Logs は、ログデータが含まれたイベントを使用して、関数を非同期的に呼び出します。データフィールドの値は Base64 でエンコードされた ZIP アーカイブです。

例 Amazon CloudWatch Logs メッセージイベント

{ "awslogs": { "data": "ewogICAgIm1lc3NhZ2VUeXBlIjogIkRBVEFfTUVTU0FHRSIsCiAgICAib3duZXIiOiAiMTIzNDU2Nzg5MDEyIiwKICAgICJsb2dHcm91cCI6I..." } }

ログデータをデコードおよび圧縮解除すると、次の構造の JSON ドキュメントになります。

例 Amazon CloudWatch Logs メッセージデータ (デコード済み)

{ "messageType": "DATA_MESSAGE", "owner": "123456789012", "logGroup": "/aws/lambda/echo-nodejs", "logStream": "2019/03/13/[$LATEST]94fa867e5374431291a7fc14e2f56ae7", "subscriptionFilters": [ "LambdaStream_cloudwatchlogs-node" ], "logEvents": [ { "id": "34622316099697884706540976068822859012661220141643892546", "timestamp": 1552518348220, "message": "REPORT RequestId: 6234bffe-149a-b642-81ff-2e8e376d8aff\tDuration: 46.84 ms\tBilled Duration: 100 ms \tMemory Size: 192 MB\tMax Memory Used: 72 MB\t\n" } ] }

CloudWatch Logs をトリガーとして使用するサンプルアプリケーションについては、「AWS Lambda の Error Processor サンプルアプリケーション」を参照してください。