

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Exemple : Extraction des champs d'un journal Apache et attribution de dimensions
<a name="ExtractBytesExample"></a>

Parfois, au lieu de compter, il peut s'avérer utile d'utiliser des valeurs d'événements du journal individuels pour les valeurs de métriques. Cet exemple montre comment vous pouvez créer une règle d'extraction afin de créer une métrique qui mesure le nombre d'octets transférés par un serveur Apache.

Cet exemple montre également comment affecter des dimensions à la métrique que vous créez.

**Pour créer un filtre métrique à l'aide de la CloudWatch console**

1. Ouvrez la CloudWatch console à l'adresse [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Dans le panneau de navigation, choisissez **Groupes de journaux**.

1. Choisissez le nom du groupe de journaux du serveur Apache.

1. Choisissez `Actions`, **Créer un filtre de métriques**.

1. Pour **Modèle de filtre**, saisissez **[ip, id, user, timestamp, request, status\$1code, size]**.

1. (Facultatif) Pour tester votre modèle de filtre, sous **Test Pattern** (Modèle de test), saisissez un ou plusieurs événements du journal à utiliser pour tester le modèle. Chaque événement de journal doit se trouver sur une seule ligne, car des sauts de ligne sont utilisés pour séparer les événements du journal dans la boîte **Messages d'événements du journal**.

1. Choisissez **Next** (Suivant), puis, pour **Filter name** (Nom du filtre), tapez **size**.

1. Sous **Metric details** (Détails de la métrique), pour **Metric namespace** (Espace de nom de la métrique), saisissez **MyNameSpace**. Comme il s'agit d'un nouvel espace de nom, assurez-vous que l'option **Create new** (Créer un nouveau) est sélectionnée.

1. Pour **Nom de la métrique**, saisissez **BytesTransferred**

1. Pour **Valeur de la métrique**, saisissez **\$1size**.

1. Pour **Unit** (Unité), sélectionnez **Bytes** (Octets).

1. Pour **Dimension Name**, tapez **IP**.

1. Pour **Dimension Value** (Valeur de la dimension), tapez **\$1ip** et ensuite choisissez **Next** (Suivant).

1. Choisissez **Créer un filtre de métriques**.

**Pour créer ce filtre métrique à l'aide du AWS CLI**  
A partir d'une invite de commande, exécutez la commande suivante :

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

**Note**  
Dans cette commande, utilisez ce format pour spécifier plusieurs dimensions.  

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

Vous pouvez utiliser les données suivantes dans les put-log-event appels pour tester cette règle. Si vous n'avez pas supprimé la règle de surveillance de l'exemple précédent, vous allez générer deux métriques différentes.

```
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
```