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à.
Creazione di allarmi sui log
È possibile creare CloudWatch allarmi che monitorano i dati di registro in due modi:
-
Approccio Log Alarm: crea un Log Alarm che esegue una query di CloudWatch Logs Insights in base a una pianificazione e valuta i risultati aggregati direttamente rispetto a una soglia.
-
Approccio con filtro metrico: crea un filtro metrico su un gruppo di log, quindi crea un allarme metrico standard sulla metrica risultante.
Crea un avviso di registro
Crea un Log Alarm
È possibile creare un CloudWatch allarme che utilizza una query di CloudWatch Logs Insights per monitorare direttamente i dati di registro. La query viene eseguita in base a una pianificazione utilizzando una query pianificata e l'allarme valuta i risultati aggregati rispetto a una soglia. Per ulteriori informazioni sul funzionamento di Log Alarms, vedere. Registra allarmi
Prerequisiti
Prima di creare un Log Alarm, devi creare un ruolo IAM che conceda a CloudWatch Logs l'autorizzazione a eseguire la query pianificata. Se desideri includere anche le righe di registro nelle notifiche di Amazon SNS, devi creare un secondo ruolo.
Nota
Se crei un Log Alarm dalla CloudWatch console, la console ti aiuta a creare questi ruoli.
Ruolo di esecuzione pianificata delle query
Il ruolo di esecuzione pianificata delle query consente a CloudWatch Logs di eseguire la query per conto dell'utente. Questo ruolo è necessario affinché tutti gli allarmi di registro eseguano la query pianificata. Il ruolo deve considerare attendibile il responsabile del logs.amazonaws.com servizio.
L'esempio seguente mostra la politica di attendibilità per il ruolo pianificato di esecuzione delle query.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
L'esempio seguente mostra la politica delle autorizzazioni. Limita l'ambito Resource agli ARN del gruppo di log a cui è indirizzata la query.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:StartQuery", "logs:StopQuery", "logs:GetQueryResults", "logs:DescribeLogGroups" ], "Resource": "arn:aws:logs:region:account-id:log-group:your-log-group:*" } ] }
Ruolo delle righe di registro (opzionale)
Il ruolo log lines consente di CloudWatch recuperare le righe di registro per le notifiche e-mail di Amazon SNS. Questo ruolo è obbligatorio solo se è impostato su ActionLogLineCount un valore maggiore di 0. Il ruolo deve affidarsi al responsabile del cloudwatch.amazonaws.com servizio.
L'esempio seguente mostra la politica di attendibilità per il ruolo log lines.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudwatch.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
L'esempio seguente mostra la politica di autorizzazione per il ruolo log lines. L'logs:GetQueryResultsautorizzazione è necessaria per recuperare le righe di registro. Limita l'ambito Resource agli ARN del gruppo di log a cui è indirizzata la query.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:GetQueryResults" ], "Resource": "arn:aws:logs:region:account-id:log-group:your-log-group:*" } ] }
Nota
Per visualizzare i risultati delle query di Log Alarm nella CloudWatch console, l'utente o il ruolo IAM che accede alla console deve disporre dell'logs:GetScheduledQueryDataautorizzazione. Questa è un'API solo per console e non è disponibile tramite AWS CLI o SDK. CloudTrailregistra questa API come evento relativo ai dati, quindi è necessario configurare un percorso con registrazione degli eventi relativi ai dati per acquisirla.
Creazione di un Log Alarm utilizzando la console
I passaggi di questa sezione spiegano come utilizzare la CloudWatch console per creare un Log Alarm. È inoltre possibile utilizzare il AWS CLI per creare un Log Alarm. Per ulteriori informazioni, consulta Creazione di un allarme di registro utilizzando il AWS CLI.
Per creare un Log Alarm
-
Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/
. -
Nel pannello di navigazione, seleziona Alarms (Allarmi).
-
Selezionare Create Alarm (Crea allarme).
-
Per Origine dati, scegli Registri.
-
In Logs Query:
-
Scegli Crea query in Log Analytics. Si apre la pagina di Log Analytics in cui puoi creare la tua query.
-
Nella pagina Log Analytics, scrivi la tua richiesta. Al termine, scegli Continua con gli allarmi in alto a destra per tornare alla console di allarme.
-
Per l'espressione di aggregazione, specifica come aggregare i risultati della query per restituire un valore numerico per la valutazione degli allarmi (ad esempio o).
count(*)avg(latency) by endpoint
-
-
In condizioni di allarme:
-
Per ogni volta che il risultato aggregato è... , scegli un operatore di confronto.
-
Per oltre... , inserire il valore di soglia.
-
(Facoltativo) In Configurazione aggiuntiva:
-
Modifica Datapoints in alert per specificare il numero di risultati di violazione necessari per attivare
ALARMle ultime N query. -
Modifica il trattamento dei dati mancanti per specificare come trattare i dati mancanti.
-
-
-
In Pianificazione:
-
Per Frequenza di valutazione, scegli la frequenza di esecuzione della query (ad esempio, ogni 5 minuti).
-
Per Start time offset, la finestra di lookback per ogni esecuzione di query.
-
Per Offset dell'ora di fine (opzionale), la fine dell'intervallo di tempo della query come offset in secondi rispetto all'ora corrente.
-
-
Con l'autorizzazione IAM:
-
Specificate il ruolo richiesto per eseguire la query pianificata. È possibile scegliere di creare un nuovo ruolo o utilizzare un ruolo esistente.
-
-
Scegli Next (Successivo).
-
In Configura azioni, configura le azioni e le notifiche in base alle esigenze.
-
Per includere le righe di registro che attivano la transizione degli allarmi nelle notifiche e-mail di Amazon SNS, in Includi i risultati delle query nelle azioni:
-
Aggiungi il numero di risultati della query per specificare il numero di righe di registro da includere.
-
Crea o scegli un ruolo esistente da utilizzare per ottenere i risultati delle query richiesti.
-
-
-
Scegli Next (Successivo).
-
Inserisci un nome e una descrizione opzionale (supporta Markdown).
-
(Facoltativo) Aggiungi tag.
-
Scegli Next (Successivo).
-
In Anteprima e crea, rivedi la configurazione, quindi scegli Crea allarme.
Creazione di un allarme di registro utilizzando il AWS CLI
È possibile utilizzare il AWS CLI put-log-alarm comando per creare un Log Alarm.
L'esempio seguente crea un Log Alarm che monitora il conteggio degli errori in un gruppo di log e passa a ALARM indicare quando il conteggio supera 100 in 3 esecuzioni di query su 5.
aws cloudwatch put-log-alarm \ --alarm-name "HighErrorCount" \ --alarm-description "Alarm when error count exceeds 100" \ --comparison-operator GreaterThanThreshold \ --threshold 100 \ --query-results-to-evaluate 5 \ --query-results-to-alarm 3 \ --treat-missing-data missing \ --alarm-actions "arn:aws:sns:region:account-id:topic-name" \ --scheduled-query-configuration '{ "QueryString": "fields @timestamp, @message | filter @message like /ERROR/", "LogGroupIdentifiers": ["/aws/lambda/my-function"], "ScheduledQueryRoleARN": "arn:aws:iam::account-id:role/ScheduledQueryRole", "AggregationExpression": "count(*)", "ScheduleConfiguration": { "ScheduleExpression": "rate(10 minutes)", "StartTimeOffset": 600 } }' \ --action-log-line-count 5 \ --action-log-line-role-arn "arn:aws:iam::account-id:role/LogLineRole"
La tabella seguente descrive i parametri chiave del comando. put-log-alarm
| Parametro | Obbligatorio | Descrizione |
|---|---|---|
--alarm-name |
Sì | Nome dell'allarme. Deve contenere solo caratteri. UTF-8 |
--comparison-operator |
Sì | L'operatore di confronto per la valutazione della soglia. Valori validi: GreaterThanThreshold, GreaterThanOrEqualToThreshold, LessThanThreshold, LessThanOrEqualToThreshold. |
--threshold |
Sì | Il valore numerico della soglia rispetto al quale effettuare il confronto. |
--query-results-to-evaluate |
Sì | Il numero di esecuzioni di query recenti da valutare (N in M-out-of-N). |
--query-results-to-alarm |
Sì | Il numero di risultati di violazione necessari per l'attivazione ALARM (M in M-out-of-N). |
--treat-missing-data |
No | Come trattare i dati mancanti. Valori validi: missing (impostazione predefinita),notBreaching,breaching,ignore. |
--scheduled-query-configuration |
Sì | La configurazione della query che include la stringa di query, gli identificatori del gruppo di log, l'ARN del ruolo di interrogazione pianificato, l'espressione di aggregazione e la configurazione della pianificazione. |
--action-log-line-count |
No | Il numero di righe di registro da includere nelle notifiche e-mail di Amazon SNS (0—50). Il valore predefinito è 0. |
--action-log-line-role-arn |
No | L'ARN del ruolo IAM che si fida. cloudwatch.amazonaws.com Obbligatorio se action-log-line-count è maggiore di 0. |
Creazione di un allarme di registro utilizzando AWS CloudFormation
È possibile utilizzare il tipo di AWS::CloudWatch::LogAlarm risorsa per creare un Log Alarm in un AWS CloudFormation modello.
Il modello di esempio seguente crea un Log Alarm che monitora il conteggio degli errori.
AWSTemplateFormatVersion: '2010-09-09' Resources: HighErrorCountAlarm: Type: AWS::CloudWatch::LogAlarm Properties: AlarmName: HighErrorCount AlarmDescription: Alarm when error count exceeds 100 ComparisonOperator: GreaterThanThreshold Threshold: 100 QueryResultsToEvaluate: 5 QueryResultsToAlarm: 3 TreatMissingData: missing ActionLogLineCount: 5 ActionLogLineRoleArn: !GetAtt LogLineRole.Arn ScheduledQueryConfiguration: QueryString: "fields @timestamp, @message | filter @message like /ERROR/" LogGroupIdentifiers: - /aws/lambda/my-function ScheduledQueryRoleARN: !GetAtt ScheduledQueryRole.Arn AggregationExpression: "count(*)" ScheduleConfiguration: ScheduleExpression: "rate(10 minutes)" StartTimeOffset: 600 AlarmActions: - !Ref AlarmSNSTopic
Crea un CloudWatch allarme basato su un filtro metrico di gruppo di log
La procedura in questa sezione illustra come creare un allarme basato su un filtro parametri del gruppo di log. Con i filtri metrici, puoi cercare termini e modelli nei dati di registro man mano che i dati vengono inviati. CloudWatch Per ulteriori informazioni, consulta Creare metriche dagli eventi di log utilizzando i filtri nella Amazon CloudWatch Logs User Guide. Prima di creare un allarme basato su un filtro parametri del gruppo di log, devi completare le azioni seguenti:
-
Creazione di un gruppo di log. Per ulteriori informazioni, consulta Working with log groups and log stream nella Amazon CloudWatch Logs User Guide.
-
Creazione di un filtro parametri. Per ulteriori informazioni, consulta Creare un filtro metrico per un gruppo di log nella Amazon CloudWatch Logs User Guide.
Creazione di un allarme basato su un filtro parametri del gruppo di log
-
Apri la CloudWatch console all'indirizzo. https://console.aws.amazon.com/cloudwatch/
-
Nel pannello di navigazione scegli Logs (Log), quindi Log groups (Gruppi di log).
-
Scegli il gruppo di log che include il filtro parametri.
-
Scegli Metric filters (Filtri parametri).
-
Nella scheda Metric filters (Filtri parametri), seleziona la casella relativa al filtro parametri su cui basare l'allarme.
-
Scegli Crea allarme.
-
(Facoltativo) In Metric (Parametro), modifica i campi Metric name (Nome parametro), Statistic (Statistica) e Period (Periodo).
-
In Conditions (Condizioni), specifica quanto segue:
-
Per Threshold type (Tipo di soglia), scegli Static (Statico) o Anomaly detection (Rilevamento anomalie).
-
Per Whenever
your-metric-nameis.. , scegli Maggiore o Inferiore. Greater/EqualLower/Equal -
Per than . . . (di), specifica un numero per il valore di soglia.
-
-
Scegli Additional configuration (Configurazione aggiuntiva).
-
Per Datapoints to alarm (Punti dati per allarme), specifica quanti punti dati attivano l'allarme in modo da farlo entrare in uno stato
ALARM. Se indichi dei valori corrispondenti, l'allarme passa nello statoALARMnel caso in cui si verifichi una violazione durante tali periodi consecutivi. Per creare un M-out-of-N allarme, specifica un numero per il primo valore inferiore al numero specificato per il secondo valore. Per ulteriori informazioni, consulta Valutazione degli allarmi. -
Per Missing data treatment (Trattamento dei dati mancanti), seleziona un'opzione dal menu a discesa per specificare come trattare i dati mancanti quando viene valutato l'allarme.
-
-
Scegli Next (Successivo).
-
In Notification (Notifica), seleziona un argomento Amazon SNS per segnalare quando l'allarme si trova nello stato
ALARM,OKoINSUFFICIENT_DATA.-
(Facoltativo) Per fare in modo che l'allarme invii più notifiche per lo stesso stato di allarme o per stati di allarme diversi, scegli Add notification (Aggiungi notifica).
-
(Facoltativo) Per fare in modo che l'allarme non invii notifiche, scegli Remove (Rimuovi).
-
-
Per fare in modo che l'allarme esegua operazioni Auto Scaling, EC2, Lambda o Systems Manager scegli il pulsante appropriato e scegli lo stato di allarme e l'operazione da eseguire. Se scegli una funzione Lambda come operazione di allarme, specifichi il nome della funzione o l'ARN e, facoltativamente, puoi scegliere una versione specifica della funzione.
Gli allarmi possono eseguire le operazioni Systems Manager solo quando entrano nello stato ALARM. Per ulteriori informazioni sulle azioni di Systems Manager, vedere Configurazione per la creazione CloudWatch OpsItems da allarmi e Creazione di incidenti.
Nota
Per creare un allarme che esegua un'operazione SSM Incident Manager, è necessario disporre di determinate autorizzazioni. Per ulteriori informazioni, vedere esempi di Identity-based policy per AWS Systems Manager Incident Manager.
-
Scegli Next (Successivo).
-
Per Name and description (Nome e descrizione), inserisci un nome e una descrizione per il tuo allarme. Il nome deve contenere solo UTF-8 caratteri e non può contenere caratteri di controllo ASCII. La descrizione può includere la formattazione markdown, che viene visualizzata solo nella scheda Dettagli dell'allarme nella console. CloudWatch Il markdown può essere utile per aggiungere collegamenti ai runbook o ad altre risorse interne.
-
Per Preview and create (Anteprima e creazione), verifica che la configurazione sia corretta, quindi seleziona Create alarm (Crea allarme).