REL 6: Come monitorare le risorse del carico di lavoro?
I log e i parametri sono strumenti molto efficaci per ottenere informazioni sullo stato del tuo carico di lavoro. È possibile configurare il carico di lavoro in modo da monitorare i log e i parametri e inviare notifiche quando vengono superate le soglie o si verificano eventi significativi. Il monitoraggio consente al carico di lavoro di riconoscere quando vengono superate le soglie di prestazioni basse o si verificano errori, in modo che possa essere ripristinato automaticamente di rimando.
Risorse
Using Amazon CloudWatch Metrics
Publishing Custom Metrics
Using Amazon CloudWatch Dashboards
Using Canaries (Amazon CloudWatch Synthetics)
Amazon CloudWatch Logs Insights Sample Queries
AWS Systems Manager Automation
What is AWS X-Ray?
Debugging with Amazon CloudWatch Synthetics and AWS X-Ray
The Amazon Builders' Library: Instrumenting distributed systems for operational visibility
Best practice:
-
Monitoraggio di tutti i componenti per il carico di lavoro (generazione): Monitora i componenti del carico di lavoro con Amazon CloudWatch o con strumenti di terze parti. Monitoraggio dei servizi AWS con Personal Health Dashboard
-
Definizione e calcolo dei parametri (aggregazione): Archivia i dati di log e applica filtri, se necessario, per calcolare i parametri, ad esempio i conteggi di un evento di log specifico o la latenza calcolata dai timestamp degli eventi di log
-
Invia notifiche (elaborazione e avvisi in tempo reale): Le organizzazioni che devono essere messe al corrente ricevono le notifiche nel caso si verifichino eventi significativi
-
Automatizza le risposte (elaborazione e avvisi in tempo reale): Utilizza l'automazione per agire quando viene rilevato un evento; ad esempio, per sostituire i componenti guasti
-
Archiviazione e analisi: Raccogli i file di log e le cronologie dei parametri e analizzali per ottenere informazioni più ampie sulle tendenze e sui carichi di lavoro
-
Esecuzione di revisioni periodiche: Controlla frequentemente l'implementazione del monitoraggio del carico di lavoro e aggiornalo in base a eventi e modifiche significativi
-
Monitoraggio del tracciamento end-to-end delle richieste attraverso il sistema: Utilizza AWS X-Ray o strumenti di terze parti per consentire agli sviluppatori di analizzare ed eseguire il debug di sistemi distribuiti in modo più semplice per comprendere l'andamento delle prestazioni delle loro applicazioni e dei relativi servizi sottostanti
Piano di miglioramento
Monitoraggio di tutti i componenti per il carico di lavoro (generazione)
- Definizione di tutti i servizi AWS in uso
- Abilita la registrazione per tutti i servizi:: AWS offre la registrazione per numerosi servizi. Se il servizio non dispone di registrazione
al livello che desideri, potrai aumentarla prendendola dai carichi di lavoro.
- Abilita la registrazione di Amazon S3
Amazon S3 Server Access Logging - Abilita la registrazione di Elastic Load Balancing
Access logs for your application load balancer
Access Logs for Your Network Load Balancer
Enable Access Logs for Your Classic Load Balancer - Attivazione dei log di flusso VPC
VPC Flow Logs - Abilita i log di CloudTrail
Creating a trail - Utilizza l'agente di Amazon CloudWatch per trasmettere i dati di log dall'istanza
a CloudWatch Logs
Install the CloudWatch agent on an Amazon EC2 instance - Utilizza driver di log awslogs con Amazon ECS per trasmettere i dati di log a CloudWatch
Logs
Using CloudWatch Logs with container instances - AWS Lambda trasmette automaticamente i dati dei log a CloudWatch Logs
Accessing Amazon CloudWatch Logs for AWS Lambda
- Abilita la registrazione di Amazon S3
AWS Services That Publish CloudWatch Metrics
- È possibile valutare i parametri in modo singolo o aggregato
- Nella console di CloudWatch puoi esplorare i parametri raccolti.
- Consulta la documentazione per sapere quali parametri e dimensioni vengono raccolti
Amazon CloudWatch Logs Insights Sample Queries
Publish custom metrics
- Se desideri dati sull'utilizzo della memoria o del disco, utilizza l'agente di CloudWatch
o l'API PutMetricData
Monitoring memory and disk metrics for Amazon EC2 linux instances
- Utilizza CloudWatch Logs per i file di log comuni
- Puoi utilizzare CloudWatch Logs per i casi più comuni di utilizzo dell'aggregazione
dei log
What are Amazon CloudWatch Logs?
- Puoi utilizzare CloudWatch Logs per i casi più comuni di utilizzo dell'aggregazione
dei log
- Archivia tutti i log in Amazon S3 oppure in Amazon S3 Glacier per tempi di archiviazione
più lunghi
- Puoi esportare CloudWatch Logs in Amazon S3. I log di CloudTrail ed Elastic Load Balancing
sono inviati ad Amazon S3
Exporting log data to Amazon S3
- Puoi esportare CloudWatch Logs in Amazon S3. I log di CloudTrail ed Elastic Load Balancing
sono inviati ad Amazon S3
Definizione e calcolo dei parametri (aggregazione)
- I filtri parametrici definiscono i termini e i modelli da ricercare nei dati di log
quando vengono inviati a CloudWatch Logs. CloudWatch Logs utilizza questi filtri parametrici
per trasformare i dati di log in parametri CloudWatch numerici che puoi rappresentare
graficamente o sui quali puoi impostare un avviso
Searching and Filtering Log Data - Utilizza terze parti affidabili per aggregare i log
- Segui le istruzioni che ti vengono fornite dalle terze parti. La maggior parte dei prodotti terzi si integra con CloudWatch e Amazon S3
- Alcuni servizi AWS possono pubblicare log direttamente in Amazon S3. In questo modo,
se il tuo requisito principale per i log è lo storage in Amazon S3, potrai facilmente
impostare il servizio di produzione dei log affinché li invii direttamente ad Amazon
S3 senza dover configurare un'infrastruttura aggiuntiva
Sending Logs Directly to Amazon S3
Invia notifiche (elaborazione e avvisi in tempo reale)
- I pannelli di controllo di Amazon CloudWatch sono home page personalizzabili nella
console di CloudWatch che puoi utilizzare per monitorare le tue risorse in un'unica
visualizzazione, anche quelle distribuite tra regioni diverse
Using Amazon CloudWatch Dashboards - Crea un avviso per il caso in cui il parametro superi un limite
Using Amazon CloudWatch Alarms
Automatizza le risposte (elaborazione e avvisi in tempo reale)
AWS Systems Manager Automation
- Crea e utilizza documenti Systems Manager Automation. Questi definiscono le operazioni
che Systems Manager esegue sulle istanze gestite e su altre risorse AWS quando si
avvia un'esecuzione di automazione
Working with Automation Documents (Playbooks)
Creating an EventBridge Rule That Triggers on an Event from an AWS Resource
- Effettua l'inventario di tutte le procedure di risposta agli avvisi: È necessario pianificare le risposte agli avvisi prima di classificare le attività
- Effettua l'inventario di tutte le attività con azioni specifiche da intraprendere: La maggior parte di queste azioni è documentata nei runbook. È inoltre necessario disporre di playbook per gli avvisi relativi a eventi imprevisti
- Esamina i runbook e i playbook per tutte le azioni automatizzabili: In generale, se un'azione può essere definita, molto probabilmente può essere automatizzata
- Classifica innanzitutto le attività soggette a errori o dispendiose in termini di tempo: È vantaggioso soprattutto rimuovere le fonti di errori e ridurre il tempo di risoluzione
- Definisci un piano per completare l'automazione: Mantieni un piano attivo per automatizzare e aggiornare l'automazione
- Esamina i requisiti manuali per le opportunità di automazione: Metti alla prova il processo manuale per scoprire opportunità di automatizzazione
Archiviazione e analisi
Analyzing Log Data with CloudWatch Logs Insights
Amazon CloudWatch Logs Insights Sample Queries
How do I analyze my Amazon S3 server access logs using Athena?
- Crea una policy del ciclo di vita di S3 per il bucket dei log di accesso al server.
Configura la policy del ciclo di vita per rimuovere periodicamente i file di log.
In questo modo si riduce la quantità di dati che Athena deve analizzare per ogni query
How Do I Create a Lifecycle Policy for an S3 Bucket?
Esecuzione di revisioni periodiche
Using Amazon CloudWatch Dashboards
- Individuazione di tendenze nei parametri: Confronta i valori dei parametri con i valori storici per vedere se ci sono tendenze che potrebbero suggerire l'esame di un particolare aspetto. Eccone alcuni esempi: aumento della latenza, riduzione della funzione dell'attività principale e aumento delle risposte di errore
- Identificazione di outlier/anomalie nei parametri: Le medie o le mediane possono nascondere gli outlier. Osserva i valori più alti e più bassi nell'intervallo di tempo e analizza le cause dei risultati estremi. Man mano che continui a eliminare tali cause, la riduzione della definizione di estremo ti consente di continuare a migliorare la coerenza delle prestazioni del carico di lavoro
- Ricerca di modifiche brusche nel comportamento: Un cambiamento rapido della quantità o della direzione di un parametro può indicare che si è verificata una modifica dell'applicazione o di fattori esterni per i quali potrebbe essere necessario aggiungere ulteriori parametri a fini di monitoraggio
Monitoraggio del tracciamento end-to-end delle richieste attraverso il sistema
What is AWS X-Ray?
Debugging with Amazon CloudWatch Synthetics and AWS X-Ray