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 함수를 선택하고 세부 정보를 확인하십시오. 여기서는 이름이있는 Lambda 함수를 참조합니다.lambdaandcloudwatch. Lambda 함수에 추가 된 로그는 아래와 같이 여기에 표시됩니다.
이제 Lambda 함수에 S3 트리거를 추가하고 아래와 같이 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 지표
Lambda 함수 실행에 대한 세부 정보는 지표에서 확인할 수 있습니다. 딸깍 하는 소리Metrics 왼쪽에 표시됩니다.
람다 함수에 대한 그래프 세부 정보 lambdaandcloudwatch 다음과 같습니다-
Lambda 함수가 실행되는 기간, 호출 횟수 및 Lambda 함수의 오류와 같은 세부 정보를 제공합니다.