Monitorowanie i rozwiązywanie problemów za pomocą Cloudwatch

Funkcje stworzone w AWS Lambda są monitorowane przez Amazon CloudWatch. Pomaga w rejestrowaniu wszystkich żądań wysyłanych do funkcji Lambda, gdy jest ona wyzwalana.

Weź pod uwagę, że następujący kod został przesłany do AWS Lambda z nazwą funkcji jako lambda and cloudwatch.

exports.handler = (event, context, callback) => {
   // TODO implement
   console.log("Lambda monitoring using amazon cloudwatch");    
   callback(null, 'Hello from Lambda');
};

Kiedy funkcja jest testowana lub uruchamiana, powinieneś zobaczyć wpis w Cloudwatch. W tym celu przejdź do usług AWS i kliknij CloudWatch.

Wybierz dzienniki z lewej strony.

Po kliknięciu Logs, ma Log Groupsfunkcji AWS Lambda utworzonej na Twoim koncie. Wybierz dowolną funkcję AWS Lambda i sprawdź szczegóły. Tutaj odnosimy się do funkcji Lambda o nazwie:lambdaandcloudwatch. Dzienniki dodane do funkcji Lambda są wyświetlane tutaj, jak pokazano poniżej -

Teraz dodajmy wyzwalacz S3 do funkcji Lambda i zobaczmy szczegóły dzienników w CloudWatch, jak pokazano poniżej -

Zaktualizujmy kod AWS Lambda, aby wyświetlić przesłany plik i nazwę zasobnika, jak pokazano w kodzie podanym poniżej -

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');
};

Teraz dodaj plik s3storetestlambdaEventbucket jak pokazano -

Po załadowaniu pliku uruchomione zostaną funkcje AWS Lambda, a komunikaty dziennika konsoli z kodu Lambda zostaną wyświetlone w CloudWatch, jak pokazano poniżej -

Jeśli wystąpi jakikolwiek błąd, CloudWatch podaje szczegóły błędu, jak pokazano poniżej -

Zauważ, że błędnie odnieśliśmy się do nazwy zasobnika w kodzie AWS Lambda, jak pokazano -

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');
};

Odwołanie do nazwy zasobnika ze zdarzenia jest nieprawidłowe. Dlatego powinniśmy zobaczyć błąd wyświetlany w CloudWatch, jak pokazano poniżej -

CloudWatch Metrics

Szczegóły wykonania funkcji Lambda można zobaczyć w metrykach. KliknijMetrics wyświetlane po lewej stronie.

Szczegóły wykresu funkcji lambda lambdaandcloudwatch są jak pokazano poniżej -

Zawiera szczegółowe informacje, takie jak czas trwania, przez który funkcja Lambda jest wykonywana, ile razy jest wywoływana oraz błędy z funkcji Lambda.