

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Avvisi in Amazon EKS
<a name="alerting"></a>

Gli avvisi sono un componente fondamentale per la gestione e la manutenzione delle applicazioni eseguite su Amazon EKS. Funge da sistema di allarme rapido che notifica a operatori e sviluppatori potenziali problemi, anomalie o peggioramenti delle prestazioni prima che si trasformino in problemi gravi che potrebbero influire sulla disponibilità del servizio o sull'esperienza dell'utente. L'invio di avvisi implica il monitoraggio di vari aspetti del cluster Kubernetes, tra cui:
+ Stato dell'infrastruttura
+ Prestazioni delle applicazioni
+ Parametri dei container
+ Metriche aziendali personalizzate

L'efficacia degli avvisi in Amazon EKS va oltre la semplice configurazione delle notifiche. Richiede una well-thought-out strategia che bilanci la necessità di informazioni tempestive con il potenziale rischio di sovraccarico. Questa strategia dovrebbe:
+ Definire soglie e condizioni significative.
+ Assegna priorità agli avvisi in base alla gravità e all'impatto.
+ Implementa procedure di routing ed escalation adeguate.
+ Integrazione con gli strumenti di gestione e comunicazione degli incidenti.

**Topics**
+ [Tools (Strumenti)](alerting-tools.md)
+ [Best practice](alerting-best-practices.md)

# Strumenti di avviso per Amazon EKS
<a name="alerting-tools"></a>

Amazon EKS supporta diverse opzioni AWS di terze parti per l'implementazione degli avvisi. Quando scegli uno strumento per gli avvisi di Amazon EKS, prendi in considerazione fattori quali capacità di integrazione, scalabilità, facilità d'uso, costi e funzionalità specifiche in linea con i tuoi requisiti di monitoraggio e avviso. Molte organizzazioni utilizzano una combinazione di questi strumenti per creare una soluzione completa di monitoraggio e avviso per i propri ambienti Amazon EKS.
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html): **Servizio AWS **per il monitoraggio e l'osservabilità

  CloudWatch fornisce metriche, registri e allarmi per i cluster EKS e si integra bene con altri. Servizi AWS
+ [Prometheus](https://docs.aws.amazon.com/eks/latest/userguide/deploy-prometheus.html): strumento di monitoraggio e avviso open source per Kubernetes

  Prometheus fornisce un potente linguaggio di interrogazione (PromQL) per definire le condizioni di avviso.
+ [Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/): complemento di Prometheus per la gestione degli avvisi

  Alertmanager fornisce la deduplicazione, il raggruppamento e il routing degli avvisi. Supporta vari canali di notifica, tra cui e-mail, Slack e. PagerDuty
+ [Grafana](https://aws.amazon.com/grafana/): piattaforma open source per il monitoraggio e l'osservabilità

  Grafana offre funzionalità di visualizzazione e avviso. Può integrarsi con varie fonti di dati, tra cui Prometheus e. CloudWatch
+ [Elastic Stack (ELK Stack): combinazione di Elasticsearch, Logstash](https://aws.amazon.com/what-is/elk-stack/) e Kibana

  Questo strumento è utile per l'aggregazione, l'analisi e l'invio di avvisi dei log. Può essere esteso con le funzionalità di osservabilità di Elastic.
+ Soluzioni di terze parti

  Sul mercato sono disponibili molti strumenti, tra cui Datadog, New Relic, Sysdig, Dynatrace, Zabbix, Nagios, Splunk, IBM Instana e. AppDynamics

# Le migliori pratiche per la generazione di avvisi in Amazon EKS
<a name="alerting-best-practices"></a>

Questa sezione descrive le migliori pratiche per creare un solido sistema di avvisi che migliori l'affidabilità e le prestazioni delle applicazioni basate su Kubernetes in Amazon EKS.

Definisci soglie di avviso chiare:
+ Imposta soglie significative basate su dati storici e requisiti aziendali.
+ Utilizza soglie dinamiche laddove appropriato per tenere conto dei diversi carichi di lavoro.

Implementa la prioritizzazione degli avvisi:
+ Categorizza gli avvisi in base alla gravità (ad esempio, critico, alto, medio, basso).
+ Allinea le priorità degli avvisi all'impatto aziendale.

Evita l'affaticamento da allarme:
+ Riduci il rumore eliminando gli avvisi ridondanti o di basso valore.
+ Correla gli avvisi ai problemi relativi al gruppo.

Usa avvisi in più fasi:
+ Implementa soglie di avviso prima che vengano raggiunti i livelli critici.
+ Utilizza canali di notifica diversi per livelli di gravità degli avvisi diversi.

Implementa il routing corretto degli avvisi:
+ Assicurati che gli avvisi vengano inviati ai team o alle persone giuste.
+ Utilizza gli orari e le rotazioni di chiamata per una copertura completa e giornaliera.

Sfrutta le metriche native di Kubernetes:
+ Monitora i componenti principali di Kubernetes (nodi, pod, servizi).
+ Usa [kube-state-metrics (KSM)](https://github.com/kubernetes/kube-state-metrics) per metriche aggiuntive degli oggetti Kubernetes.

Monitora sia l'infrastruttura che le applicazioni:
+ Imposta avvisi per lo stato del cluster, lo stato dei nodi e l'utilizzo delle risorse.
+ Implementa avvisi specifici dell'applicazione, ad esempio tassi di errore e latenza.

Usa Prometheus e Alertmanager:
+ Usa Prometheus per la raccolta delle metriche e PromQL per definire le condizioni di avviso.
+ Usa Alertmanager per il routing e la deduplicazione degli avvisi.

Integrazione con Amazon CloudWatch:
+ Usa [CloudWatchContainer Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContainerInsights.html) per i parametri specifici di Amazon EKS.
+ Imposta [CloudWatchallarmi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) per i parametri critici delle risorse. AWS 

Implementa avvisi contestuali:
+ Includi informazioni pertinenti nei messaggi di avviso, come il nome del cluster, lo spazio dei nomi e i dettagli del pod.
+ Fornisci collegamenti a dashboard o runbook pertinenti negli avvisi.

Usa il rilevamento delle anomalie:
+ Implementa il rilevamento delle anomalie basato sull'apprendimento automatico per modelli complessi.
+ Utilizza servizi come il rilevamento delle CloudWatch anomalie o strumenti di terze parti.

Implementa la soppressione e il silenziamento degli avvisi:
+ Consenti la soppressione temporanea dei problemi noti.
+ Implementa finestre di manutenzione per ridurre il rumore durante i periodi di inattività pianificati.

Monitora le prestazioni degli avvisi:
+ Tieni traccia di metriche come la frequenza degli avvisi, il tempo di risoluzione e le percentuali di falsi positivi.
+ Rivedi e perfeziona regolarmente le regole di avviso in base a queste metriche.

Implementa procedure di escalation:
+ Definisci percorsi di escalation chiari per gli avvisi irrisolti.
+ Utilizza strumenti come Opsgenie per le PagerDuty escalation automatizzate.

Testa regolarmente i sistemi di allarme:
+ Eseguite test periodici della vostra pipeline di avvisi.
+ Includi i test degli avvisi nelle esercitazioni di disaster recovery.

Utilizza i modelli per la coerenza degli avvisi:
+ Crea modelli di avviso standardizzati per scenari comuni.
+ Garantisci formattazione e informazioni coerenti in tutti gli avvisi.

Implementa la limitazione della velocità:
+ Previeni le tempeste di avvisi implementando la limitazione della velocità sugli avvisi attivati di frequente.

Usa metriche personalizzate:
+ Implementa metriche personalizzate per il monitoraggio specifico dell'applicazione.
+ Utilizza l'API Kubernetes Custom Metrics per il ridimensionamento automatico basato su queste metriche.

Implementa l'integrazione della registrazione:
+ Correla gli avvisi con i registri pertinenti per una risoluzione più rapida dei problemi.
+ Usa strumenti come Grafana Loki o ELK Stack insieme al tuo sistema di avviso.

Prendi in considerazione gli avvisi sui costi:
+ Imposta avvisi in caso di picchi imprevisti nell'utilizzo delle risorse o nei costi.
+ Utilizza strumenti [Budget AWS](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html)di gestione dei costi di terze parti.

Usa la tracciabilità distribuita:
+ Integra strumenti di tracciamento distribuiti come Jaeger o. [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)
+ Imposta avvisi per modelli di traccia o latenze anomali.

Runbook per gli avvisi relativi ai documenti:
+ Crea runbook chiari e utilizzabili per ogni tipo di avviso.
+ Includi passaggi per la risoluzione dei problemi e procedure di escalation nei runbook.

Seguendo queste best practice, puoi creare un sistema di avvisi robusto, efficiente ed efficace per il tuo ambiente Amazon EKS. Ciò contribuirà a garantire un'elevata disponibilità, una rapida risoluzione dei problemi e prestazioni ottimali delle applicazioni basate su Kubernetes.