

# REL06-BP03 Invio di notifiche (elaborazione e avvisi in tempo reale)
<a name="rel_monitor_aws_resources_notification_monitor"></a>

Quando le organizzazioni rilevano potenziali problemi, inviano notifiche e avvisi in tempo reale ai team e ai sistemi appropriati per rispondere rapidamente ed efficacemente alle difficoltà.

 **Risultato desiderato:** è possibile rispondere rapidamente agli eventi operativi attraverso la configurazione di allarmi pertinenti in base ai parametri del servizio e dell’applicazione. Quando la soglia degli allarmi viene superata, i team e i sistemi appropriati vengono informati in modo che possano risolvere i problemi sottostanti. 

 **Anti-pattern comuni:** 
+ Configuri gli allarmi con una soglia eccessivamente alta, con conseguente mancato invio di notifiche importanti.
+ Configuri gli allarmi con una soglia troppo bassa, con il risultato che gli avvisi importanti non vengono presi in considerazione a causa del numero eccessivo di notifiche generate.
+  Non aggiorni gli allarmi e la relativa soglia quando cambia l’utilizzo. 
+  Per gli allarmi gestiti meglio tramite le azioni automatizzate, l’invio della notifica ai team anziché l’attivazione dell’azione automatizzata comporta la generazione di un numero eccessivo di notifiche. 

 **Vantaggi dell’adozione di questa best practice:** l’invio di notifiche e avvisi in tempo reale ai team e ai sistemi appropriati consente di individuare tempestivamente i problemi e di rispondere rapidamente agli incidenti operativi. 

 **Livello di rischio associato se questa best practice non fosse adottata:** elevato 

## Guida all’implementazione
<a name="implementation-guidance"></a>

 I carichi di lavoro devono essere dotati di sistemi di elaborazione e allarme in tempo reale per migliorare l’identificazione dei problemi che possono influire sulla disponibilità dell’applicazione e fungere da trigger per la risposta automatizzata. Le organizzazioni possono eseguire un sistema di elaborazione e allarme in tempo reale creando avvisi con parametri definiti in modo da ricevere le notifiche ogni volta che si verificano eventi significativi o un parametro supera una determinata soglia. 

 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) consente di creare allarmi di [parametri](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) e compositi mediante gli allarmi CloudWatch basati su soglie statiche, rilevamento di anomalie e altri criteri. Per ulteriori informazioni sui tipi di allarmi configurabili mediante CloudWatch, consulta la [sezione sugli allarmi della documentazione di CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html). 

 Puoi creare per i tuoi team visualizzazioni personalizzate dei parametri e degli avvisi delle risorse AWS utilizzando i [pannelli di controllo di CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). Le home page personalizzabili nella console di CloudWatch consentono di monitorare le risorse di più regioni in un’unica visualizzazione. 

 Gli allarmi possono eseguire una o più azioni, come inviare una notifica a un [argomento Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html), eseguendo un’azione [Amazon EC2](https://aws.amazon.com/ec2/) o un’azione [Amazon EC2 Auto Scaling](https://aws.amazon.com/ec2/autoscaling/) oppure [creando un OpsItem](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-create-OpsItems-from-CloudWatch-Alarms.html) o un [incidente](https://docs.aws.amazon.com/incident-manager/latest/userguide/incident-creation.html) in AWS Systems Manager. 

 Amazon CloudWatch utilizza [Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) per inviare le notifiche quando l’allarme cambia stato, con la distribuzione dei messaggi degli editori (produttori) agli abbonati (consumatori). Per ulteriori informazioni sulla configurazione delle notifiche di Amazon SNS, consulta [Configuring Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-configuring.html). 

 CloudWatch invia [eventi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-and-eventbridge.html) [EventBridge](https://aws.amazon.com/eventbridge/) ogni volta che un allarme CloudWatch viene creato, aggiornato, eliminato o cambia stato. Puoi usare EventBridge con questi eventi per creare le regole che eseguono le azioni, come avvisare ogni volta che lo stato di un allarme cambia o attivare automaticamente gli eventi nel tuo account tramite l’[automazione di Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html). 

 Con [AWS Health](https://aws.amazon.com/premiumsupport/technology/aws-health/) si rimane sempre aggiornati. AWS Health è la fonte autorevole di informazioni sull’integrità delle risorse Cloud AWS. AWS Health consente di ricevere le notifiche in caso di eventi del servizio confermati, in modo da poter adottare rapidamente le misure necessarie per mitigare qualsiasi impatto. Si creano notifiche di eventi AWS Health personalizzati per i canali e-mail e chat con [Notifiche all'utente AWS](https://docs.aws.amazon.com/notifications/latest/userguide/what-is-service.html) e si usano [gli strumenti di monitoraggio e avviso con Amazon EventBridge](https://docs.aws.amazon.com/health/latest/ug/cloudwatch-events-health.html) per l’integrazione a livello di codice. Se si utilizza AWS Organizations, è possibile aggregare gli eventi AWS Health tra gli account. 

** Quando utilizzare EventBridge o Amazon SNS? **

 EventBridge e Amazon SNS possono entrambi essere utilizzati per sviluppare applicazioni basate su eventi e la scelta dipende dalle tue esigenze specifiche. 

 Amazon EventBridge è consigliato per creare applicazioni che reagiscano agli eventi delle applicazioni, delle applicazioni SaaS e dei servizi AWS. EventBridge è l’unico servizio basato su eventi integrato direttamente con partner SaaS di terze parti. EventBridge inoltre acquisisce automaticamente eventi da oltre 200 servizi AWS senza che gli sviluppatori debbano creare risorse negli account. 

 EventBridge utilizza una struttura definita basata su JSON per gli eventi e consente di creare regole applicate all’intero corpo dell’evento per selezionare gli eventi da inoltrare alle [destinazioni](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html). EventBridge supporta al momento oltre 20 servizi AWS come destinazione, tra cui [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html), [Amazon SQS](https://aws.amazon.com/sqs/), Amazon SNS, [flusso di dati Amazon Kinesis](https://aws.amazon.com/kinesis/data-streams/) e [Amazon Data Firehose](https://aws.amazon.com/kinesis/data-firehose/). 

 Amazon SNS è consigliato per le applicazioni che richiedono un fan-out elevato (migliaia o milioni di endpoint). Di solito i clienti utilizzano Amazon SNS come destinazione della regola per filtrare gli eventi di cui hanno bisogno e sottoporli al fan-out su più endpoint. 

 I messaggi non sono strutturati e possono assumere qualsiasi formato. Amazon SNS consente di inoltrare messaggi a sei diversi tipi di destinazioni, tra cui Lambda, Amazon SQS, endpoint HTTP/S, SMS, push mobile ed e-mail. La latenza tipica di Amazon SNS è [inferiore a 30 millisecondi](https://aws.amazon.com/sns/faqs/). Un’ampia gamma di servizi AWS invia i messaggi Amazon SNS definendo la configurazione appropriata (più di 30, inclusi, Amazon EC2, [Amazon S3](https://aws.amazon.com/s3/) e [Amazon RDS](https://aws.amazon.com/rds/)). 

### Passaggi dell’implementazione
<a name="implementation-steps"></a>

1.  Crea un allarme mediante gli [allarmi di Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html). 

   1.  Un allarme di parametri monitora un singolo parametro CloudWatch o un’espressione dipendente dai parametri CloudWatch. L’allarme avvia una o più azioni in base al valore del parametro o dell’espressione rispetto a una soglia, per un determinato numero di intervalli di tempo. L’azione può consistere nell’inviare una notifica a un [argomento Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html), nell’esecuzione di un’azione [Amazon EC2](https://aws.amazon.com/ec2/) o un’azione [Amazon EC2 Auto Scaling](https://aws.amazon.com/ec2/autoscaling/) oppure nella [creazione di un OpsItem](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-create-OpsItems-from-CloudWatch-Alarms.html) o di un [incidente](https://docs.aws.amazon.com/incident-manager/latest/userguide/incident-creation.html) in AWS Systems Manager. 

   1.  Un allarme composito è costituito da un’espressione di regola che considera le condizioni di altri allarmi che hai creato. L’allarme composito entra in stato di allarme solo se tutte le condizioni della regola sono soddisfatte. Gli allarmi specificati nell'espressione di regola di un allarme composito possono includere allarmi di parametri e allarmi compositi aggiuntivi. Gli allarmi compositi possono inviare notifiche di Amazon SNS quando cambiano stato e possono creare oggetti [OpsItem](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-create-OpsItems-from-CloudWatch-Alarms.html) di Systems Manager o [incidenti](https://docs.aws.amazon.com/incident-manager/latest/userguide/incident-creation.html) quando passano allo stato di allarme, ma non possono eseguire azioni EC2 o azioni Auto Scaling. 

1.  Configura le [notifiche di Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html). Quando si crea un allarme CloudWatch, è possibile includere un argomento Amazon SNS per inviare una notifica quando l’allarme cambia stato. 

1.  [Crea regole in EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-get-started.html) corrispondenti agli allarmi CloudWatch specificati. Ogni regola supporta più destinazioni, incluse le funzioni Lambda. Ad esempio, è possibile definire un allarme che si attiva quando lo spazio disponibile su disco si sta esaurendo, il che attiva una funzione Lambda tramite una regola EventBridge per ripulire lo spazio. Per ulteriori informazioni sulle destinazioni EventBridge, consulta [EventBridge targets](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html). 

## Risorse
<a name="resources"></a>

 **Best practice Well-Architected correlate:** 
+  [REL06-BP01 Monitoraggio di tutti i componenti per il carico di lavoro (generazione)](rel_monitor_aws_resources_monitor_resources.md) 
+  [REL06-BP02 Definizione e calcolo dei parametri (aggregazione)](rel_monitor_aws_resources_notification_aggregation.md) 
+  [REL12-BP01 Utilizzo dei playbook per analizzare gli errori](rel_testing_resiliency_playbook_resiliency.md) 

 **Documenti correlati:** 
+ [ Amazon CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)
+ [ CloudWatch Logs insights ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html)
+  [Using Amazon CloudWatch alarms](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) 
+  [Using Amazon CloudWatch dashboards](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) 
+  [Using Amazon CloudWatch metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) 
+ [ Impostazione delle notifiche Amazon SNS ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html)
+ [ CloudWatch anomaly detection ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Anomaly_Detection.html)
+ [ Protezione dei dati di CloudWatch Logs ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/protect-sensitive-log-data-types.html)
+ [ Amazon EventBridge ](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html)
+ [ Amazon Simple Notification Service ](https://aws.amazon.com/sns/)

 **Video correlati:** 
+ [ Video sull’osservabilità reinvent ](https://www.youtube.com/results?search_query=reinvent+2022+observability)
+ [AWS re:Invent 2022 - Observability best practices at Amazon ](https://www.youtube.com/watch?v=zZPzXEBW4P8)

 **Esempi correlati:** 
+  [One Observability Workshop](https://observability.workshop.aws/) 
+ [ Amazon EventBridge to AWS Lambda with feedback control by Amazon CloudWatch Alarms ](https://serverlessland.com/patterns/cdk-closed-loop-serverless-control-pattern)