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.