Monitoreo y resolución de problemas con Cloudwatch
Amazon CloudWatch supervisa las funciones creadas en AWS Lambda. Ayuda a registrar todas las solicitudes realizadas a la función Lambda cuando se activa.
Tenga en cuenta que el siguiente código se carga en AWS Lambda con el nombre de función como lambda and cloudwatch.
exports.handler = (event, context, callback) => {
// TODO implement
console.log("Lambda monitoring using amazon cloudwatch");
callback(null, 'Hello from Lambda');
};
Cuando la función se prueba o se activa, debería ver una entrada en Cloudwatch. Para ello, vaya a los servicios de AWS y haga clic en CloudWatch.
Seleccione los registros del lado izquierdo.
Cuando haces clic Logs, tiene el Log Groupsde la función AWS Lambda creada en su cuenta. Seleccione cualquier función AWS Lambda y verifique los detalles. Aquí, nos referimos a la función Lambda con nombre:lambdaandcloudwatch. Los registros agregados a la función Lambda se muestran aquí como se muestra a continuación:
Ahora, agreguemos el disparador S3 a la función Lambda y veamos los detalles de los registros en CloudWatch como se muestra a continuación:
Actualicemos el código de AWS Lambda para mostrar el archivo cargado y el nombre del depósito como se muestra en el código que se proporciona a continuación:
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');
};
Ahora, agregue el archivo en s3storetestlambdaEventbucket como se muestra -
Cuando se carga el archivo, las funciones de AWS Lambda se activan y los mensajes de registro de la consola del código Lambda se muestran en CloudWatch como se muestra a continuación:
Si hay algún error, CloudWatch proporciona los detalles del error como se muestra a continuación:
Tenga en cuenta que nos hemos referido al nombre del depósito de forma incorrecta en el código AWS Lambda como se muestra:
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');
};
La referencia del nombre del depósito del evento es incorrecta. Por lo tanto, deberíamos ver un error que se muestra en CloudWatch como se muestra a continuación:
Métricas de CloudWatch
Los detalles de la ejecución de la función Lambda se pueden ver en las métricas. Hacer clicMetrics mostrado en el lado izquierdo.
Los detalles del gráfico para la función lambda lambdaandcloudwatch son como se muestra a continuación -
Proporciona detalles como la duración durante la cual se ejecuta la función Lambda, la cantidad de veces que se invoca y los errores de la función Lambda.