Cloudwatch alarmen maken voor een Lambda Functie op AWS

Er zijn verschillende invocatie metrieken, prestatie metrieken, en concurrency metrieken beschikbaar voor Lambda functies in Cloudwatch om te bewaken. Invocatie metrieken zijn het resultaat van een invocatie en binair van aard, prestatiedetails over een enkele invocatie worden gegeven door Prestatie metrieken.

  1. Invocaties– Het aantal keren dat de code van de Lambda functie wordt uitgevoerd, inclusief succesvolle uitvoeringen en mislukte uitvoeringen die in een functiefout resulteren.
  2. Fouten– Dit geeft het aantal mislukte invocaties die in een functiefout resulteren, waaronder uitzonderingen die door de Lambda code worden gegooid en uitzonderingen die door de Lambda runtime worden gegooid.
  3. DeadLetterErrors– Dit geeft het aantal keren dat Lambda probeert een gebeurtenis naar een dead-letter wachtrij te sturen, maar dat mislukt bij asynchrone aanroep.
  4. DestinationDeliveryFailures– Dit geeft het aantal keren dat Lambda een gebeurtenis naar een bestemming probeert te sturen, maar faalt voor asynchrone aanroep.
  5. Throttles– Dit geeft het aantal invocaties dat gesmoord wordt.
  6. ProvisionedConcurrencyInvocations– Dit geeft het aantal keren dat de code van de Lambda functie wordt uitgevoerd op provisioned concurrency.
  7. ProvisionedConcurrencySpilloverInvocations– Dit geeft het aantal keren dat de Lambda functiecode wordt uitgevoerd op standaard concurrency wanneer alle provisioned concurrency in gebruik is.
  8. Duur– Dit geeft de hoeveelheid tijd die de Lambda functiecode besteedt aan het verwerken van een gebeurtenis.
  9. PostRuntimeExtensionsDuration – Dit is de cumulatieve hoeveelheid tijd die de Lambda functie-runtime besteedt aan het uitvoeren van code voor uitbreidingen nadat de functiecode is voltooid.
  10. IteratorAge– Dit is de leeftijd van het laatste record in de gebeurtenis voor gebeurtenisbron-appings die van streams lezen.
  11. ConcurrentExecutions– Dit geeft het aantal Lambda functie-instanties dat gebeurtenissen verwerkt.
  12. ProvisionedConcurrentExecutions– Dit geeft het aantal Lambda-functie-instanties die gebeurtenissen verwerken op provisioned concurrency.
  13. ProvisionedConcurrencyUtilization– Dit geeft de waarde van ProvisionedConcurrentExecutions gedeeld door de totale hoeveelheid provisioned concurrency die voor een versie of alias is toegekend.
  14. UnreservedConcurrentExecutions– Dit geeft het aantal gebeurtenissen dat verwerkt wordt door Lambda functies die geen gereserveerde concurrency hebben.

Klikhier om meer te weten te komen over de meetgegevens die voor Lambda functies beschikbaar zijn.

In dit artikel zullen we een alarm maken voor de metriek “Invocations” dat een melding naar het SNS onderwerp zal sturen als het getriggerd wordt. Voor we verder gaan, wordt aangenomen dat je bekend bent met Lambda functies en SNS onderwerpen. Ook wordt aangenomen dat je al een Lambda functie en een SNS topic hebt.

Pre-requisites

  1. AWS Account(Maak aan als je er nog geen hebt).
  2. Lambda functie(Klikhier om te leren hoe je een Lambda functie maakt om een EC2 instantie te starten en te stoppen).
  3. SNS Topic(Klikhier om te leren hoe je een SNS Topic maakt met Cloudformation)

Wat zullen we doen?

  1. Log in op AWS.
  2. Maak een alarm voor de bestaande Lambda functie.

Inloggen op AWS

Klikhier om naar de AWS login pagina te gaan.

Je krijgt de login pagina als volgt te zien als je op de bovenstaande link klikt. Voer je credentials in om in te loggen op je AWS account.

Inlogscherm

Je ziet de hoofd AWS Management Console als volgt als je met succes op je account bent ingelogd.

AWS Beheerconsole

Maak een alarm voor de bestaande Lambda functie

Om een alarm te maken voor een bestaande Lambda functie ga je naar het Cloudwatch dashboard. Zoek naar Cloudwatch in het zoekvak bovenaan het scherm.

Zoek in Cloudwatch

Je ziet het overzichtsscherm van Cloudwatch als volgt. Klik op “Alarms” in het linker paneel.

Dashboard van Cloudwatch

Als je bestaande alarmen in je account hebt onder de gekozen regio, zie je ze hier. Om een nieuw alarm te maken voor een bestaande lambda functie klik je op de knop “Create alarm”.

Alarmscherm

Je krijgt een scherm om een metriek en voorwaarden op te geven. Klik op de knop “Select metric”.

Specificeer metriek en voorwaarden

Hier vind je diensten met metrieken die ervoor beschikbaar zijn.

Kies metriek

Filter de metrics op Lambda. Nu zie je metrics die beschikbaar zijn voor Lambda functies. Klik op “Lambda > By Function Name”.

Blader door Lambda

Kies een van de metrics die beschikbaar zijn voor de bestaande lambda functies. Hier ga ik verder met de metriek “Invocations”. Klik op de “Select metric” om verder te gaan.

Kies metriek

Kies Statistiek, Drempeltype, Alarmtoestand en Drempelwaarde. Hier zal het alarm afgaan als de Steekproeftelling van de Invocations gedurende 5 minuten groter is dan 1.

Specificeer metriek en voorwaarden

Kies de Alarmtoestand trigger en het SNS onderwerp. Hier zal het alarm in de “In alarm” toestand overgaan als het getriggerd wordt en een melding sturen naar het opgegeven SNS onderwerp.

Configureer acties

Voeg naam en beschrijving toe aan het te maken alarm en klik op de knop “Next” om verder te gaan.

Voeg naam en beschrijving toe

Bekijk alle configuraties en klik op de knop “Create alarm” als alles er goed uitziet.

Bekijk en maak

Als het alarm gemaakt is zie je het onder het “Alarms” console. De toestand van het alarm verandert op basis van de conditie en de drempel.

Waarschuwing in de toestand Ok

Conclusie

In dit artikel maakten we een alarm van de bestaande Lambda functie om de “Invocations” metriek te bewaken. Het alarm dat we maakten wordt getriggerd als “Sample count” gedurende “5 minuten” “Greater” is dan drempelwaarde “1” en stuurt een melding naar het abonnement in het SNS onderwerp. Je kunt nu dezelfde stappen gebruiken om alarmen te maken voor verschillende metrieken, statistieken, en drempels.