Beispiel: Extrahieren von Feldern aus einem Apache-Protokoll und Zuweisen von Dimensionen - Amazon CloudWatch -Protokolle

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Beispiel: Extrahieren von Feldern aus einem Apache-Protokoll und Zuweisen von Dimensionen

Manchmal ist es hilfreich, Werte aus einzelnen Protokollereignissen für Metrikwerte zu verwenden statt sie zu zählen. In diesem Beispiel wird gezeigt, wie Sie eine Extraktionsregel zum Erstellen einer Metrik erstellen können, mit der die von einem Apache-Webserver übertragenen Bytes gemessen werden.

Diese Extraktionsregel entspricht den sieben Feldern des Protokollereignisses. Der Metrikwert ist der Wert des siebten übereinstimmenden Token. Sie können den Verweis auf das Token als "$7" in dem Feld metricValue der Extraktionsregel erkennen.

In diesem Beispiel wird auch gezeigt, wie Sie der Metrik, die Sie erstellen, Dimensionen zuweisen.

So erstellen Sie einen Metrikfilter mit der CloudWatch Konsole
  1. Öffnen Sie die - CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/.

  2. Wählen Sie im Navigationsbereich Protokollgruppen aus.

  3. Wählen Sie den Namen der Protokollgruppe für den Apache-Server aus.

  4. Wählen Sie Actions, Metrikfilter erstellen aus.

  5. Geben Sie für Filter pattern (Filtermuster) [ip, id, user, timestamp, request, status_code, size] ein.

  6. (Optional) Um das Filtermuster zu testen, geben Sie unter Test Pattern (Muster testen) ein oder mehrere Protokollereignisse ein, die zum Testen des Musters verwendet werden sollen. Jedes Protokollereignis muss innerhalb einer einzelnen Zeile liegen, da Zeilenumbrüche verwendet werden, um Protokollereignisse im Anzeigebereich Log event messages (Ereignismeldungen protokollieren) zu trennen.

  7. Wählen Sie Next (Weiter) und geben Sie dann für Filter name (Filtername) size ein.

  8. Geben Sie unter Metric details (Metrikdetails) für Metric Namespace (Metrik-Namespace) MyNameSpace ein. Da es sich um einen neuen Namespace handelt, stellen Sie sicher, dass Create new (Neu erstellen) ausgewählt ist.

  9. Geben Sie für Metric name (Metrikname) BytesTransferred ein

  10. Geben Sie für Metric value (Metrikwert) $size ein.

  11. Wählen Sie für Unit (Einheit) Byte aus.

  12. Geben Sie unter Dimension Name die Zeichenfolge IP ein.

  13. Geben Sie für Dimension Value (Dimensionswert) $ip ein und wählen Sie dann Next (Weiter).

  14. Wählen Sie Metrikfilter erstellen aus.

So erstellen Sie diesen Metrikfilter mit der AWS CLI

Führen Sie über die Eingabeaufforderung den folgenden Befehl aus.

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}}'
Anmerkung

Verwenden Sie in diesem Befehl dieses Format, um mehrere Dimensionen anzugeben.

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}'

Sie können die folgenden Daten in put-log-event Aufrufen verwenden, um diese Regel zu testen. Damit werden zwei unterschiedliche Metriken erstellt, wenn Sie die Überwachungsregel im vorherigen Beispiel nicht entfernt haben.

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