การตรวจสอบและการแก้ไขปัญหาโดยใช้ 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 ที่สร้างขึ้นในบัญชีของคุณ เลือกฟังก์ชัน anyAWS Lambda และตรวจสอบรายละเอียด ในที่นี้เรากำลังอ้างถึงฟังก์ชัน Lambda พร้อมชื่อ:lambdaandcloudwatch. บันทึกที่เพิ่มในฟังก์ชัน Lambda จะแสดงที่นี่ดังแสดงด้านล่าง -
ตอนนี้ให้เราเพิ่มทริกเกอร์ 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
รายละเอียดของการเรียกใช้ฟังก์ชัน Lambda สามารถดูได้ในเมตริก คลิกMetrics แสดงที่ด้านซ้าย
รายละเอียดกราฟสำหรับฟังก์ชันแลมบ์ดา lambdaandcloudwatch มีดังรูปด้านล่าง -
จะให้รายละเอียดเช่นระยะเวลาที่เรียกใช้ฟังก์ชัน Lambda จำนวนครั้งที่เรียกใช้และข้อผิดพลาดจากฟังก์ชันแลมด้า