Giám sát và Khắc phục sự cố bằng Cloudwatch
Các chức năng được tạo trong AWS Lambda được giám sát bởi Amazon CloudWatch. Nó giúp ghi lại tất cả các yêu cầu được thực hiện cho hàm Lambda khi nó được kích hoạt.
Hãy xem xét rằng mã sau được tải lên trong AWS Lambda với tên hàm là lambda and cloudwatch.
exports.handler = (event, context, callback) => {
// TODO implement
console.log("Lambda monitoring using amazon cloudwatch");
callback(null, 'Hello from Lambda');
};
Khi chức năng được kiểm tra hoặc kích hoạt, bạn sẽ thấy một mục nhập trong Cloudwatch. Với mục đích này, hãy truy cập dịch vụ AWS và nhấp vào CloudWatch.
Chọn nhật ký từ phía bên trái.
Khi bạn nhấp vào Logs, nó có Log Groupscủa hàm AWS Lambda được tạo trong tài khoản của bạn. Chọn bất kỳ chức năng nào củaAWS Lambda và kiểm tra chi tiết. Ở đây, chúng tôi đang đề cập đến hàm Lambda với tên:lambdaandcloudwatch. Các bản ghi được thêm vào hàm Lambda được hiển thị ở đây như hình dưới đây -
Bây giờ, chúng ta hãy thêm trình kích hoạt S3 vào chức năng Lambda và xem chi tiết nhật ký trong CloudWatch như hình dưới đây:
Hãy để chúng tôi cập nhật mã AWS Lambda để hiển thị tệp đã tải lên và tên nhóm như được hiển thị trong mã được cung cấp bên dưới -
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');
};
Bây giờ, hãy thêm tệp vào s3storetestlambdaEventbucket như hình -
Khi tệp được tải lên, các chức năng AWS Lambda sẽ được kích hoạt và thông báo nhật ký bảng điều khiển từ mã Lambda được hiển thị trong CloudWatch như hình dưới đây:
Nếu có bất kỳ lỗi nào, CloudWatch đưa ra thông tin chi tiết về lỗi như hình dưới đây -
Lưu ý rằng chúng tôi đã gọi sai tên nhóm trong mã AWS Lambda như được hiển thị:
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');
};
Tham chiếu tên nhóm từ sự kiện bị sai. Do đó, chúng ta sẽ thấy một lỗi hiển thị trong CloudWatch như hình dưới đây -
Số liệu CloudWatch
Bạn có thể xem chi tiết về việc thực thi hàm Lambda trong số liệu. Nhấp chuộtMetrics hiển thị ở phía bên trái.
Chi tiết đồ thị cho hàm lambda lambdaandcloudwatch như hình dưới đây -
Nó cung cấp thông tin chi tiết như khoảng thời gian hàm Lambda được thực thi, số lần nó được gọi và các lỗi từ hàm Lambda.