Salta al contenuto

Come posso identificare il gruppo di log che ha causato un aumento improvviso della mia fattura per CloudWatch Logs?

5 minuti di lettura
0

La mia fattura per Amazon CloudWatch Logs è insolitamente elevata. Desidero identificare il gruppo di log che sta incidendo sui costi di CloudWatch Logs.

Breve descrizione

Aumenti improvvisi dell'importo fatturato per CloudWatch Logs potrebbero derivare da un aumento dei dati importati o archiviati in un determinato gruppo di log. Utilizza le metriche di CloudWatch Logs per controllare l'utilizzo dei dati. Quindi analizza la fattura di AWS per identificare il gruppo di log responsabile dell'aumento dell'importo fatturato.

Risoluzione

Controlla la quantità di dati importati

La metrica IncomingBytes mostra la quantità di dati importati nei gruppi di log di CloudWatch in tempo quasi reale. Questa metrica può aiutarti a determinare le seguenti informazioni:

  • Gruppo di log che contribuisce maggiormente alla fattura.
  • Eventuali picchi di dati in ingresso verso i gruppi di log o aumenti graduali dovuti a nuove applicazioni.
  • Quantità di dati trasferiti durante un determinato periodo di tempo.

Esegui una query su un set ristretto di gruppi di log

Completa i seguenti passaggi:

  1. Apri la console CloudWatch.
  2. Nel pannello di navigazione, scegli Tutte le metriche.
  3. Per ogni gruppi di log, completa i seguenti passaggi:<br id=hardline_break/> Scegli il namespace dei Log.<br id=hardline_break/> Scegli Metriche gruppo di log.<br id=hardline_break/> Seleziona le singole metriche IncomingBytes.<br id=hardline_break/> Scegli la scheda Metriche definite.
  4. Per Statistiche, scegli Somma.
  5. Per Periodo, scegli 30 giorni.
  6. Scegli la scheda Opzioni, quindi nella sezione Tipo di widget, seleziona ** Numero**.
  7. Nella parte superiore del grafico, scegli Personalizzato, quindi scegli Assoluto per impostare l'intervallo di tempo. Seleziona una data di inizio e una di fine che includa gli ultimi 30 giorni.

Esegui una query su un set ampio di gruppi di log

Completa i seguenti passaggi:

  1. Apri la console CloudWatch.
  2. Nel pannello di navigazione, scegli Tutte le metriche.
  3. Apri la scheda Metriche definite. Quindi, dall'elenco a discesa Aggiungi formula, seleziona Start with an empty expression (Inizia con un'espressione vuota).
  4. Copia la seguente espressione matematica:<br id=hardline_break/> SORT(REMOVE_EMPTY(SEARCH('{AWS/Logs,LogGroupName} MetricName="IncomingBytes"', 'Sum', 2592000)),SUM, DESC)
  5. Incolla l'espressione matematica nel campo Modifica espressione matematica, quindi scegli Applica.
  6. Scegli la scheda Opzioni grafico, quindi seleziona Numero.
  7. Nella parte superiore del grafico, scegli Personalizzato. Quindi scegli Assoluto. Seleziona una data di inizio e una di fine che includa gli ultimi 30 giorni. Con questo metodo puoi rappresentare graficamente fino a 500 metriche.<br id=hardline_break/> Nota: questo passaggio funziona solo con l'opzione Assoluto. Se scegli Relativo, il grafico restituisce dati errati.
  8. Scegli Operazioni.
  9. Scegli Scarica come .csv.

Esegui una query su un set ampio di gruppi di log

Prerequisito: esamina i costi associati alle chiamate API. È consigliabile distribuire l'operazione ListMetrics per non incorrere in una limitazione (della larghezza di banda della rete). La quota predefinita per ListMetrics è 25 transazioni al secondo. Tuttavia, puoi richiedere un aumento della quota.

Completa i seguenti passaggi:

  1. Esegui un'operazione API ListMetrics. Utilizza i seguenti parametri:<br id=hardline_break/> **Namespace: AWS/Logs<br id=hardline_break/> **MetricName: IncomingBytes
  2. Esegui un'operazione API GetMetricData. Utilizza i seguenti parametri:<br id=hardline_break/> Namespace: AWS/Logs<br id=hardline_break/> MetricName: IncomingBytes<br id=hardline_break/> Dimensions: quelle ricevute dalla chiamata ListMetrics<br id=hardline_break/> StartTime: data e ora precedenti di 14 giorni alla data corrente<br id=hardline_break/> EndTime: data e ora correnti<br id=hardline_break/> Period: EndTime - StartTime, in secondi<br id=hardline_break/> Statistics: Sum
  3. Per visualizzare i nomi dei gruppi di log con la maggiore quantità di dati importati, ordina i punti dati in ordine decrescente.

Per assicurarti che i costi dei dati importati in futuro non superino una quota specificata, crea un allarme in CloudWatch.

Verifica l'utilizzo dei dati archiviati

Il parametro storedBytes rappresenta il numero di byte compressi archiviati in un gruppo di log. Per verificare storedBytes per un gruppo di log, completa i passaggi seguenti:

  1. Apri la console CloudWatch.
  2. Scegli Gruppi di log nel pannello di navigazione.
  3. Seleziona il gruppo di log.
  4. Rivedi la dimensione totale degli eventi del log compressi con il parametro Stored bytes.

Per recuperare storedBytes per i gruppi di log in ordine decrescente, esegui questo comando AWS CLI describe-logs-groups:

aws logs describe-log-groups --query 'logGroups | sort_by(@, &storedBytes) | reverse([]) | [].{"LogGroupName": logGroupName, "StoredBytes": storedBytes, "RetentionInDays": retentionInDays}' --output table

Nota: se il valore nella colonna RetentionInDays dell'output AWS CLI è Nessuno, al corrispondente gruppo di log si applica l'impostazione NeverExpire.

I periodi di conservazione determinano la durata di conservazione dei dati da parte di CloudWatch Logs. Se riduci i periodi di conservazione, puoi limitare la quantità di dati storici archiviati nel tempo e ridurre i costi di archiviazione.

È consigliabile definire i periodi di conservazione in base agli scenari ed esportare i dati storici in soluzioni di storage più convenienti, come Amazon Simple Storage Service (Amazon S3).

Informazioni correlate

Analisi, ottimizzazione e riduzione dei costi di CloudWatch