Cloudwatch kullanarak İzleme ve Sorun Giderme
AWS Lambda'da oluşturulan işlevler Amazon CloudWatch tarafından izlenir. Lambda işlevi tetiklendiğinde yapılan tüm istekleri günlüğe kaydetmeye yardımcı olur.
Aşağıdaki kodun AWS Lambda'ya şu işlev adıyla yüklendiğini göz önünde bulundurun: lambda and cloudwatch.
exports.handler = (event, context, callback) => {
// TODO implement
console.log("Lambda monitoring using amazon cloudwatch");
callback(null, 'Hello from Lambda');
};
İşlev test edildiğinde veya tetiklendiğinde, Cloudwatch'ta bir giriş görmelisiniz. Bu amaçla AWS hizmetlerine gidin ve CloudWatch'a tıklayın.
Sol taraftan günlükleri seçin.
Tıkladığınızda Logs, sahip Log Groupshesabınızda oluşturulan AWS Lambda işlevi. Herhangi bir AWS Lambda işlevini seçin ve ayrıntıları kontrol edin. Burada, adla Lambda işlevinden bahsediyoruz:lambdaandcloudwatch. Lambda işlevine eklenen günlükler aşağıda gösterildiği gibi burada görüntülenir -
Şimdi, Lambda işlevine S3 tetikleyicisi ekleyelim ve aşağıda gösterildiği gibi CloudWatch'taki günlük ayrıntılarını görelim -
Yüklenen dosyayı ve paket adını aşağıda verilen kodda gösterildiği gibi görüntülemek için AWS Lambda kodunu güncelleyelim -
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');
};
Şimdi, içine dosya ekle s3storetestlambdaEventbucket gösterildiği gibi -
Dosya yüklendiğinde, AWS Lambda işlevleri tetiklenir ve Lambda kodundan gelen konsol günlük mesajları, aşağıda gösterildiği gibi CloudWatch'ta görüntülenir -
Herhangi bir hata varsa, CloudWatch hata ayrıntılarını aşağıda gösterildiği gibi verir -
AWS Lambda kodunda, gösterildiği gibi paket adına yanlış bir şekilde değindiğimizi unutmayın -
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');
};
Etkinlikteki paket adı referansı yanlış. Bu nedenle, aşağıda gösterildiği gibi CloudWatch'ta görüntülenen bir hatayı görmeliyiz -
CloudWatch Metrikleri
Lambda işlevinin çalıştırılmasına ilişkin ayrıntılar metriklerde görülebilir. TıklayınMetrics sol tarafta görüntülenir.
Lambda işlevi için grafik ayrıntıları lambdaandcloudwatch aşağıda gösterildiği gibidir -
Lambda işlevinin çalıştırılma süresi, çalıştırılma sayısı ve Lambda işlevinden kaynaklanan hatalar gibi ayrıntıları verir.