Мониторинг и устранение неисправностей с помощью Cloudwatch

Функции, созданные в AWS Lambda, отслеживаются Amazon CloudWatch. Это помогает регистрировать все запросы к функции Lambda, когда она запускается.

Учтите, что следующий код загружен в AWS Lambda с именем функции как lambda and cloudwatch.

exports.handler = (event, context, callback) => {
   // TODO implement
   console.log("Lambda monitoring using amazon cloudwatch");    
   callback(null, 'Hello from Lambda');
};

Когда функция проверяется или запускается, вы должны увидеть запись в Cloudwatch. Для этого перейдите в сервисы AWS и нажмите CloudWatch.

Выберите журналы с левой стороны.

Когда вы нажимаете Logs, он имеет Log Groupsфункции AWS Lambda, созданной в вашем аккаунте. Выберите любую функцию AWS Lambda и проверьте подробности. Здесь мы имеем в виду лямбда-функцию с именем:lambdaandcloudwatch. Журналы, добавленные к функции лямбда, отображаются здесь, как показано ниже -

Теперь давайте добавим триггер S3 к функции Lambda и посмотрим подробности журналов в CloudWatch, как показано ниже -

Давайте обновим код AWS Lambda, чтобы отобразить загруженный файл и имя сегмента, как показано в приведенном ниже коде -

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, и сообщения журнала консоли из кода Lambda отображаются в CloudWatch, как показано ниже:

Если есть какая-либо ошибка, CloudWatch предоставляет подробную информацию об ошибке, как показано ниже -

Обратите внимание, что мы неправильно указали имя сегмента в коде AWS Lambda, как показано:

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 как показано ниже -

В нем приводятся такие подробности, как продолжительность, в течение которой выполняется лямбда-функция, количество ее вызовов и ошибки, связанные с лямбда-функцией.