Monitora l'attività delle applicazioni utilizzando CloudWatch Logs Insights - Prontuario AWS

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à.

Monitora l'attività delle applicazioni utilizzando CloudWatch Logs Insights

Creato da Ram Kandaswamy (AWS)

Riepilogo

Questo modello fornisce una soluzione per rilevare e inviare avvisi automaticamente sulle eccezioni delle applicazioni utilizzando Amazon CloudWatch Logs Insights. Implementando l'analisi e l'invio di avvisi automatici dei log, puoi identificare e rispondere rapidamente ai problemi delle applicazioni nel tuo ambiente di produzione.

I log svolgono un ruolo cruciale nel monitoraggio del comportamento del sistema, nell'identificazione dei problemi e nel garantire prestazioni ottimali. Durante un processo di migrazione, i file di registro sono preziosi per convalidare il funzionamento del sistema nel nuovo ambiente, rilevare problemi di compatibilità e identificare eventuali comportamenti imprevisti. I problemi potrebbero essere correlati alle operazioni o alla sicurezza. Per quanto riguarda i problemi relativi alla sicurezza, consentire il rilevamento tempestivo di tentativi di accesso non autorizzati o attività sospette è essenziale per mantenere la sicurezza e la conformità normativa. Questa funzionalità è particolarmente importante quando si tratta di dati sensibili o sistemi critici.

Questo modello è particolarmente utile per i team che devono mantenere un'elevata disponibilità delle applicazioni e rispondere rapidamente ai problemi di produzione. È rilevante in vari settori e casi d'uso. Ad esempio, nelle telecomunicazioni, consente l'identificazione rapida di configurazioni errate o interruzioni di rete e il rilevamento di percorsi di routing non ottimali per individuare potenziali congestioni. Nel dominio Internet of Things (IoT), i componenti Greengrass possono pubblicare i log CloudWatch, permettendo a questa tecnica di estrarre i dettagli rilevanti dei log e presentarli in una dashboard completa.

Prerequisiti e limitazioni

Prerequisiti

  • Un'applicazione di produzione distribuita in active Account AWS

  • Conoscenza di base del formato di registrazione e dei modelli di eccezione dell'applicazione di produzione

  • Log delle applicazioni configurati per lo streaming su Amazon CloudWatch Logs

Limitazioni

Architettura

Il diagramma seguente mostra come CloudWatch Logs Insights valuta i log delle risorse e invia una visualizzazione dei dati pertinente a una dashboard. CloudWatch

CloudWatch Logs Insights valuta i log delle risorse e invia la visualizzazione dei dati alla dashboard.

Il diagramma mostra il flusso di lavoro seguente:

  1. Le risorse pubblicano i log in Logs. CloudWatch Le risorse possono includere AWS risorse come istanze Amazon Elastic Compute Cloud (Amazon EC2) o bucket Amazon Simple Storage Service (Amazon S3). Un altro esempio include sistemi locali con CloudWatch Agent installato su cui è possibile pubblicare i log. CloudWatch

  2. CloudWatch Filtri Logs Insights per la stringa di pattern pertinente. Esempi di stringhe di pattern di ricerca includono «error», «exception» o un'espressione regolare specifica.

  3. In genere, il team di supporto alla produzione o gli sviluppatori aggiungono la visualizzazione del pattern alla CloudWatch dashboard.

Automazione e scalabilità

Gli sviluppatori possono automatizzare la soluzione di questo pattern utilizzando AWS Cloud Development Kit (AWS CDK) AWS CloudFormation, o AWS SDKs per gestire più modelli di stringhe. I team possono incorporare questa automazione nei loro processi di integrazione e distribuzione continue (CI/CD). DevOps

Strumenti

Servizi AWS

Best practice

Epiche

AttivitàDescrizioneCompetenze richieste

Configura le autorizzazioni IAM.

Per configurare le autorizzazioni IAM, procedi come segue:

  1. Identifica i ruoli IAM utilizzati dalla tua applicazione per scrivere i log e dagli utenti o dai servizi che creeranno dashboard, query e allarmi.

  2. Per il ruolo dell'applicazione, aggiungi le seguenti azioni e risorse API a una policy:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }
  3. Per la gestione CloudWatch delle risorse, aggiungi quanto segue a una policy:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutDashboard", "cloudwatch:GetDashboard", "logs:StartQuery", "logs:StopQuery", "logs:GetQueryResults", "cloudwatch:PutMetricAlarm" ], "Resource": "*" } ] }

Per informazioni su come creare policy IAM o aggiungere autorizzazioni a policy esistenti, consulta Definizione delle autorizzazioni IAM personalizzate con policy gestite dai clienti e Modifica delle policy IAM nella IAM User Guide. Per ulteriori informazioni, consulta il riferimento alla gestione delle identità e degli accessi per Amazon CloudWatch Logs and CloudWatch Logs nella Amazon CloudWatch Logs User Guide.

Amministratore AWS, AWS DevOps, amministratore di sistema AWS, amministratore cloud, architetto cloud, DevOps ingegnere

Creazione di un gruppo di log.

Per creare un gruppo di log, utilizza una delle seguenti opzioni:

  • Crea o apri un file CloudFormation modello (formato YAML o JSON) con estensione or. .yaml .json (Il codice seguente utilizza il formato YAML.) Aggiungi la seguente definizione di risorsa alla sezione Risorse del tuo modello:

    MyLogGroup: Type: AWS::Logs::LogGroup Properties: LogGroupName: my-log-group

    Per ulteriori informazioni, consulta Quick Start: AWS CloudFormation Use to start with CloudWatch Logs nella Amazon CloudWatch Logs User Guide.

Amministratore AWS, AWS DevOps, amministratore di sistema AWS, amministratore cloud, architetto cloud, DevOps ingegnere

Genera una query CloudWatch Logs Insights.

Per creare e salvare una query di CloudWatch Logs Insights:

  1. Apri la CloudWatch console.

  2. Vai a Logs Insights.

  3. Crea la tua query utilizzando uno dei seguenti metodi:

    • Inizia con una query di esempio dalla sezione Interrogazioni.

    • Scrivi una query personalizzata.

    • Modifica la seguente query di esempio:

      fields @timestamp, @message | filter @message like /(?i)exception/|stats count() by bin(30s)

      Questa query controlla il file di registro, estrae il timestamp e il contenuto del messaggio, filtra per la parola «eccezione» (senza distinzione tra maiuscole e minuscole) e conta le occorrenze a intervalli di 30 secondi.

Amministratore AWS, AWS DevOps, amministratore di sistema AWS, amministratore cloud, architetto cloud, DevOps ingegnere

Crea visualizzazioni in una CloudWatch dashboard.

Per utilizzare una CloudWatch dashboard per creare una visualizzazione, procedi come segue:

  1. Apri la CloudWatch console e crea una CloudWatch dashboard (se non ne hai già una) oppure apri una dashboard esistente.

  2. Aggiungi la visualizzazione del monitoraggio delle eccezioni. Sono disponibili grafici a barre, a linee e a torta, a seconda delle esigenze aziendali. Per ulteriori informazioni, consulta Using widgets on CloudWatch dashboard nella Amazon CloudWatch Logs User Guide. Per la visualizzazione dei dati in tempo reale, puoi personalizzare un widget in base alle tue esigenze.

Per ulteriori informazioni sulle opzioni e le funzionalità delle dashboard, consulta Using Amazon CloudWatch dashboard e Creazione di CloudWatch dashboard flessibili con variabili di dashboard nella Amazon CloudWatch Logs User Guide.

Amministratore AWS, AWS DevOps, amministratore di sistema AWS, amministratore cloud, architetto cloud, DevOps ingegnere

Risoluzione dei problemi

ProblemaSoluzione

Impossibile visualizzare i risultati della query o la query sembra interrotta

Inizia con una query di lavoro che è stata modificata da una query di esempio. Eseguite piccole modifiche incrementali a parti della query (come un filtro o un campo) e sfruttate la funzionalità CloudWatch Logs Query Generator.

Gruppi di log che non creano flussi di log

Nella policy IAM, assicurati che la risorsa per le CreateLogStreamCreateLogGroupoperazioni sia fornita con un valore di caratteri (*) jolly. L'create operazione non avrà successo senza questa autorizzazione con i caratteri jolly.

Risorse correlate