Esempio: estrazione di campi da un log di Apache e assegnare dimensioni - CloudWatch Registri Amazon

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

Esempio: estrazione di campi da un log di Apache e assegnare dimensioni

A volte, invece di contare, è utile utilizzare i valori all'interno dei singoli eventi di log per i valori di parametro. Questo esempio illustra il modo in cui puoi creare una regola di estrazione per creare un parametro che misura i byte trasferiti da un server Web Apache.

In questo esempio viene inoltre illustrato come assegnare le dimensioni al parametro che si sta creando.

Per creare un filtro metrico utilizzando la console CloudWatch
  1. Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. Nel pannello di navigazione, selezionare Log groups (Gruppi di log).

  3. Scegli il nome del gruppo di log per il server Apache.

  4. Scegli Actions, Crea filtro parametri.

  5. In Filter pattern (Modello di filtro), inserisci [ip, id, user, timestamp, request, status_code, size].

  6. (Facoltativo) Per testare il modello di filtro, in Modello di test, inserisci uno o più log eventi da utilizzare per testare il modello. Ogni log eventi deve essere all'interno di una riga, in quanto le interruzioni di riga vengono utilizzate per separare i log eventi nella casella Log event messages (Messaggi di registro eventi).

  7. Scegli Next (Avanti), quindi per Filter name (Nome filtro), digita size.

  8. In Metric details (Dettagli parametro), per Metric namespace (Spazio dei nomi del parametro), inserisci MyNameSpace. Poiché si tratta di un nuovo spazio dei nomi, assicurarsi che sia selezionato Create new (Creazione di nuovi).

  9. Per Metric name (Nome parametro), inserisci BytesTransferred

  10. In Metric value (Valore parametro), inserisci $size.

  11. Per Unit (Unità) seleziona Bytes (Byte).

  12. In Dimension Name (Nome dimensione) digita IP.

  13. Per Dimension Value (Valore dimensione) digita $ip, quindi scegli Next (Avanti).

  14. Scegli Crea filtro parametri.

Per creare questo filtro metrico utilizzando il AWS CLI

Al prompt dei comandi, esegui il comando seguente.

aws logs put-metric-filter \ --log-group-name MyApp/access.log \ --filter-name BytesTransferred \ --filter-pattern '[ip, id, user, timestamp, request, status_code, size]' \ --metric-transformations \ metricName=BytesTransferred,metricNamespace=MyNamespace,metricValue='$size'
aws logs put-metric-filter \ --log-group-name MyApp/access.log \ --filter-name BytesTransferred \ --filter-pattern '[ip, id, user, timestamp, request, status_code, size]' \ --metric-transformations \ metricName=BytesTransferred,metricNamespace=MyNamespace,metricValue='$size',unit=Bytes,dimensions='{{IP=$ip}}'
Nota

In questo comando, utilizzare questo formato per specificare più dimensioni.

aws logs put-metric-filter \ --log-group-name my-log-group-name \ --filter-name my-filter-name \ --filter-pattern 'my-filter-pattern' \ --metric-transformations \ metricName=my-metric-name,metricNamespace=my-metric-namespace,metricValue=my-token,unit=unit,dimensions='{dimension1=$dim,dimension2=$dim2,dim3=$dim3}'

È possibile utilizzare i seguenti dati nelle put-log-event chiamate per testare questa regola. Questo genererà due parametri differenti, se non rimuovi la regola di monitoraggio nell'esempio precedente.

127.0.0.1 - - [24/Sep/2013:11:49:52 -0700] "GET /index.html HTTP/1.1" 404 287 127.0.0.1 - - [24/Sep/2013:11:49:52 -0700] "GET /index.html HTTP/1.1" 404 287 127.0.0.1 - - [24/Sep/2013:11:50:51 -0700] "GET /~test/ HTTP/1.1" 200 3 127.0.0.1 - - [24/Sep/2013:11:50:51 -0700] "GET /favicon.ico HTTP/1.1" 404 308 127.0.0.1 - - [24/Sep/2013:11:50:51 -0700] "GET /favicon.ico HTTP/1.1" 404 308 127.0.0.1 - - [24/Sep/2013:11:51:34 -0700] "GET /~test/index.html HTTP/1.1" 200 3