Функции, созданные в AWS Lambda, отслеживаются Amazon CloudWatch. Это помогает регистрировать все запросы к функции Lambda, когда она запускается.
Учтите, что следующий код загружен в AWS Lambda с именем функции lambda и cloudwatch .
exports.handler = (event, context, callback) => { // TODO implement console.log("Lambda monitoring using amazon cloudwatch"); callback(null, 'Hello from Lambda'); };
Когда функция будет протестирована или запущена, вы должны увидеть запись в Cloudwatch. Для этого перейдите в сервисы AWS и нажмите CloudWatch.
Выберите журналы с левой стороны.
Когда вы нажимаете « Журналы» , в вашей учетной записи создается функция « Группы журналов» AWS Lambda. Выберите любую функцию AWS Lambda и проверьте детали. Здесь мы ссылаемся на лямбда-функцию с именем: lambdaandcloudwatch . Журналы, добавленные в функцию Lambda, отображаются здесь, как показано ниже —
Теперь давайте добавим триггер S3 к функции Lambda и посмотрим подробности журналов в CloudWatch, как показано ниже:
Давайте обновим лямбда-код AWS для отображения загруженного файла и имени сегмента, как показано в приведенном ниже коде —
exports.handler = (event, context, callback) => { // TODO implement console.log("Lambda monitoring using amazon cloudwatch"); const bucket = event.Records[0].s3.bucket.name; const filename = event.Records[0].s3.object.key; const message = `File is uploaded in - ${bucket} -> ${filename}`; console.log(message); callback(null, 'Hello from Lambda'); };
Теперь добавьте файл в s3storetestlambdaEventbucket, как показано на рисунке —
Когда файл загружен, запускаются функции AWS Lambda, и сообщения консольного журнала из лямбда-кода отображаются в CloudWatch, как показано ниже —
Если есть какая-либо ошибка, CloudWatch выдает подробности ошибки, как показано ниже —
Обратите внимание, что мы неправильно указали имя сегмента в лямбда-коде AWS, как показано ниже.
exports.handler = (event, context, callback) => { // TODO implement console.log("Lambda monitoring using amazon cloudwatch"); const bucket = event.Records[0].bucket.name; const filename = event.Records[0].s3.object.key; const message = `File is uploaded in - ${bucket} -> ${filename}`; console.log(message); callback(null, 'Hello from Lambda'); };
Ссылка на имя корзины из события неверна. Таким образом, мы должны увидеть ошибку, отображаемую в CloudWatch, как показано ниже —
CloudWatch Metrics
Подробности выполнения лямбда-функции можно увидеть в метриках. Нажмите Метрики, отображаемые в левой части.
Детали графика для лямбда-функции lambdaandcloudwatch приведены ниже:
В нем приводятся такие сведения, как продолжительность, в течение которой выполняется лямбда-функция, количество ее вызовов и ошибки из лямбда-функции.