Exemple : comptage de codes HTTP 4xx - Amazon CloudWatch Logs

Exemple : comptage de codes HTTP 4xx

Comme dans l'exemple précédent, il se peut que vous souhaitiez surveiller vos journaux d'accès aux services Web ainsi que les niveaux de code de réponse HTTP. Par exemple, vous pouvez souhaiter surveiller toutes les erreurs HTTP de niveau 400. Cependant, vous ne voudrez pas forcément spécifier un nouveau filtre de métrique pour chaque code de retour.

Vous trouverez ci-dessous comment créer une métrique qui inclut toutes les réponses de code HTTP de niveau 400 à partir d'un journal d'accès en utilisant le format de journal d'accès Apache de l'exemple Exemple : Comptage du nombre de codes HTTP 404.

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

  1. Ouvrez la console CloudWatch à l'adresse https://console.aws.amazon.com/ CloudWatch/.

  2. Dans le panneau de navigation, choisissez Groupes de journaux.

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

  4. Choisissez Actions, Créer un filtre de métriques.

  5. Pour Modèle de filtre, saisissez [ip, id, user, timestamp, request, status_code=4*, size].

  6. (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.

  7. Choisissez Next (Suivant), puis, pour Filter name (Nom du filtre), tapez HTTP4xxErrors.

  8. Sous Détails de la métrique, pour Espace de nom de la métrique, saisissez MyNameSpace.

  9. Pour Nom de la métrique, saisissez Http4xxErrors.

  10. Pour Valeur de la métrique, saisissez 1. Cela indique que le décompte est augmenté d'1 pour chaque événement de journal contenant « 4xx error ».

  11. Pour Default value (Valeur par défaut) saisissez 0, puis choisissez Next (Suivant).

  12. Choisissez Créer un filtre de métriques.

Pour créer un filtre de métrique à l'aide de la 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 HTTP4xxErrors \ --filter-pattern '[ip, id, user, timestamp, request, status_code=4*, size]' \ --metric-transformations \ metricName=HTTP4xxErrors,metricNamespace=MyNamespace,metricValue=1,defaultValue=0

Vous pouvez utiliser les données suivantes dans les appels PutEvents pour tester cette règle. Si vous n'a 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