Collecter des métriques de processus avec le plugin procstat - Amazon CloudWatch

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.

Collecter des métriques de processus avec le plugin procstat

Le plugin procstat vous permet de collecter des métriques auprès de processus individuels. Le plugin est pris en charge sur les serveurs Linux et sur les serveurs exécutant une version compatible de Windows Server. Cette section décrit comment configurer l' CloudWatch agent pour procstat et afficher les métriques importées par l' CloudWatch agent. Il répertorie également les métriques collectées par procstat.

Note

Le procstat plugin n'est pas pris en charge pour le type de lancement Fargate dans les environnements Amazon. ECS

Configuration de l' CloudWatch agent pour procstat

Pour utiliser le plugin procstat, ajoutez une procstat section dans la metrics_collected section du fichier de configuration de l' CloudWatch agent. Il existe trois façons de spécifier le processus à surveiller. Vous ne pouvez utiliser que l'une de ces méthodes, mais vous pouvez utiliser cette méthode pour spécifier un ou plusieurs processus à surveiller.

  • pid_file: sélectionne les processus en fonction du nom des fichiers contenant le numéro d'identification du processus (PID) qu'ils créent.

  • exe : sélectionne les processus dont les noms correspondent à la chaîne que vous spécifiez, à l'aide de règles de correspondance d'expression régulière. La correspondance est une correspondance de type « contient », ce qui signifie que si vous spécifiez agent comme terme de correspondance, les processus avec des noms tels que cloudwatchagent correspondent à ce terme. Pour plus d'informations, consultez Syntaxe.

  • pattern : sélectionne les processus selon les lignes de commande utilisées pour démarrer les processus. Toutes les processus sélectionnés ont des lignes de commande correspondant à la chaîne spécifiée à l'aide de règles de correspondance d'expression régulière. L'ensemble de la ligne de commande est vérifiée, y compris les paramètres et options utilisés avec la commande.

    La correspondance est une correspondance de type « contient », ce qui signifie que si vous spécifiez -c comme terme de correspondance, les processus avec des paramètres tels que -config correspondent à ce terme.

  • 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 mesures d'origine soient envoyées à CloudWatch, vous pouvez spécifier ce paramètre avec une liste de mesures. Les mesures spécifiées avec ce paramètre ne sont pas 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.

L' CloudWatch agent n'utilise qu'une seule de ces méthodes, même si vous incluez plusieurs des sections ci-dessus. Si vous spécifiez plusieurs sections, l' CloudWatch agent utilise la pid_file section si elle est présente. Si ce n'est pas le cas, il utilise la section exe.

Sur les serveurs Linux, les chaînes que vous spécifiez dans une section pattern ou exe sont évaluées comme des expressions régulières. Sur les serveurs exécutant Windows Server, ces chaînes sont évaluées comme WMI des requêtes. Un exemple serait pattern: "%apache%". Pour plus d'informations, consultez la section LIKEOpérateur.

Quelle que soit la méthode utilisée, vous pouvez inclure un paramètre metrics_collection_interval facultatif, qui spécifie la fréquence en secondes pour collecter ces métriques. Si vous omettez ce paramètre, la valeur par défaut de 60 secondes est utilisée.

Dans les exemples des sections suivantes, la section procstat est la seule section incluse dans la section metrics_collected du fichier de configuration de l'agent. Les fichiers de configuration réelle peuvent également inclure d'autres sections dans metrics_collected. Pour de plus amples informations, veuillez consulter Création ou modification manuelle du fichier de configuration de CloudWatch l'agent.

Configurer avec pid_file

La procstat section d'exemple suivante surveille les processus qui créent les PID fichiers example1.pid etexample2.pid. Diverses métriques sont collectées auprès de chaque processus. Les métriques collectées auprès du processus qui crée example2.pid sont collectées toutes les 10 secondes, tandis que les métriques collectées auprès du processus example1.pid sont collectées toutes les 60 secondes, par défaut.

{ "metrics": { "metrics_collected": { "procstat": [ { "pid_file": "/var/run/example1.pid", "measurement": [ "cpu_usage", "memory_rss" ] }, { "pid_file": "/var/run/example2.pid", "measurement": [ "read_bytes", "read_count", "write_bytes" ], "metrics_collection_interval": 10 } ] } } }

Configuration avec exe

L'exemple de section procstat suivant surveille tous les processus avec des noms correspondant aux chaînes agent ou plugin. Les mêmes métriques sont collectées auprès de chaque processus.

{ "metrics": { "metrics_collected": { "procstat": [ { "exe": "agent", "measurement": [ "cpu_time", "cpu_time_system", "cpu_time_user" ] }, { "exe": "plugin", "measurement": [ "cpu_time", "cpu_time_system", "cpu_time_user" ] } ] } } }

Configuration avec un modèle

L'exemple de section procstat suivant surveille tous les processus avec des lignes de commande correspondant aux chaînes config ou -c. Les mêmes métriques sont collectées auprès de chaque processus.

{ "metrics": { "metrics_collected": { "procstat": [ { "pattern": "config", "measurement": [ "rlimit_memory_data_hard", "rlimit_memory_data_soft", "rlimit_memory_stack_hard", "rlimit_memory_stack_soft" ] }, { "pattern": "-c", "measurement": [ "rlimit_memory_data_hard", "rlimit_memory_data_soft", "rlimit_memory_stack_hard", "rlimit_memory_stack_soft" ] } ] } } }

Métriques collectées par procstat

Le tableau suivant répertorie les métriques que vous pouvez collecter avec le plugin procstat.

L' CloudWatch agent ajoute procstat au début des noms de métriques suivants. La syntaxe varie selon qu'elles ont été collectées à partir d'un serveur Linux ou d'un serveur exécutant Windows Server. Par exemple, la métrique cpu_time s'affiche en tant que procstat_cpu_time lorsqu'elle est collectée auprès de Linux, et en tant que procstat cpu_time lorsqu'elle est collectée auprès de Windows Server.

Nom de la métrique Disponible sur Description

cpu_time

Linux

Durée pendant laquelle le processus utilise leCPU. Cette métrique est présentée en centièmes de seconde.

Unité : nombre

cpu_time_guest

Linux

Durée pendant laquelle le processus est en mode invité. Cette métrique est présentée en centièmes de seconde.

Type : flottant

Unité : aucune

cpu_time_guest_nice

Linux

La durée pendant laquelle le processus s'exécute chez un invité sympathique. Cette métrique est présentée en centièmes de seconde.

Type : flottant

Unité : aucune

cpu_time_idle

Linux

Durée pendant laquelle le processus est en mode inactif. Cette métrique est présentée en centièmes de seconde.

Type : flottant

Unité : aucune

cpu_time_iowait

Linux

Durée pendant laquelle le processus est en attente d'exécution d'opérations d'I/O. Cette métrique est présentée en centièmes de seconde.

Type : flottant

Unité : aucune

cpu_time_irq

Linux

Durée pendant laquelle le processus prend en charge des interruptions. Cette métrique est présentée en centièmes de seconde.

Type : flottant

Unité : aucune

cpu_time_nice

Linux

Durée pendant laquelle le processus est en mode nice. Cette métrique est présentée en centièmes de seconde.

Type : flottant

Unité : aucune

cpu_time_soft_irq

Linux

Durée pendant laquelle le processus prend en charge des interruptions logicielles. Cette métrique est présentée en centièmes de seconde.

Type : flottant

Unité : aucune

cpu_time_steal

Linux

Durée d'exécution sous d'autres systèmes d'exploitation dans un environnement virtualisé. Cette métrique est présentée en centièmes de seconde.

Type : flottant

Unité : aucune

cpu_time_stolen

Linux, Windows Server

Durée pendant laquelle le processus subit un vol de temps, c'est-à-dire qu'il se consacre à d'autres systèmes d'exploitation dans un environnement virtualisé. Cette métrique est présentée en centièmes de seconde.

Type : flottant

Unité : aucune

cpu_time_system

Linux, Windows Server, macOS

Durée pendant laquelle le processus est en mode système. Cette métrique est présentée en centièmes de seconde.

Type : flottant

Unité : nombre

cpu_time_user

Linux, Windows Server, macOS

Durée pendant laquelle le processus est en mode utilisateur. Cette métrique est présentée en centièmes de seconde.

Unité : nombre

cpu_usage

Linux, Windows Server, macOS

Durée, en pourcentage, pendant laquelle le processus est actif dans n'importe quelle capacité.

Unité : pourcentage

memory_data

Linux, macOS

Quantité de mémoire utilisée par le processus pour les données.

Unité : octets

memory_locked

Linux, macOS

Quantité de mémoire que le processus a verrouillé.

Unité : octets

memory_rss

Linux, Windows Server, macOS

Quantité de mémoire réelle (résident défini) que le processus utilise.

Unité : octets

memory_stack

Linux, macOS

Quantité de mémoire de pile utilisée par le processus.

Unité : octets

memory_swap

Linux, macOS

Quantité de mémoire d'échange utilisée par le processus.

Unité : octets

memory_vms

Linux, Windows Server, macOS

Quantité de mémoire virtuelle utilisée par le processus.

Unité : octets

num_fds

Linux

Nombre de descripteurs de fichiers ouverts par ce processus.

Unité : aucune

num_threads

Linux, Windows, macOS

Nombre de threads dans ce processus.

Unité : aucune

pid

Linux, Windows Server, macOS

Identifiant de processus (ID).

Unité : aucune

pid_count

Linux, Windows Server, macOS

Le nombre de processus IDs associés au processus.

Sur les serveurs Linux et les ordinateurs macOS, le nom complet de cette métrique est procstat_lookup_pid_count ; sur Windows Server, ce nom est procstat_lookup pid_count.

Unité : aucune

read_bytes

Linux, Windows Server

Nombre d'octets lus par le processus sur les disques.

Unité : octets

write_bytes

Linux, Windows Server

Nombre d'octets écrits par le processus sur les disques.

Unité : octets

read_count

Linux, Windows Server

Nombre d'opérations de lecture sur disque exécutées par le processus.

Unité : aucune

rlimit_realtime_priority_hard

Linux

Limite stricte de la priorité en temps réel qui peut être définie pour ce processus.

Unité : aucune

rlimit_realtime_priority_soft

Linux

Limite flexible de la priorité en temps réel qui peut être définie pour ce processus.

Unité : aucune

rlimit_signals_pending_hard

Linux

Limite stricte du nombre maximum de signaux pouvant être mis en file d'attente par ce processus.

Unité : aucune

rlimit_signals_pending_soft

Linux

Limite flexible du nombre maximum de signaux pouvant être mis en file d'attente par ce processus.

Unité : aucune

rlimit_nice_priority_hard

Linux

Limite stricte de la priorité nice maximale qui peut être définie par ce processus.

Unité : aucune

rlimit_nice_priority_soft

Linux

Limite flexible de la priorité nice maximale qui peut être définie par ce processus.

Unité : aucune

rlimit_num_fds_hard

Linux

Limite stricte du nombre maximum de descripteurs de fichiers qu'un processus peut ouvrir.

Unité : aucune

rlimit_num_fds_soft

Linux

Limite flexible du nombre maximum de descripteurs de fichiers qu'un processus peut ouvrir.

Unité : aucune

write_count

Linux, Windows Server

Nombre d'opérations d'écriture sur disque exécutées par le processus.

Unité : aucune

involuntary_context_switches

Linux

Nombre de fois que le contexte du processus a été involontairement commuté.

Unité : aucune

voluntary_context_switches

Linux

Nombre de fois que le contexte du processus a été volontairement commuté.

Unité : aucune

realtime_priority

Linux

Utilisation actuelle de la priorité en temps réel du processus.

Unité : aucune

nice_priority

Linux

Utilisation actuelle de la priorité nice du processus.

Unité : aucune

signals_pending

Linux

Nombre de signaux en attente de traitement par le processus.

Unité : aucune

rlimit_cpu_time_hard

Linux

La limite de ressources en CPU temps difficile pour le processus.

Unité : aucune

rlimit_cpu_time_soft

Linux

Limite CPU temporelle souple des ressources pour le processus.

Unité : aucune

rlimit_file_locks_hard

Linux

Limite de ressources de verrouillages de fichier irréversible pour le processus.

Unité : aucune

rlimit_file_locks_soft

Linux

Limite de ressources de verrouillages de fichier temporaire pour le processus.

Unité : aucune

rlimit_memory_data_hard

Linux

Limite de ressource irréversible sur le processus pour la mémoire utilisée pour les données.

Unité : octets

rlimit_memory_data_soft

Linux

Limite de ressource temporaire sur le processus pour la mémoire utilisée pour les données.

Unité : octets

rlimit_memory_locked_hard

Linux

Limite de ressource irréversible sur le processus pour la mémoire verrouillée.

Unité : octets

rlimit_memory_locked_soft

Linux

Limite de ressource temporaire sur le processus pour la mémoire verrouillée.

Unité : octets

rlimit_memory_rss_hard

Linux

Limite de ressource irréversible sur le processus pour la mémoire physique.

Unité : octets

rlimit_memory_rss_soft

Linux

Limite de ressource temporaire sur le processus pour la mémoire physique.

Unité : octets

rlimit_memory_stack_hard

Linux

Limite de ressources irréversible pour la pile de processus.

Unité : octets

rlimit_memory_stack_soft

Linux

Limite de ressources temporaire pour la pile de processus.

Unité : octets

rlimit_memory_vms_hard

Linux

Limite de ressource irréversible sur le processus pour la mémoire virtuelle.

Unité : octets

rlimit_memory_vms_soft

Linux

Limite de ressource temporaire sur le processus pour la mémoire virtuelle.

Unité : octets

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

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

Pour afficher les métriques du processus dans la CloudWatch console
  1. Ouvrez la CloudWatch console à 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. C'est le cas par défaut CWAgent, mais vous avez peut-être spécifié un espace de noms différent dans le fichier de configuration de l' CloudWatch agent.

  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 CloudWatch tableau de bord, choisissez Actions, puis Ajouter au tableau de bord.