Récupération de métriques personnalisées avec StatsD - Amazon CloudWatch

Récupération de métriques personnalisées avec StatsD

Vous pouvez récupérer des métriques personnalisées à partir de vos applications ou services à l'aide de l'agent CloudWatch et du protocole StatsD. StatsD est une solution open source populaire qui peut collecter des métriques à partir d'une grande variété d'applications. StatsD est particulièrement utile pour instrumenter vos propres métriques. Pour obtenir un exemple d'utilisation conjointe de l'agent CloudWatch et de StatsD, consultez Comment mieux surveiller vos métriques d'application personnalisées à l'aide de l'agent Amazon CloudWatch.

StatsD est pris en charge sur les serveurs Linux et les serveurs exécutant Windows Server. CloudWatch prend en charge le format StatsD suivant :

MetricName:value|type|@sample_rate|#tag1: value,tag1...
  • MetricName – Une chaîne sans signe deux-points, sans barre, sans caractère # ou @.

  • value – Il peut s'agir d'un nombre entier ou à virgule flottante.

  • type – Spécifie c pour compteur, g pour jauge, ms pour minuteur, h pour histogramme ou s pour définir.

  • sample_rate – (Facultatif) Une valeur à virgule flottante comprise entre 0 et 1, inclus. À réserver aux métriques de compteur, d'histogramme et de minuteur. La valeur par défaut est 1 (échantillonnage 100 % du temps).

  • tags – (Facultatif) Une liste séparée par des virgules de balises. Les balises StatsD sont similaires aux dimensions dans CloudWatch. Utilisez le signe deux-points pour les balises clé/valeur, telles que env:prod.

Vous pouvez utiliser n'importe quel client StatsD qui respecte ce format pour envoyer les métriques à l'agent CloudWatch. Pour plus d'informations sur les clients StatsD disponibles, consultez la Page de clients StatsD sur GitHub.

Pour collecter ces métriques personnalisées, ajoutez une ligne "statsd": {} à la section metrics_collected du fichier de configuration de l'agent. Vous pouvez ajouter cette ligne manuellement. Si vous utilisez l'assistant pour créer le fichier de configuration, cette opération est faite à votre place. Pour de plus amples informations, consultez Créez le fichier de configuration d'agent CloudWatch.

La configuration par défaut du protocole StatsD fonctionne pour la plupart des utilisateurs. Il existe des champs facultatifs que vous pouvez ajouter à la section statsd du fichier de configuration de l'agent, le cas échéant :

  • service_address – L'adresse de service que l'agent CloudWatch doit écouter. Le format est le suivant ip:port. Si vous omettez l'adresse IP, l'agent écoute sur toutes les interfaces disponibles. Seul le format UDP est pris en charge, vous n'avez donc pas besoin de spécifier un préfixe UDP.

    La valeur par défaut est :8125.

  • metrics_collection_interval – Indique la fréquence, en secondes, d'exécution et de collecte des métriques par le plugin StatsD. La valeur par défaut est de 10 secondes. La plage est comprise entre 1 et 172 000.

  • metrics_aggregation_interval – Indique la fréquence, en secondes, de regroupement des métriques en points de données uniques par CloudWatch. La valeur par défaut est de 60 secondes.

    Par exemple, si metrics_collection_interval est égal à 10 et metrics_aggregation_interval est égal à 60, CloudWatch collecte les données toutes les 10 secondes. Après chaque minute, les six lectures de données effectuées lors de cette minute sont regroupées en un seul point de données, qui est envoyé à CloudWatch.

    La plage est comprise entre 0 et 172 000. Le fait de définir metrics_aggregation_interval sur zéro désactive le regroupement de métriques StatsD.

  • allowed_pending_messages – Nombre de messages UDP autorisés à être placés en file d'attente. Lorsque la file d'attente est pleine, le serveur StatsD commence à supprimer des paquets. La valeur par défaut est 10 000.

  • drop_original_metrics : facultatif. Si vous utilisez le champ aggregation_dimensions de la section metrics pour regrouper les métriques dans des résultats agrégés, l'agent envoie par défaut les métriques agrégées et les métriques d'origine qui sont séparées pour chaque valeur de la dimension. Si vous ne souhaitez pas que les métriques d'origine soient envoyées à CloudWatch, vous pouvez spécifier ce paramètre avec une liste de métriques. Les métriques spécifiées avec ce paramètre n'ont pas leurs métriques par dimensions signalées à CloudWatch. Au lieu de cela, seules les métriques agrégées sont signalées. Cela réduit le nombre de métriques collectées par l'agent, ce qui réduit vos coûts.

Voici un exemple de la section statsd du fichier de configuration de l'agent, qui utilise le port par défaut et des intervalles de collecte et de regroupement personnalisés.

{ "metrics":{ "metrics_collected":{ "statsd":{ "service_address":":8125", "metrics_collection_interval":60, "metrics_aggregation_interval":300 } } } }

Affichage des métriques StatsD importées par l'agent CloudWatch

Après avoir importé des métriques StatsD dans CloudWatch, vous pouvez les afficher sous forme de graphiques de séries chronologiques et créer des alertes qui peuvent regarder ces métriques avant de vous avertir si elles ne respectent pas un seuil que vous spécifiez. La procédure suivante montre comment afficher les métriques StatsD sous la forme d'un graphique de séries chronologiques. Pour plus d'informations sur la configuration des alertes, consultez Utilisation d'alertes Amazon CloudWatch.

Pour afficher les métriques StatsD sur la console CloudWatch
  1. Ouvrez la console CloudWatch à l’adresse https://console.aws.amazon.com/cloudwatch/.

  2. Dans le panneau de navigation, sélectionnez ‎Métriques.

  3. Sélectionnez l'espace de noms pour les métriques collectées par l'agent. Par défaut, il s'agit de l'CWAgent, mais vous avez peut-être spécifié un espace de noms différent dans le fichier de configuration de l'agent CloudWatch.

  4. Sélectionnez une dimension de métrique (Per-Instance Metrics (Métriques par instance) par exemple).

  5. L'onglet All metrics (Toutes les métriques) affiche toutes les métriques pour cette dimension dans l'espace de nom. Vous pouvez effectuer les actions suivantes :

    1. Pour représenter graphiquement une métrique, cochez la case en regard de la métrique. Pour sélectionner toutes les métriques, cochez la case dans la ligne d’en-tête du tableau.

    2. Pour trier le tableau, utilisez l’en-tête de colonne.

    3. Pour filtrer par ressource, sélectionnez l'ID de ressource, puis Add to search Ajouter à la recherche).

    4. Pour filtrer par métrique, choisissez le nom de la métrique, puis Add to search (Ajouter à la recherche).

  6. (Facultatif) Pour ajouter ce graphique à un tableau de bord CloudWatch, choisissez Actions (Actions), puis Add to dashboard (Ajouter au tableau de bord).