Мониторинг и устранение неисправностей с помощью 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 как показано ниже -
В нем приводятся такие подробности, как продолжительность, в течение которой выполняется лямбда-функция, количество ее вызовов и ошибки, связанные с лямбда-функцией.