ハンズオン(簡易版): Lambda入門

2.3. CloudWatch Logsログイベントの取得 (ログフィルター: /aws/lambda/handson-cli-lambda-sns-function)

目的

CloudWatch Logsロググループ"/aws/lambda/handson-cli-lambda-sns-function"からログフィルターを利用してログイベントを取得します。

パラメータの指定

作業に必要なパラメータを変数に格納をします。

0. リージョンの指定

リージョンを指定します。

環境変数の設定

export AWS_DEFAULT_REGION='ap-northeast-1'

1. CloudWatch Logsロググループ名

CloudWatch Logsロググループ名を指定します。

変数の設定:

LOGS_GROUP_NAME='/aws/lambda/handson-cli-lambda-sns-function'

2. ログイベント数

取得するログイベント数を指定します。

変数の設定:

LOGS_EVENT_MAX_ITEMS='11'

各変数に正しいパラメータ値が格納されていることを確認します。

変数の確認:

cat << END

  # 0. AWS_DEFAULT_REGION:"ap-northeast-1"
       AWS_DEFAULT_REGION="${AWS_DEFAULT_REGION}"

  # 1. LOGS_GROUP_NAME:"/aws/lambda/handson-cli-lambda-sns-function"
       LOGS_GROUP_NAME="${LOGS_GROUP_NAME}"
  # 2. LOGS_EVENT_MAX_ITEMS:"11"
       LOGS_EVENT_MAX_ITEMS="${LOGS_EVENT_MAX_ITEMS}"

END

手順

ログフィルターを利用してCloudWatch Logsログイベントを取得します。

変数の確認:

cat << END

  # LOGS_GROUP_NAME:"/aws/lambda/handson-cli-lambda-sns-function"
    LOGS_GROUP_NAME="${LOGS_GROUP_NAME}"
  # LOGS_EVENT_MAX_ITEMS:"11"
    LOGS_EVENT_MAX_ITEMS="${LOGS_EVENT_MAX_ITEMS}"

END

コマンド:

aws logs filter-log-events \
  --log-group-name ${LOGS_GROUP_NAME} \
  --max-items ${LOGS_EVENT_MAX_ITEMS}

結果(例):

{
    "events": [
        {
            "logStreamName": "2020/07/16/[$LATEST]38286939e41a47d09dcf3245af115c06",
            "timestamp": 1594883623791,
            "message": "START RequestId: c465db9e-729c-46cb-a1cb-04e34a8a00ee Version: $LATESTn",
            "ingestionTime": 1594883632835,
            "eventId": "35567093315472263966385947050559083373121916709298438144"
        },
        {
            "logStreamName": "2020/07/16/[$LATEST]38286939e41a47d09dcf3245af115c06",
            "timestamp": 1594883623792,
            "message": "[INFO]t2020-07-16T07:13:43.792Ztc465db9e-729c-46cb-a1cb-04e34a8a00eet## ENVIRONMENT VARIABLESn",
            "ingestionTime": 1594883632835,
            "eventId": "35567093315494564711584477673700619091394565070804418561"
        },
        {
            "logStreamName": "2020/07/16/[$LATEST]38286939e41a47d09dcf3245af115c06",
            "timestamp": 1594883623792,
            "message": "[INFO]t2020-07-16T07:13:43.792Ztc465db9e-729c-46cb-a1cb-04e34a8a00eetenviron({'AWS_LAMBDA_FUNCTION_VERSION': '$LATEST', 'AWS_SESSION_TOKEN': 'IQoJb3JpZ2luX2VjEA8aDmFwLW5vcnRoZWFzdC0xIkcwRQIhAJIcZiHHoc/7bYaXajYtk1gjpBVkni8KGJyYbn7MVRvqAiAbdqlcwoJeKtog64KuUUdtx7NNikJb/k3o0zyAzvNE/SrnAQi4//////////8BEAAaDDM1ODU5NzQ5NzQ5NSIMUHCN+2l/4NQv6x9vKrsBkhKKkD4oFMj26+tK9gfugAQxfvAqMAdmCmK4ipTey8xKTKFdnEX7U0WqyMyWl4Bx/IJPTt0a6vMA4BzZa32Yk6Q+Gtgkg5/bVT28jXDcL8yPRHaysQpAXi5QOWwGn9VrMqMPl7Qe0MAfKw2CpQQ5vDEr5hiCXeRN4CN56a7gr3vGjdT5zcbnj64DO2dVx1cUwfpebhXh7E0ronQgDqxmQpf7laiH6tIZEPAQBAn14Hy87AXM/oLeJir26jCn/L/4BTrgAeZmRPuyTxPJrsdS31mPK+KCIix3RcyZhIKa8qVZcV4Mg8i8+4BoTHBamPHTweboA2i+V6r+te1UlIS2fJKKf80PCHD95Q0YzGKN+mOEsrGGHiOLy2bgZ/g4if54VAEXqNw3j/hrEEm8HRg5ePSu/0XRHrZwGz2mDHEZcT9Ef6GfPvPbuhrE8nuSkWMrU2bMjOlxDflfvJCcFcl3L5bm3w2jmNGISWDdjIPuzekqPh8VTQ217MF3pHwgTEEsUg+PbguqhrNYdSQaAT6O+NQhvqMG9kKPo6Nhj5LF8iacT5I+', 'AWS_LAMBDA_LOG_GROUP_NAME': '/aws/lambda/handson-cli-lambda-sns-function', 'LAMBDA_TASK_ROOT': '/var/task', 'LD_LIBRARY_PATH': '/var/lang/lib:/lib64:/usr/lib64:/var/runtime:/var/runtime/lib:/var/task:/var/task/lib:/opt/lib', 'AWS_LAMBDA_LOG_STREAM_NAME': '2020/07/16/[$LATEST]38286939e41a47d09dcf3245af115c06', 'AWS_EXECUTION_ENV': 'AWS_Lambda_python3.8', 'AWS_XRAY_DAEMON_ADDRESS': '169.254.79.2:2000', 'AWS_LAMBDA_FUNCTION_NAME': 'handson-cli-lambda-sns-function', 'PATH': '/var/lang/bin:/usr/local/bin:/usr/bin/:/bin:/opt/bin', 'AWS_DEFAULT_REGION': 'ap-northeast-1', 'PWD': '/var/task', 'AWS_SECRET_ACCESS_KEY': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'LAMBDA_RUNTIME_DIR': '/var/runtime', 'LANG': 'en_US.UTF-8', 'AWS_REGION': 'ap-northeast-1', 'TZ': ':UTC', 'AWS_ACCESS_KEY_ID': 'ASIAVG7QTSKLROFKBIVL', 'SHLVL': '0', '_AWS_XRAY_DAEMON_ADDRESS': '169.254.79.2', '_AWS_XRAY_DAEMON_PORT': '2000', 'AWS_XRAY_CONTEXT_MISSING': 'LOG_ERROR', '_HANDLER': 'handson-cli-lambda-sns-function.lambda_handler', 'AWS_LAMBDA_FUNCTION_MEMORY_SIZE': '128', 'PYTHONPATH': '/var/runtime', '_X_AMZN_TRACE_ID': 'Root=1-5f0ffe27-22a564b31562768a312a4966;Parent=05e6ef8419689033;Sampled=0'})n",
            "ingestionTime": 1594883632835,
            "eventId": "35567093315494564711584477673700619091394565070804418562"
        },
        {
            "logStreamName": "2020/07/16/[$LATEST]38286939e41a47d09dcf3245af115c06",
            "timestamp": 1594883623792,
            "message": "[INFO]t2020-07-16T07:13:43.792Ztc465db9e-729c-46cb-a1cb-04e34a8a00eet## EVENTn",
            "ingestionTime": 1594883632835,
            "eventId": "35567093315494564711584477673700619091394565070804418563"
        },
        {
            "logStreamName": "2020/07/16/[$LATEST]38286939e41a47d09dcf3245af115c06",
            "timestamp": 1594883623792,
            "message": "[INFO]t2020-07-16T07:13:43.792Ztc465db9e-729c-46cb-a1cb-04e34a8a00eet{'first_name': 'Jeff', 'last_name': 'Bezos', 'age': 56, 'detail': 'You are an American internet entrepreneur, industrialist, media proprietor, and investor. He is best known as the founder, CEO, and president of the multi-national technology company Amazon.'}n",
            "ingestionTime": 1594883632835,
            "eventId": "35567093315494564711584477673700619091394565070804418564"
        },
        {
            "logStreamName": "2020/07/16/[$LATEST]38286939e41a47d09dcf3245af115c06",
            "timestamp": 1594883624020,
            "message": "[INFO]t2020-07-16T07:13:44.19Ztc465db9e-729c-46cb-a1cb-04e34a8a00eet## REQUEST RESPONSE SNSn",
            "ingestionTime": 1594883632835,
            "eventId": "35567093320579134616849459749970762857558391494167953413"
        },
        {
            "logStreamName": "2020/07/16/[$LATEST]38286939e41a47d09dcf3245af115c06",
            "timestamp": 1594883624020,
            "message": "[INFO]t2020-07-16T07:13:44.19Ztc465db9e-729c-46cb-a1cb-04e34a8a00eet{'MessageId': '3aac0f87-ff73-5cec-9abb-580dff1462f4', 'ResponseMetadata': {'RequestId': 'e28e907a-a4bb-5359-9a77-c7f0a4dcbd41', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'e28e907a-a4bb-5359-9a77-c7f0a4dcbd41', 'content-type': 'text/xml', 'content-length': '294', 'date': 'Thu, 16 Jul 2020 07:13:43 GMT'}, 'RetryAttempts': 0}}n",
            "ingestionTime": 1594883632835,
            "eventId": "35567093320579134616849459749970762857558391494167953414"
        },
        {
            "logStreamName": "2020/07/16/[$LATEST]38286939e41a47d09dcf3245af115c06",
            "timestamp": 1594883624022,
            "message": "END RequestId: c465db9e-729c-46cb-a1cb-04e34a8a00een",
            "ingestionTime": 1594883632835,
            "eventId": "35567093320623736107246520996253834294103688217179914247"
        },
        {
            "logStreamName": "2020/07/16/[$LATEST]38286939e41a47d09dcf3245af115c06",
            "timestamp": 1594883624022,
            "message": "REPORT RequestId: c465db9e-729c-46cb-a1cb-04e34a8a00eetDuration: 230.59 mstBilled Duration: 300 mstMemory Size: 128 MBtMax Memory Used: 72 MBtInit Duration: 311.90 mstn",
            "ingestionTime": 1594883632835,
            "eventId": "35567093320623736107246520996253834294103688217179914248"
        }
    ],
    "searchedLogStreams": [
        {
            "logStreamName": "2020/07/16/[$LATEST]38286939e41a47d09dcf3245af115c06",
            "searchedCompletely": true
        }
    ]
}