Création ou édition manuelle du fichier de configuration d'agent CloudWatch - Amazon CloudWatch

Création ou édition manuelle du fichier de configuration d'agent CloudWatch

Le fichier de configuration de l’agent CloudWatch est un fichier JSON avec quatre sections : agent, metrics, logs et traces.

  • La section agent inclut des champs pour la configuration générale de l'agent.

  • La section metrics indique des métriques personnalisées pour la collecte et la publication dans CloudWatch. Si vous utilisez l'agent uniquement pour collecter les journaux, vous pouvez omettre la section metrics du fichier.

  • La section logs spécifie les fichiers journaux qui sont publiés dans CloudWatch Logs. Ceci peut inclure des événements du journal des événements Windows si le serveur exécute Windows Server.

  • La section traces indique les sources des traces collectées et envoyées à AWS X-Ray.

Cette section explique la structure et les champs du fichier de configuration de l’agent CloudWatch. Vous pouvez consulter la définition du schéma de ce fichier de configuration. La définition de schéma se trouve dans installation-directory/doc/amazon-cloudwatch-agent-schema.json sur les serveurs Linux et dans installation-directory/amazon-cloudwatch-agent-schema.json sur les serveurs exécutant Windows Server.

Si vous créez ou modifiez manuellement la configuration d'agent , vous pouvez lui donner n'importe quel nom. Pour faciliter les éventuels dépannages, nous vous recommandons de le nommer /opt/aws/amazon-cloudwatch-agent/etc/cloudwatch-agent.json sur un serveur Linux et $Env:ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json sur les serveurs exécutant Windows Server. Vous pouvez ensuite copier ce fichier vers d'autres serveurs sur lesquels vous souhaitez installer l'agent une fois que vous avez créé le fichier.

Lorsque l’agent démarre, il crée automatiquement une copie de chaque fichier de configuration dans le répertoire /opt/aws/amazon-cloudwatch/etc/amazon-cloudwatch-agent.d, avec le nom du fichier préfixé de file_ (si la configuration provient d’un fichier local) ou ssm_ (si la configuration provient de Systems Manager), afin d’indiquer l’origine de la configuration.

Note

Les métriques, journaux et suivis collectés par l’agent CloudWatch entraînent des coûts. Pour plus d'informations sur la tarification, consultez Tarification Amazon CloudWatch.

La section agent peut inclure les champs suivants. L'Assistant ne crée pas de section agent. Au lieu de cela, l'Assistant l'omet et il utilise les valeurs par défaut pour tous les champs de cette section.

  • metrics_collection_interval – Facultatif. Indique la fréquence à laquelle toutes les métriques spécifiées dans ce fichier de configuration doivent être collectées. Vous pouvez remplacer cette valeur pour des types spécifiques de métriques.

    Cette valeur est spécifiée en secondes. Par exemple, en spécifiant 10, les métriques sont collectées toutes les 10 secondes, et en le fixant à 300, les métriques sont collectées toutes les 5 minutes.

    Si vous définissez une valeur inférieure à 60 secondes, chaque métrique est collectée sous la forme d'une métrique haute résolution. Pour plus d'informations sur les métriques haute résolution, consultez Métriques haute résolution.

    La valeur par défaut est 60.

  • region – Spécifie la région à utiliser pour le point de terminaison CloudWatch lorsqu'une instance Amazon EC2 est surveillée. Les métriques collectées sont envoyées à cette région, par exemple us-west-1. Si vous ne spécifiez pas ce champ, l'agent envoie les métriques à la région dans laquelle se trouve l'instance Amazon EC2.

    Si vous surveillez un serveur sur site, ce champ n'est pas utilisé et l'agent lit la région à partir du profil AmazonCloudWatchAgent du fichier de configuration AWS.

  • credentials – Spécifie un rôle IAM à utiliser lors de l'envoi de métriques, de journaux et de traces à un compte AWS différent. S'il est spécifié, ce champ contient un paramètre, role_arn.

  • debug – Facultatif. Indique l'exécution de l'agent CloudWatch avec des messages de journal de débogage. La valeur par défaut est false.

  • aws_sdk_log_level – Facultatif. Pris en charge uniquement dans la version 1.247350.0 et les versions ultérieures de l’agent CloudWatch.

    Vous pouvez spécifier ce champ pour que l'agent effectue la journalisation pour les points de terminaison du kit SDK AWS. La valeur de ce champ peut inclure une ou plusieurs des options suivantes. Séparez les différentes options avec le caractère |.

    • LogDebug

    • LogDebugWithSigning

    • LogDebugWithHTTPBody

    • LogDebugRequestRetries

    • LogDebugWithEventStreamBody

    Pour de plus amples informations sur ces options, veuillez consulter LogLevelType.

  • logfile – Spécifie l'emplacement dans lequel l'agent CloudWatch écrit les messages de journaux. Si vous spécifiez une chaîne vide, le journal est acheminé vers stderr. Si vous ne spécifiez pas cette option, les emplacements par défaut sont les suivants :

    • Linux : /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log

    • Windows Server : c:\\ProgramData\\Amazon\\CloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log

    L'agent CloudWatch opère automatiquement la rotation du fichier journal qu'il crée. Un fichier journal fait l'objet d'une rotation lorsqu'il atteint 100 Mo de taille. L'agent conserve pendant une durée de sept jours les fichiers journaux ayant fait l'objet d'une rotation et il peut conserver jusqu'à cinq fichiers journaux de sauvegarde qui ont fait l'objet d'une rotation. Les fichiers journaux sauvegardés disposent d'un horodatage ajouté à leur nom de fichier. L'horodatage indique la date et l'heure auxquelles le fichier a fait l'objet d'une rotation : par exemple, amazon-cloudwatch-agent-2018-06-08T21-01-50.247.log.gz.

  • omit_hostname – Facultatif. Par défaut, le nom d'hôte est publié sous la forme de la dimension des métriques qui sont collectées par l'agent, sauf si vous utilisez le champ append_dimensions dans la section metrics. Définissez omit_hostname sur true pour éviter que le nom d'hôte soit publié en tant que dimension même si vous n'utilisez pas append_dimensions. La valeur par défaut est false.

  • run_as_user – Facultatif. Spécifie l'utilisateur à utiliser pour exécuter l'agent CloudWatch. Si vous ne spécifiez pas ce paramètre, l'utilisateur racine est utilisé. Cette option est valide uniquement sur les serveurs Linux.

    Si vous spécifiez cette option, l'utilisateur doit exister avant que vous ne démarriez l'agent CloudWatch. Pour de plus amples informations, consultez Exécution de l'agent CloudWatch sous l'identité d'un autre utilisateur.

  • user_agent – Facultatif. Spécifie la chaîne user-agent qui est utilisée par l'agent CloudWatch lorsqu'il effectue des appels d'API vers le backend CloudWatch. La valeur par défaut est une chaîne composée de la version de l'agent, de la version du langage de programmation Go utilisé pour compiler l'agent, du système d'exploitation et de l'architecture d'exécution, du temps de génération et des plug-ins activés.

  • usage_data : facultatif. Par défaut, l'agent CloudWatch envoie des données de santé et de performance le concernant à CloudWatch chaque fois qu'il publie des métriques ou des journaux sur CloudWatch. Ces données ne vous coûtent rien. Vous pouvez empêcher l'agent d'envoyer ces données en spécifiant false pour usage_data. Si vous omettez ce paramètre, la valeur par défaut true est utilisée et l'agent envoie des données de santé et de performance.

    Si vous définissez cette valeur sur false, vous devez arrêter et redémarrer l'agent pour qu'elle prenne effet.

  • service.name : facultatif. Spécifie le nom du service à utiliser pour renseigner l’entité afin de trouver la télémétrie associée.

  • deployment.environment : facultatif. Spécifie le nom de l’environnement à utiliser pour renseigner l’entité afin de trouver la télémétrie associée.

Voici un exemple de valeur pour une section agent.

"agent": { "metrics_collection_interval": 60, "region": "us-west-1", "logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log", "debug": false, "run_as_user": "cwagent" }

Champs communs à Linux et Windows

Sur les serveurs exécutant Linux ou Windows Server, la section metrics comprend les champs suivants :

  • namespace – Facultatif. Espace de noms à utiliser pour les métriques collectées par l'agent. La valeur par défaut est CWAgent. La longueur maximale est de 255 caractères. Voici un exemple :

    { "metrics": { "namespace": "Development/Product1Metrics", ...... }, }
  • append_dimensions – Facultatif. Ajoute des dimensions métriques Amazon EC2 à toutes les métriques collectées par l'agent. Cela provoque également l'agent de ne pas publier le nom d'hôte en tant que dimension.

    Les seules paires clé-valeur prises en charge pour append_dimensions sont affichées dans la liste suivante. Toutes les autres paires clé-valeur sont ignorées. L'agent prend en charge ces paires clé-valeur exactement comme indiqué dans la liste suivante. Vous ne pouvez pas modifier les valeurs clés pour publier des noms de dimension différents pour celles-ci.

    • "ImageId":"${aws:ImageId}" définit l'ID d'AMI de l'instance comme valeur de la dimension ImageId.

    • "InstanceId":"${aws:InstanceId}" définit l'ID d'instance de l'instance comme valeur de la dimension InstanceId.

    • "InstanceType":"${aws:InstanceType}" définit le type d'instance de l'instance comme valeur de la dimension InstanceType.

    • "AutoScalingGroupName":"${aws:AutoScalingGroupName}" définit le nom du groupe Auto Scaling de l'instance comme valeur de la dimension AutoScalingGroupName.

    Si vous souhaitez ajouter des dimensions aux métriques avec des paires clé-valeur arbitraires, utilisez le paramètre append_dimensions dans le champ pour ce type de métrique particulier.

    Si vous spécifiez une valeur qui dépend des métadonnées Amazon EC2 et que vous utilisez des proxys, vous devez vous assurer que le serveur peut accéder au point de terminaison pour Amazon EC2. Pour plus d'informations sur ces points de terminaison, consultez la rubrique Amazon Elastic Compute Cloud (Amazon EC2) du document Référence générale d'Amazon Web Services.

  • aggregation_dimensions – Facultatif. Spécifie les dimensions sur lesquelles les métriques collectées vont être regroupées. Par exemple, si vous regroupez les métriques sur la dimension AutoScalingGroupName, les métriques de toutes les instances dans chaque groupe Auto Scaling sont regroupées et peuvent être affichées dans leur ensemble.

    Vous pouvez regrouper des métriques sur une ou plusieurs dimensions. Par exemple, spécifier [["InstanceId"], ["InstanceType"], ["InstanceId","InstanceType"]] regroupe les métriques pour l'ID d'instance individuellement, le type d'instance individuellement et pour la combinaison des deux dimensions.

    Vous pouvez également spécifier [] pour regrouper toutes les métriques dans une collection, indépendamment de toutes les dimensions.

  • endpoint_override – Spécifie un point de terminaison FIPS ou un lien privé à utiliser en tant que point de terminaison auquel l'agent envoie les métriques. Cette spécification et la définition d'un lien privé vous permettent d'envoyer les métriques à un point de terminaison Amazon VPC. Pour de plus amples informations, consultez Qu'est-ce qu'Amazon VPC ?.

    La valeur de endpoint_override doit être une chaîne qui est une URL.

    Par exemple, la partie suivante de la section Métriques du fichier de configuration définit l'agent pour qu'il utilise un point de terminaison d'un VPC lors de l'envoi de métriques.

    { "metrics": { "endpoint_override": "vpce-XXXXXXXXXXXXXXXXXXXXXXXXX.monitoring.us-east-1.vpce.amazonaws.com", ...... }, }
  • metrics_collected – Obligatoire Spécifie les métriques qui doivent être collectées, y compris les métriques personnalisées collectées via StatsD ou collectd. Cette section inclut plusieurs sous-sections.

    Le contenu de la section metrics_collected varie selon que ce fichier de configuration est pour un serveur exécutant Linux ou Windows Server.

  • metrics_destinations : facultatif. Spécifie une ou plusieurs destinations pour toutes les métriques définies dans metrics_collected. Si spécifié ici, il remplace la destination par défaut de cloudwatch.

    • cloudwatch : Amazon CloudWatch.

    • amp : Amazon Managed Service pour Prometheus.

      • workspace_id : l’ID correspondant à l’espace de travail Amazon Managed Service pour Prometheus.

    { "metrics": { "metrics_destinations": { "cloudwatch": {}, "amp": { "workspace_id": "ws-abcd1234-ef56-7890-ab12-example" } } } }
  • force_flush_interval – Spécifie en secondes la durée maximale pendant laquelle les métriques demeurent dans la mémoire tampon avant d'être envoyées au serveur. Quelle que soit la configuration, si la taille des métriques dans la mémoire tampon atteint 1 Mo ou le nombre de 1000 différentes métriques, les métriques sont immédiatement envoyées au serveur.

    La valeur par défaut est 60.

  • credentials – Spécifie un rôle IAM à utiliser lors de l'envoi de métriques à un compte différent. S'il est spécifié, ce champ contient un paramètre, role_arn.

    • role_arn – Spécifie l'ARN d'un rôle IAM à utiliser pour l'authentification lors de l'envoi de métriques à un compte différent. Pour de plus amples informations, consultez Envoi de métriques, de journaux et de traces à un autre compte. Si elle est spécifiée ici, cette valeur remplace le role_arn spécifié dans la section agent du fichier de configuration, le cas échéant.

    • service.name : facultatif. Spécifie le nom du service à utiliser pour renseigner l’entité afin de trouver la télémétrie associée.

    • deployment.environment : facultatif. Spécifie le nom de l’environnement à utiliser pour renseigner l’entité afin de trouver la télémétrie associée.

Section Linux

Sur les serveurs exécutant Linux, la section metrics_collected du fichier de configuration peut également contenir les champs suivants.

La plupart de ces champs peuvent inclure des sections measurement qui répertorient les métriques que vous souhaitez collecter pour cette ressource. Ces sections measurement peuvent spécifier soit le nom complet de la métrique, par exemple swap_used, soit uniquement la partie du nom de la métrique qui sera ajoutée au type de ressource. Par exemple, la spécification de reads dans la section measurement de la section diskio entraîne la collecte de la métrique diskio_reads.

  • collectd – Facultatif. Spécifie que vous souhaitez récupérer les métriques personnalisées à l'aide du protocole collectd. Vous utilisez le logiciel collectd pour envoyer les métriques à l'agent CloudWatch. Pour plus d'informations sur les options de configuration de collectd, consultez Récupération de métriques personnalisées avec collectd.

  • cpu – Facultatif. Indique que des métriques d'UC doivent être collectées. Cette section est valable uniquement pour les instances Linux. Vous devez inclure au moins un des champs totalcpu et resources pour toutes les métriques d'UC à collecter. Cette section peut inclure les champs suivants :

    • 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.

    • resources : facultatif. Spécifiez ce champ avec la valeur * pour déclencher la collecte des métriques par uc. La seule valeur autorisée est *.

    • totalcpu – Facultatif. Indique s'il est nécessaire de signaler les métriques agrégées entre tous les cœurs de cpu. Par défaut, la valeur est true.

    • measurement – Spécifie l'éventail de métriques d'UC à collecter. Les valeurs possibles sont time_active, time_guest, time_guest_nice, time_idle, time_iowait, time_irq, time_nice, time_softirq, time_steal, time_system, time_user, usage_active, usage_guest, usage_guest_nice, usage_idle, usage_iowait, usage_irq, usage_nice, usage_softirq, usage_steal, usage_system et usage_user. Ce champ est obligatoire si vous incluez cpu.

      Par défaut, l'unité pour les métriques cpu_usage_* est Percent et les métriques cpu_time_* n'ont pas d'unité.

      Dans l'entrée de chaque métrique, vous pouvez, si vous le souhaitez, spécifier l'une des valeurs suivantes :

      • rename – Spécifie un nom différent pour cette métrique.

      • unit – Spécifie l'unité à utiliser pour cette métrique, en remplaçant l'unité par défaut de None pour la métrique. L'unité que vous indiquez doit être une unité de métrique CloudWatch valide, comme indiqué dans la description Unit de MetricDatum.

    • metrics_collection_interval – Facultatif. Indique la fréquence de collecte des métriques cpu, en remplaçant la valeur metrics_collection_interval globale spécifiée dans la section agent du fichier de configuration.

      Cette valeur est spécifiée en secondes. Par exemple, en spécifiant 10, les métriques sont collectées toutes les 10 secondes, et en le fixant à 300, les métriques sont collectées toutes les 5 minutes.

      Si vous définissez une valeur inférieure à 60 secondes, chaque métrique est collectée sous la forme d'une métrique haute résolution. Pour plus d'informations sur les métriques haute résolution, consultez Métriques haute résolution.

    • append_dimensions – Facultatif. Autres dimensions à utiliser pour seulement les métriques cpu. Si vous spécifiez ce champ, il est utilisé en plus des dimensions spécifiées dans le champ append_dimensions global qui est utilisé pour tous les types de métriques collectées par l'agent.

  • disk – Facultatif. Indique les métriques de disque qui doivent être collectées. Collecte les métriques uniquement pour les volumes montés. Cette section est valable uniquement pour les instances Linux. Cette section peut inclure les champs suivants :

    • 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.

    • resources – Facultatif. Spécifie un ensemble de points de montage de disque. Ce champ limite CloudWatch à la collecte des métriques des seuls points de montage répertoriés. Vous pouvez spécifier * comme valeur pour la collecter des métriques de tous les points de montage. La valeur par défaut consiste à collecter les métriques de tous points de montage.

    • measurement – Spécifie l'éventail de métriques de disque à collecter. Les valeurs possibles sont : free, total, used, used_percent, inodes_free, inodes_used et inodes_total. Ce champ est obligatoire si vous incluez disk.

      Note

      Les métriques disk ont une dimension pour Partition, ce qui signifie que le nombre de métriques personnalisées générées dépend du nombre de partitions associées à votre instance. Le nombre de partitions de disque dont vous disposez dépend de l'AMI que vous utilisez et du nombre de volumes Amazon EBS que vous attachez au serveur.

      Pour voir les unités par défaut de chaque métrique disk, consultez Métriques collectées par l'agent CloudWatch sur les instances Linux et macOS.

      Dans l'entrée de chaque métrique, vous pouvez, si vous le souhaitez, spécifier l'une des valeurs suivantes :

      • rename – Spécifie un nom différent pour cette métrique.

      • unit – Spécifie l'unité à utiliser pour cette métrique, en remplaçant l'unité par défaut de None de None pour la métrique. L'unité que vous indiquez doit être une unité de métrique CloudWatch valide, comme indiqué dans la description Unit de MetricDatum.

    • ignore_file_system_types – Spécifie les types de systèmes de fichiers à exclure lors de la collecte des métriques de disque. Les valeurs valides sont sysfs, devtmpfs et ainsi de suite.

    • drop_device – Si vous définissez ce paramètre sur true, Device n'est pas inclus comme dimension pour les métriques de disque.

      Empêcher Device d'être utilisé comme dimension peut être utile sur les instances qui font appel au système Nitro, car sur ces instances, les noms d'appareil changent pour chaque montage de disque lors du redémarrage de l'instance. Cela peut entraîner des données incohérentes dans vos métriques et faire en sorte que les alertes basées sur ces métriques passent à l'état INSUFFICIENT DATA.

      La valeur par défaut est false.

    • metrics_collection_interval – Facultatif. Indique la fréquence de collecte des métriques disque, en remplaçant la valeur metrics_collection_interval globale spécifiée dans la section agent du fichier de configuration.

      Cette valeur est spécifiée en secondes.

      Si vous définissez une valeur inférieure à 60 secondes, chaque métrique est collectée sous la forme d'une métrique haute résolution. Pour de plus amples informations, consultez Métriques haute résolution.

    • append_dimensions – Facultatif. Permet de spécifier les paires clé-valeur à utiliser comme dimensions supplémentaires uniquement pour les métriques de disque. Si vous spécifiez ce champ, il est utilisé en plus des dimensions spécifiées dans le champ append_dimensions qui est utilisé pour tous les types de métriques collectées par l'agent.

      Voici une paire clé-valeur que vous pouvez utiliser. Vous pouvez également spécifier d’autres paires clé-valeur personnalisées.

      • "VolumeId":"${aws:VolumeId}" ajoute une dimension VolumeId aux métriques de disque de votre périphérique de stockage en mode bloc. Pour les volumes Amazon EBS, cette valeur correspond à l’ID du volume Amazon EBS. Pour le stockage d’instances EC2, cette valeur correspond au numéro de série du périphérique. Pour l’utiliser, le paramètre drop_device doit être défini sur false.

  • diskio – Facultatif. Spécifie les métriques disque i/o qui doivent être collectées. Cette section est valable uniquement pour les instances Linux. Cette section peut inclure les champs suivants :

    • 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.

    • resources – Facultatif. Si vous spécifiez un tableau d'appareils, CloudWatch collecte les métriques de ces seuls appareils. Dans le cas contraire, les métriques de tous les appareils sont collectées. Vous pouvez aussi spécifier * comme valeur pour la collecter des métriques de tous les appareils.

    • measurement : indique le tableau de métriques de pilotes diskio et AWS NVMe à collecter pour les volumes Amazon EBS et les volumes de stockage d’instances attachés aux instances Amazon EC2. Les valeurs possibles sont : reads, writes, read_bytes, write_bytes, read_time, write_time, io_time et iops_in_progress. Pour la liste des métriques du pilote NVMe pour les volumes Amazon EBS et les volumes de stockage d’instances Amazon EC2, consultez Collecte des métriques du pilote NVMe pour Amazon EBS et Collecte des métriques du pilote NVMe pour les volumes de stockage d’instances Amazon EC2. Ce champ est obligatoire si vous incluez diskio.

      Dans l'entrée de chaque métrique, vous pouvez, si vous le souhaitez, spécifier l'une des valeurs suivantes :

      • rename – Spécifie un nom différent pour cette métrique.

      • unit – Spécifie l'unité à utiliser pour cette métrique, en remplaçant l'unité par défaut de None de None pour la métrique. L'unité que vous indiquez doit être une unité de métrique CloudWatch valide, comme indiqué dans la description Unit de MetricDatum.

      Pour plus d’informations sur les unités par défaut et la description des métriques, consultez Collecte des métriques du pilote NVMe pour Amazon EBS .

    • metrics_collection_interval – Facultatif. Indique la fréquence de collecte des métriques diskio, en remplaçant la valeur metrics_collection_interval globale spécifiée dans la section agent du fichier de configuration.

      Cette valeur est spécifiée en secondes.

      Si vous définissez une valeur inférieure à 60 secondes, chaque métrique est collectée sous la forme d'une métrique haute résolution. Pour plus d'informations sur les métriques haute résolution, consultez Métriques haute résolution.

    • append_dimensions – Facultatif. Autres dimensions à utiliser pour seulement les métriques diskio. Si vous spécifiez ce champ, il est utilisé en plus des dimensions spécifiées dans le champ append_dimensions qui est utilisé pour tous les types de métriques collectées par l'agent.

  • swap – Facultatif. Indique que les métriques de mémoire swap doivent être collectées. Cette section est valable uniquement pour les instances Linux. Cette section peut inclure les champs suivants :

    • 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.

    • measurement – Spécifie l'éventail de métriques de swap à collecter. Les valeurs possibles sont free, used et used_percent. Ce champ est obligatoire si vous incluez swap.

      Pour voir les unités par défaut de chaque métrique swap, consultez Métriques collectées par l'agent CloudWatch sur les instances Linux et macOS.

      Dans l'entrée de chaque métrique, vous pouvez, si vous le souhaitez, spécifier l'une des valeurs suivantes :

      • rename – Spécifie un nom différent pour cette métrique.

      • unit – Spécifie l'unité à utiliser pour cette métrique, en remplaçant l'unité par défaut de None de None pour la métrique. L'unité que vous indiquez doit être une unité de métrique CloudWatch valide, comme indiqué dans la description Unit de MetricDatum.

    • metrics_collection_interval – Facultatif. Indique la fréquence de collecte des métriques swap, en remplaçant la valeur metrics_collection_interval globale spécifiée dans la section agent du fichier de configuration.

      Cette valeur est spécifiée en secondes.

      Si vous définissez une valeur inférieure à 60 secondes, chaque métrique est collectée sous la forme d'une métrique haute résolution. Pour plus d'informations sur les métriques haute résolution, consultez Métriques haute résolution.

    • append_dimensions – Facultatif. Autres dimensions à utiliser pour seulement les métriques swap. Si vous spécifiez ce champ, il est utilisé en plus des dimensions spécifiées dans le champ append_dimensions global qui est utilisé pour tous les types de métriques collectées par l'agent. Elle est collectée sous la forme d'une métrique haute résolution.

  • mem – Facultatif. Indique que les métriques de mémoire doivent être collectées. Cette section est valable uniquement pour les instances Linux. Cette section peut inclure les champs suivants :

    • 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.

    • measurement – Spécifie l'éventail de métriques de mémoire à collecter. Les valeurs possibles sont : active, available, available_percent, buffered, cached, free, inactive, total, used et used_percent. Ce champ est obligatoire si vous incluez mem.

      Pour voir les unités par défaut de chaque métrique mem, consultez Métriques collectées par l'agent CloudWatch sur les instances Linux et macOS.

      Dans l'entrée de chaque métrique, vous pouvez, si vous le souhaitez, spécifier l'une des valeurs suivantes :

      • rename – Spécifie un nom différent pour cette métrique.

      • unit – Spécifie l'unité à utiliser pour cette métrique, en remplaçant l'unité par défaut de None pour la métrique. L'unité que vous indiquez doit être une unité de métrique CloudWatch valide, comme indiqué dans la description Unit de MetricDatum.

    • metrics_collection_interval – Facultatif. Indique la fréquence de collecte des métriques mem, en remplaçant la valeur metrics_collection_interval globale spécifiée dans la section agent du fichier de configuration.

      Cette valeur est spécifiée en secondes.

      Si vous définissez une valeur inférieure à 60 secondes, chaque métrique est collectée sous la forme d'une métrique haute résolution. Pour plus d'informations sur les métriques haute résolution, consultez Métriques haute résolution.

    • append_dimensions – Facultatif. Autres dimensions à utiliser pour seulement les métriques mem. Si vous spécifiez ce champ, il est utilisé en plus des dimensions spécifiées dans le champ append_dimensions global qui est utilisé pour tous les types de métriques collectées par l'agent.

  • net – Facultatif. Indique que les métriques networking doivent être collectées. Cette section est valable uniquement pour les instances Linux. Cette section peut inclure les champs suivants :

    • 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.

    • resources – Facultatif. Si vous spécifiez un tableau des Interfaces réseau, CloudWatch collecte les métriques de ces seules interfaces. Dans le cas contraire, les métriques de tous les appareils sont collectées. Vous pouvez aussi spécifier * comme valeur pour collecter des métriques de toutes les interfaces.

    • measurement – Spécifie l'éventail de métriques de réseautage à collecter. Les valeurs possibles sont : bytes_sent, bytes_recv, drop_in, drop_out, err_in, err_out, packets_sent et packets_recv. Ce champ est obligatoire si vous incluez net.

      Pour voir les unités par défaut de chaque métrique net, consultez Métriques collectées par l'agent CloudWatch sur les instances Linux et macOS.

      Dans l'entrée de chaque métrique, vous pouvez, si vous le souhaitez, spécifier l'une des valeurs suivantes :

      • rename – Spécifie un nom différent pour cette métrique.

      • unit – Spécifie l'unité à utiliser pour cette métrique, en remplaçant l'unité par défaut de None pour la métrique. L'unité que vous indiquez doit être une unité de métrique CloudWatch valide, comme indiqué dans la description Unit de MetricDatum.

    • metrics_collection_interval – Facultatif. Indique la fréquence de collecte des métriques net, en remplaçant la valeur metrics_collection_interval globale spécifiée dans la section agent du fichier de configuration.

      Cette valeur est spécifiée en secondes. Par exemple, en spécifiant 10, les métriques sont collectées toutes les 10 secondes, et en le fixant à 300, les métriques sont collectées toutes les 5 minutes.

      Si vous définissez une valeur inférieure à 60 secondes, chaque métrique est collectée sous la forme d'une métrique haute résolution. Pour plus d'informations sur les métriques haute résolution, consultez Métriques haute résolution.

    • append_dimensions – Facultatif. Autres dimensions à utiliser pour seulement les métriques net. Si vous spécifiez ce champ, il est utilisé en plus des dimensions spécifiées dans le champ append_dimensions qui est utilisé pour tous les types de métriques collectées par l'agent.

  • netstat – Facultatif. Indique que l'état de connexion TCP et les métriques de connexion UDP doivent être collectés. Cette section est valable uniquement pour les instances Linux. Cette section peut inclure les champs suivants :

    • 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.

    • measurement – Spécifie l'éventail de métriques netstat à collecter. Les valeurs possibles sont tcp_close, tcp_close_wait, tcp_closing, tcp_established, tcp_fin_wait1, tcp_fin_wait2, tcp_last_ack, tcp_listen, tcp_none, tcp_syn_sent, tcp_syn_recv, tcp_time_wait et udp_socket. Ce champ est obligatoire si vous incluez netstat.

      Pour voir les unités par défaut de chaque métrique netstat, consultez Métriques collectées par l'agent CloudWatch sur les instances Linux et macOS.

      Dans l'entrée de chaque métrique, vous pouvez, si vous le souhaitez, spécifier l'une des valeurs suivantes :

      • rename – Spécifie un nom différent pour cette métrique.

      • unit – Spécifie l'unité à utiliser pour cette métrique, en remplaçant l'unité par défaut de None pour la métrique. L'unité que vous indiquez doit être une unité de métrique CloudWatch valide, comme indiqué dans la description Unit de MetricDatum.

    • metrics_collection_interval – Facultatif. Indique la fréquence de collecte des métriques netstat, en remplaçant la valeur metrics_collection_interval globale spécifiée dans la section agent du fichier de configuration.

      Cette valeur est spécifiée en secondes.

      Si vous définissez une valeur inférieure à 60 secondes, chaque métrique est collectée sous la forme d'une métrique haute résolution. Pour plus d'informations sur les métriques haute résolution, consultez Métriques haute résolution.

    • append_dimensions – Facultatif. Autres dimensions à utiliser pour seulement les métriques netstat. Si vous spécifiez ce champ, il est utilisé en plus des dimensions spécifiées dans le champ append_dimensions qui est utilisé pour tous les types de métriques collectées par l'agent.

  • processes – Facultatif. Indique que les métriques processes doivent être collectées. Cette section est valable uniquement pour les instances Linux. Cette section peut inclure les champs suivants :

    • 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.

    • measurement – Spécifie l'éventail de métriques de processus à collecter. Les valeurs possibles sont : blocked, dead, idle, paging, running, sleeping, stopped, total, total_threads, wait et zombies. Ce champ est obligatoire si vous incluez processes.

      Pour toutes les métriques processes, l'unité par défaut est None.

      Dans l'entrée de chaque métrique, vous pouvez, si vous le souhaitez, spécifier l'une des valeurs suivantes :

      • rename – Spécifie un nom différent pour cette métrique.

      • unit – Spécifie l'unité à utiliser pour cette métrique, en remplaçant l'unité par défaut de None pour la métrique. L'unité que vous indiquez doit être une unité de métrique CloudWatch valide, comme indiqué dans la description Unit de MetricDatum.

    • metrics_collection_interval – Facultatif. Indique la fréquence de collecte des métriques processes, en remplaçant la valeur metrics_collection_interval globale spécifiée dans la section agent du fichier de configuration.

      Cette valeur est spécifiée en secondes. Par exemple, en spécifiant 10, les métriques sont collectées toutes les 10 secondes, et en le fixant à 300, les métriques sont collectées toutes les 5 minutes.

      Si vous définissez une valeur inférieure à 60 secondes, chaque métrique est collectée sous la forme d'une métrique haute résolution. Pour de plus amples informations, consultez Métriques haute résolution.

    • append_dimensions – Facultatif. Autres dimensions à utiliser pour seulement les métriques process. Si vous spécifiez ce champ, il est utilisé en plus des dimensions spécifiées dans le champ append_dimensions qui est utilisé pour tous les types de métriques collectées par l'agent.

  • nvidia_gpu – Facultatif. Indique les métriques GPU NVIDIA qui doivent être collectées. Cette section est valable uniquement pour les instances Linux sur des hôtes configurés avec un accélérateur GPU NVIDIA et sur lesquelles l'interface de gestion du système NVIDIA (nvidia-smi) est installée.

    Les métriques GPU NVIDIA collectées sont préfixées avec la chaîne nvidia_smi_ pour les distinguer des métriques collectées pour d'autres types d'accélérateurs. Cette section peut inclure les champs suivants :

    • 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.

    • measurement – Spécifie l'éventail de métriques GPU NVIDIA à collecter. Pour obtenir une liste des valeurs possibles à utiliser ici, consultez la colonne Metric (Métrique) du tableau dans Collecter des métriques GPU NVIDIA .

      Dans l'entrée de chaque métrique, vous pouvez, si vous le souhaitez, spécifier l'une des valeurs suivantes :

      • rename – Spécifie un nom différent pour cette métrique.

      • unit – Spécifie l'unité à utiliser pour cette métrique, en remplaçant l'unité par défaut de None pour la métrique. L'unité que vous indiquez doit être une unité de métrique CloudWatch valide, comme indiqué dans la description Unit de MetricDatum.

    • metrics_collection_interval – Facultatif. Indique la fréquence de collecte des métriques GPU NVIDIA, en remplaçant la valeur metrics_collection_interval globale spécifiée dans la section agent du fichier de configuration.

  • jmx : facultatif. Indique que vous souhaitez extraire les métriques Java Management Extensions (JMX) à partir de l’instance. Pour plus d’informations sur les paramètres que vous pouvez utiliser dans cette section et les métriques que vous pouvez collecter, consultez Collecte des métriques Java Management Extensions (JMX).

  • otlp : facultatif. Indique que vous souhaitez collecter des métriques à partir du kit SDK OpenTelemetry. Pour plus d’informations sur les champs que vous pouvez utiliser dans cette section, consultez Collecte de métriques et de suivis avec OpenTelemetry.

  • procstat : facultatif. Spécifie que vous souhaitez récupérer les métriques auprès de processus individuels. Pour plus d'informations sur les options de configuration de procstat, consultez Collecter des métriques de processus avec le plugin procstat.

  • statsd – Facultatif. Spécifie que vous souhaitez récupérer les métriques personnalisées à l'aide du protocole StatsD. L'agent CloudWatch agit comme un démon pour le protocole. Vous utilisez n'importe quel client StatsD standard pour envoyer les métriques à l'agent CloudWatch. Pour plus d'informations sur les options de configuration de StatsD, consultez Récupération de métriques personnalisées avec StatsD.

  • ethtool – Facultatif. Spécifie que vous souhaitez récupérer les métriques réseau à l'aide du plugin ethtool. Ce plugin peut importer à la fois les métriques collectées par l'utilitaire ethtool standard, ainsi que les mesures de performances réseau des instances Amazon EC2. Pour plus d'informations sur les options de configuration de ethtool, consultez Récupérez des métriques des performances réseau.

L'exemple suivant illustre une section metrics pour un serveur Linux. Dans cet exemple, trois métriques d'UC, trois métriques netstat, trois métriques de processus et une métrique de disque sont collectées, et l'agent est configuré pour recevoir des métriques supplémentaires de la part d'un client collectd.

"metrics": { "aggregation_dimensions" : [["AutoScalingGroupName"], ["InstanceId", "InstanceType"],[]], "metrics_collected": { "collectd": {}, "cpu": { "resources": [ "*" ], "measurement": [ {"name": "cpu_usage_idle", "rename": "CPU_USAGE_IDLE", "unit": "Percent"}, {"name": "cpu_usage_nice", "unit": "Percent"}, "cpu_usage_guest" ], "totalcpu": false, "drop_original_metrics": [ "cpu_usage_guest" ], "metrics_collection_interval": 10, "append_dimensions": { "test": "test1", "date": "2017-10-01" } }, "netstat": { "measurement": [ "tcp_established", "tcp_syn_sent", "tcp_close" ], "metrics_collection_interval": 60 }, "disk": { "measurement": [ "used_percent" ], "resources": [ "*" ], "drop_device": true }, "processes": { "measurement": [ "running", "sleeping", "dead" ] } }, "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" } }

Windows Server

Dans la section metrics_collected pour Windows Server, vous pouvez avoir des sous-sections pour chaque objet de performance Windows, par exemple Memory, Processor et LogicalDisk. Pour plus d'informations sur les objets et les compteurs disponibles, consultez la rubrique Compteurs de performances de la documentation Microsoft Windows.

Dans la sous-section de chaque objet, vous spécifiez un tableau measurement des compteurs à collecter. Le tableau measurement est requis pour chaque objet que vous spécifiez dans le fichier de configuration. Vous pouvez également spécifier un champ resources pour nommer les instances à partir desquelles collecter les métriques. Vous pouvez également spécifier * pour resources, afin de collecter des métriques distinctes pour chaque instance. Si vous omettez resources pour les compteurs qui ont des instances, les données de toutes les instances sont regroupées dans un ensemble. Si vous omettez resources pour les compteurs qui n'ont pas d'instances, les compteurs ne sont pas collectés par l'agent CloudWatch. Pour déterminer si des compteurs disposent d'instances, vous pouvez utiliser l'une des commandes suivantes.

PowerShell :

Get-Counter -ListSet *

Ligne de commande (non Powershell) :

TypePerf.exe –q

Dans chaque section d'objet, vous pouvez également spécifier les champs facultatifs suivants :

  • metrics_collection_interval : facultatif. Indique la fréquence de collecte des métriques de cet objet, en remplaçant la valeur metrics_collection_interval globale spécifiée dans la section agent du fichier de configuration.

    Cette valeur est spécifiée en secondes. Par exemple, en spécifiant 10, les métriques sont collectées toutes les 10 secondes, et en le fixant à 300, les métriques sont collectées toutes les 5 minutes.

    Si vous définissez une valeur inférieure à 60 secondes, chaque métrique est collectée sous la forme d'une métrique haute résolution. Pour de plus amples informations, consultez Métriques haute résolution.

  • append_dimensions – Facultatif. Spécifie d'autres dimensions à utiliser uniquement pour les métriques de cet objet. Si vous spécifiez ce champ, il est utilisé en plus des dimensions spécifiées dans le champ append_dimensions global qui est utilisé pour tous les types de métriques collectées par l'agent.

  • 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.

Dans chaque section de compteur, vous pouvez également spécifier les champs facultatifs suivants :

  • rename – Spécifie un nom différent à utiliser dans CloudWatch pour cette métrique.

  • unit – Spécifie l'unité à utiliser pour cette métrique. L'unité que vous indiquez doit être une unité de métrique CloudWatch valide, comme indiqué dans la description Unit de MetricDatum.

Il existe également d’autres sections facultatives que vous pouvez inclure dans metrics_collected :

  • statsd – Vous permet de récupérer les métriques personnalisées à l'aide du protocole StatsD. L'agent CloudWatch agit comme un démon pour le protocole. Vous utilisez n'importe quel client StatsD standard pour envoyer les métriques à l'agent CloudWatch. Pour de plus amples informations, consultez Récupération de métriques personnalisées avec StatsD.

  • procstat – Vous permet de récupérer les métriques auprès de processus individuels. Pour de plus amples informations, consultez Collecter des métriques de processus avec le plugin procstat.

  • jmx – Facultatif. Indique que vous souhaitez extraire les métriques Java Management Extensions (JMX) à partir de l’instance. Pour plus d’informations sur les champs que vous pouvez utiliser dans cette section et les métriques que vous pouvez collecter, consultez Collecte des métriques Java Management Extensions (JMX).

  • otlp : facultatif. Indique que vous souhaitez collecter des métriques à partir du kit SDK OpenTelemetry. Pour plus d’informations sur les champs que vous pouvez utiliser dans cette section, consultez Collecte de métriques et de suivis avec OpenTelemetry.

L'exemple suivant illustre une section metrics à utiliser dans Windows Server. Dans cet exemple, de nombreuses métriques Windows sont collectées et l'ordinateur est également défini pour recevoir des métriques supplémentaires à partir d'un client StatsD.

"metrics": { "metrics_collected": { "statsd": {}, "Processor": { "measurement": [ {"name": "% Idle Time", "rename": "CPU_IDLE", "unit": "Percent"}, "% Interrupt Time", "% User Time", "% Processor Time" ], "resources": [ "*" ], "append_dimensions": { "d1": "win_foo", "d2": "win_bar" } }, "LogicalDisk": { "measurement": [ {"name": "% Idle Time", "unit": "Percent"}, {"name": "% Disk Read Time", "rename": "DISK_READ"}, "% Disk Write Time" ], "resources": [ "*" ] }, "Memory": { "metrics_collection_interval": 5, "measurement": [ "Available Bytes", "Cache Faults/sec", "Page Faults/sec", "Pages/sec" ], "append_dimensions": { "d3": "win_bo" } }, "Network Interface": { "metrics_collection_interval": 5, "measurement": [ "Bytes Received/sec", "Bytes Sent/sec", "Packets Received/sec", "Packets Sent/sec" ], "resources": [ "*" ], "append_dimensions": { "d3": "win_bo" } }, "System": { "measurement": [ "Context Switches/sec", "System Calls/sec", "Processor Queue Length" ], "append_dimensions": { "d1": "win_foo", "d2": "win_bar" } } }, "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]] } }

La section logs peut inclure les champs suivants :

  • service.name : facultatif. Spécifie le nom du service à utiliser pour renseigner l’entité afin de trouver la télémétrie associée.

  • deployment.environment : facultatif. Spécifie le nom de l’environnement à utiliser pour renseigner l’entité afin de trouver la télémétrie associée.

  • logs_collected – Obligatoire si la section logs est incluse. Spécifie les fichiers journaux et les journaux d'événements Windows qui doivent être collectés à partir du serveur. Elle peut inclure deux champs, files et windows_events.

    • files – Spécifie les fichiers journaux habituels qui doivent être collectés par l'agent CloudWatch. Il contient un champ, collect_list, qui définit plus précisément ces fichiers.

      • collect_list – Obligatoire si files est inclus. Contient un tableau d'entrées, chacune spécifiant un fichier journal à collecter. Chacune de ces entrées peut inclure les champs suivants :

        • file_path – Spécifie le chemin du fichier journal à charger dans CloudWatch Logs. Les règles de correspondance glob Unix standard sont acceptées, avec l'ajout de ** comme super astérisque. Par exemple, si vous indiquez /var/log/**.log, tous les fichiers .log dans l'arborescence de répertoires /var/log doivent être collectés. Pour obtenir des exemples supplémentaires, consultez Glob Library.

          L'astérisque standard peut également être utilisé comme caractère générique standard. Par exemple, /var/log/system.log* correspond à des fichiers tels que system.log_1111, system.log_2222 et ainsi de suite dans /var/log.

          Seul le dernier fichier est transmis à CloudWatch Logs, selon l'heure de modification du fichier. Nous vous recommandons d'utiliser des caractères génériques pour spécifier une série de fichiers du même type, comme access_log.2018-06-01-01 et access_log.2018-06-01-02, mais pas de types différents, comme access_log_80 et access_log_443. Pour spécifier plusieurs types de fichiers, ajoutez une autre entrée de flux de journaux dans le fichier de configuration de l'agent, afin que chaque type de fichier journal soit envoyé dans un flux de journal différent.

        • auto_removal : facultatif. Si la valeur est true, l'agent CloudWatch supprime automatiquement ce fichier journal une fois qu'il a été lu et qu'il a fait l'objet d'une rotation. En général, les fichiers journaux sont supprimés une fois que tout leur contenu a été téléchargé vers CloudWatch Logs. Cependant, si l’agent atteint la fin du fichier (End of File, EOF) et détecte un autre fichier journal plus récent correspondant au même file_path, il supprime l’ANCIEN fichier. Vous devez donc vous assurer que l’écriture dans l’ancien fichier est terminée avant d’en créer un NOUVEAU. La bibliothèque de suivi RUST présente une incompatibilité connue : elle peut créer un NOUVEAU fichier journal tout en continuant à écrire dans l’ANCIEN fichier.

          L'agent supprime uniquement les fichiers complets issus des journaux qui créent plusieurs fichiers, tels que les journaux qui créent des fichiers distincts pour chaque date. Si un journal écrit en continu dans un fichier unique, celui-ci n'est pas supprimé.

          Si vous avez déjà une méthode de rotation ou de suppression de fichiers journaux en place, nous vous recommandons d'ignorer ce champ ou de le définir sur false.

          Si vous omettez ce champ, la valeur par défaut de false est utilisée.

        • log_group_name : facultatif. Spécifie le nom du groupe de journal à utiliser dans CloudWatch Logs.

          Nous vous recommandons d’utiliser ce champ pour spécifier un nom de groupe de journaux afin d’éviter toute confusion. Si vous omettez log_group_name, la valeur file_path jusqu’au point final est utilisée comme nom de groupe de journaux. Par exemple, si le chemin de fichier est /tmp/TestLogFile.log.2017-07-11-14, le nom du groupe de journal est /tmp/TestLogFile.log.

          Si vous spécifiez un nom de groupe de journaux, vous pouvez utiliser {instance_id}, {hostname}, {local_hostname} et {ip_address} en tant que variables au sein du nom. {hostname} récupère le nom d’hôte à partir des métadonnées EC2 et {local_hostname} utilise le nom d’hôte du fichier de configuration du réseau.

          Si vous utilisez ces variables pour créer de nombreux groupes de journaux différents, gardez à l'esprit la limite de 1 000 000 groupes de journaux par compte et par région.

          Les caractères autorisés sont : a–z, A–Z, 0–9, « _ » (trait de soulignement), « - » (tiret), « / » (barre oblique) et « . » (point).

        • log_group_class : facultatif. Spécifie la classe de groupe de journaux à utiliser pour le nouveau groupe de journaux. Pour plus d’informations sur les classes de groupes de journaux, veuillez consulter la rubrique Log classes.

          Les valeurs valides sont STANDARD et INFREQUENT_ACCESS. Si vous omettez ce champ, la valeur par défaut de STANDARD est utilisée.

          Important

          Une fois qu’un groupe de journaux est créé, sa classe ne peut pas être modifiée.

        • log_stream_name : facultatif. Spécifie le nom du flux de journal à utiliser dans CloudWatch Logs. Dans le cadre du nom, vous pouvez utiliser {instance_id}, {hostname}, {local_hostname} et {ip_address} en tant que variables au sein du nom. {hostname} récupère le nom d'hôte à partir des métadonnées EC2 et {local_hostname} utilise le nom d'hôte du fichier de configuration du réseau.

          Si vous omettez ce champ, la valeur du paramètre log_stream_name dans la section logs globale est utilisée. Si ce champ est également omis, la valeur par défaut pour {instance_id} est utilisée.

          Un flux de journaux est créé automatiquement s'il n'en existe pas déjà.

        • retention_in_days : facultatif. Spécifie le nombre de jours de conservation des événements du journal dans le groupe de journaux spécifié.

          • Si l'agent crée ce groupe de journaux maintenant et que vous omettez ce champ, la rétention de ce nouveau groupe de journaux est définie comme n'expirant jamais.

          • Si ce groupe de journaux existe déjà et que vous spécifiez ce champ, la nouvelle rétention que vous spécifiez est utilisée. Si vous omettez ce champ pour un groupe de journaux existant, la rétention du groupe de journaux n'est pas modifiée.

            L'assistant de l'agent CloudWatch utilise -1 comme valeur par défaut de ce champ lorsqu'il est utilisé pour créer le fichier de configuration de l'agent et que vous ne spécifiez aucune valeur pour la conservation des journaux. La valeur -1 définie par l’assistant indique que les événements du groupe de journaux n’expirent jamais. Cependant, la modification manuelle de cette valeur sur -1 n'a aucun effet.

          Les valeurs possibles sont : 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 2192, 2557, 2922, 3288, et 3653.

          Si vous configurez l'agent pour qu'il écrive plusieurs flux de journaux dans le même groupe de journaux, le fait de spécifier le retention_in_days dans un seul endroit définira la rétention des journaux pour l'ensemble du groupe de journaux. Si vous spécifiez le retention_in_days pour le même groupe de journaux à plusieurs endroits, la rétention est définie si toutes ces valeurs sont égales. Toutefois, si différentes valeurs de retention_in_days sont spécifiées pour le même groupe de journaux à plusieurs endroits, la rétention des journaux ne sera pas définie et l'agent s'arrêtera, renvoyant une erreur.

          Note

          Le rôle IAM ou l'utilisateur IAM de l'agent doit disposer du logs:PutRetentionPolicy pour qu'il puisse définir des politiques de rétention.

          Avertissement

          Si vous définissez le retention_in_days pour un groupe de journaux existant, tous les journaux de ce groupe publiés avant le nombre de jours que vous spécifiez sont supprimés. Par exemple, une valeur de 3 entraînerait la suppression de tous les journaux datant de 3 jours et plus.

        • filters : facultatif. Peut contenir un tableau d'entrées, chacune spécifiant une expression régulière et un type de filtre pour spécifier s'il faut publier ou supprimer des entrées de journal correspondant au filtre. Si vous omettez ce champ, tous les journaux du fichier journal sont publiés dans CloudWatch Logs. Si vous incluez ce champ, l'agent traite chaque message de journal avec tous les filtres que vous spécifiez, et seuls les événements du journal qui satisfont tous les filtres sont publiés dans CloudWatch Logs. Les entrées de journal qui ne satisfont pas tous les filtres restent dans le fichier journal de l'hôte, mais ne seront pas envoyées à CloudWatch Logs.

          Chaque entrée du tableau de filtres peut comprendre les champs suivants :

          • type– Indique le type de filtre. Les valeurs valides sont include et exclude. Avec include, l'entrée de journal doit correspondre à l'expression pour être publiée dans CloudWatch Logs. Avec exclude, chaque entrée de journal qui correspond au filtre n'est pas envoyée à CloudWatch Logs.

          • expression– Chaîne d'expression régulière qui suit la Syntaxe RE2.

            Note

            L'agent CloudWatch ne vérifie pas les performances des expressions régulières que vous fournissez ni ne limite la durée d'exécution de l'évaluation des expressions régulières. Nous vous recommandons de faire attention à ne pas écrire une expression dont l'évaluation est coûteuse. Pour plus d'informations sur les problèmes possibles, consultez Regular expression Denial of Service - ReDoS (Déni de service d'expression régulière - ReDoS)

          Par exemple, l'extrait suivant du fichier de configuration de l'agent CloudWatch publie des journaux qui sont des demandes PUT et POST dans CloudWatch Logs, mais exclut les journaux provenant de Firefox.

          "collect_list": [ { "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/test.log", "log_group_name": "test.log", "log_stream_name": "test.log", "filters": [ { "type": "exclude", "expression": "Firefox" }, { "type": "include", "expression": "P(UT|OST)" } ] }, ..... ]
          Note

          L'ordre des filtres dans le fichier de configuration est important pour les performances. Dans l'exemple précédent, l'agent élimine tous les journaux qui correspondent à Firefox avant de commencer à évaluer le deuxième filtre. Afin que moins d'entrées de journaux ne soient évaluées par plusieurs filtres, placez en premier le filtre qui devrait exclure le plus de journaux dans le fichier de configuration.

        • timezone : facultatif. Spécifie le fuseau horaire à utiliser lors de l'écriture des horodatages sur les événements du journal. Les valeurs valides sont UTC et Local. La valeur par défaut est Local.

          Ce paramètre est ignoré si vous ne spécifiez pas de valeur pour timestamp_format.

        • timestamp_format : facultatif. Spécifie le format d'horodatage à l'aide d'un texte brut et de symboles spéciaux commençant par %. Si vous omettez ce champ, l'heure actuelle est utilisée. Si vous utilisez ce champ, vous pouvez utiliser les symboles dans la liste suivante dans le cadre du format.

          Note

          Ce paramètre n’est pas pris en compte lorsque le paramètre file_path est défini sur amazon-cloudwatch-agent.log

          Si une seule entrée de journal contient deux horodatages qui correspondent au format, le premier horodatage est utilisé.

          Cette liste des symboles est différente de celle utilisée par l'ancien agent CloudWatch Logs. Pour obtenir un résumé de ces différences, consultez Différences d’horodatage entre l’agent CloudWatch et l’agent CloudWatch Logs antérieur.

          %y

          Année sans siècle sous forme de nombre décimal auquel est ajouté un zéro. Par exemple, 19 pour représenter 2019.

          %Y

          Année sans siècle sous forme de nombre décimal. Par exemple, 2019.

          %b

          Mois sous forme du nom abrégé dans la langue locale

          %B

          Mois sous forme du nom complet dans la langue locale

          %m

          Mois sous forme de nombre décimal auquel est ajouté un zéro

          %-m

          Mois sous forme de nombre décimal (sans zéro supplémentaire)

          %d

          Jour du mois sous forme de nombre décimal auquel est ajouté un zéro

          %-d

          Jour du mois sous forme de nombre décimal (sans zéro supplémentaire)

          %A

          Nom complet du jour de la semaine, par exemple Monday

          %a

          Abréviation du jour de la semaine, par exemple Mon

          %H

          Heure (au format 24 heures) sous forme de nombre décimal auquel est ajouté un zéro

          %I

          Heure (au format 12 heures) sous forme de nombre décimal auquel est ajouté un zéro

          %-I

          Heure (au format 12 heures) sous forme de nombre décimal (sans zéro supplémentaire)

          %p

          AM ou PM

          %M

          Minutes sous forme de nombre décimal auquel est ajouté un zéro

          %-M

          Minutes sous forme de nombre décimal (sans zéro supplémentaire)

          %S

          Secondes sous forme de nombre décimal auquel est ajouté un zéro

          %-S

          Secondes sous forme de nombre décimal (sans zéro supplémentaire)

          %f

          Secondes fractionnelles sous forme de nombre décimal (1 à 9 chiffres), avec remplissage de zéros sur la gauche.

          %Z

          Fuseau horaire, par exemple PST

          %z

          Fuseau horaire, exprimé en tant que décalage entre le fuseau horaire local et l'heure universelle coordonnée (UTC). Par exemple, -0700. Seul ce format est pris en charge. Par exemple, -07:00 n'est pas un format valide.

        • multi_line_start_pattern – Spécifie le modèle pour identifier le début d'un message de journal. Un message de journal est composé de plusieurs lignes : une ligne correspondant au modèle et les lignes suivantes qui ne correspondent pas au modèle.

          Si vous ne renseignez pas ce champ, le mode à plusieurs lignes est désactivé, et toute ligne commençant par un caractère autre qu'un espace ferme le message de journal précédent et commence un nouveau message de journal.

          Si vous incluez ce champ, vous pouvez spécifier {timestamp_format} afin d'utiliser la même expression régulière que votre format d'horodatage. Dans le cas contraire, vous pouvez spécifier une autre expression régulière à utiliser pour CloudWatch Logs afin de déterminer les lignes de début des entrées à plusieurs lignes.

        • encoding – Spécifie l'encodage du fichier journal pour que le fichier puisse être lu correctement. Si vous spécifiez un encodage incorrect, cela peut entraîner une perte de données car les caractères qui ne peuvent pas être décodés seront remplacés par d'autres caractères.

          La valeur par défaut est utf-8. Les valeurs possibles sont les suivantes :

          ascii, big5, euc-jp, euc-kr, gbk, gb18030, ibm866, iso2022-jp, iso8859-2, iso8859-3, iso8859-4, iso8859-5, iso8859-6, iso8859-7, iso8859-8, iso8859-8-i, iso8859-10, iso8859-13, iso8859-14, iso8859-15, iso8859-16, koi8-r, koi8-u, macintosh, shift_jis, utf-8, utf-16, utf-16le, UTF-16, UTF-16LE, windows-874, windows-1250, windows-1251, windows-1252, windows-1253, windows-1254, windows-1255, windows-1256, windows-1257, windows-1258, x-mac-cyrillic

        • service.name : facultatif. Spécifie le nom du service à utiliser pour renseigner l’entité afin de trouver la télémétrie associée.

        • deployment.environment : facultatif. Spécifie le nom de l’environnement à utiliser pour renseigner l’entité afin de trouver la télémétrie associée.

    • La section windows_events indique le type d'événements Windows à collecter depuis les serveurs exécutant Windows Server. Il inclut les champs suivants :

      • collect_list – Obligatoire si windows_events est inclus. Indique les types et niveaux des événements Windows à collecter. Chaque journal à collecter comporte une entrée dans cette section, laquelle peut inclure les champs suivants :

        • event_name – Spécifie le type des événements Windows à consigner. Ceci est équivalent au nom du canal du journal des événements de Windows : par exemple, System, Security, Application etc.. Ce champ est obligatoire pour chaque type d'événement Windows à consigner.

          Note

          Lorsque CloudWatch récupère des messages à partir d'un canal de journal Windows, il recherche le canal de journal en fonction de sa propriété Full Name. Pendant ce temps, le panneau de navigation de l'Observateur d'événements Windows affiche la propriété Log Name des canaux de journal. Les propriétés Full Name et Log Name ne correspondent pas toujours. Pour vérifier que la propriété Full Name d'un canal, faites un clic droit dessus dans l'Observateur d'événements Windows et ouvrez Properties (Propriétés).

        • event_levels : facultatif. Indique les niveaux d’événements à journaliser. Vous devez spécifier chaque niveau à consigner. Les valeurs possibles incluent INFORMATION, WARNING, ERROR, CRITICAL et VERBOSE. Ce champ est facultatif pour chaque type d’événement Windows à journaliser et peut être utilisé avec d’autres options de filtrage telles que event_ids et filters.

        • event_ids : facultatif. Contient un tableau d’ID d’événement Windows pour spécifier les événements à collecter dans le journal des événements Windows. Si ce champ n’est pas renseigné, tous les événements du journal spécifié sont collectés. Si ce champ est renseigné, l’agent ne collecte que les événements dont l’ID correspond aux ID d’événement indiqués.

          Chaque entrée du tableau event_ids doit être une valeur numérique d’identifiant d’événement et peut être combiné avec d’autres options de filtrage. Consultez la troisième entrée dans l’exemple de configuration ci-dessous.

          Note

          Il est recommandé d’utiliser event_ids pour le filtrage plutôt que des expressions regex lorsque vous devez filtrer par ID d’événement, car cela offre de meilleures performances.

        • filters : facultatif. Contient un tableau d’entrées. Chaque entrée Indique une expression régulière et un type de filtre indiquant s’il faut publier ou exclure les entrées de journal qui correspondent à ce filtre. Lorsque ce champ est inclus, l’agent traite chaque message de journal avec tous les filtres que vous spécifiez, et seuls les événements du journal qui satisfont tous les filtres sont publiés dans CloudWatch Logs. Les journaux d’événements Windows qui ne satisfont pas tous les filtres seront ignorés et ne seront pas envoyés à CloudWatch Logs. La section des filtres peut également être utilisée avec d’autres mécanismes de filtrage tels que les ID d’événement [4624, 4625] et les niveaux du système (information, erreur ou critique) pour filtrer efficacement les journaux et les envoyer vers CloudWatch.

          Chaque entrée du tableau de filtres peut comprendre les champs suivants :

          • type : indique le type de filtre. Les valeurs valides sont include et exclude. En cas d’inclusion, l’entrée d’événement Windows doit correspondre à l’expression pour être publiée dans CloudWatch Logs. En cas d’exclusion, les entrées du journal d’événements Windows qui correspondent au filtre ne sont pas envoyées à CloudWatch Logs.

          • expression : chaîne d’expression régulière qui suit la syntaxe RE2.

          Note

          L’agent CloudWatch ne valide pas les expressions régulières que vous fournissez. Cela ne limite pas non plus leur temps d’évaluation. Rédigez vos expressions avec soin pour éviter les problèmes de performances. Pour plus d’informations sur les risques de sécurité, consultez Déni de service par expression régulière – ReDoS (Regular expression Denial of Service).

          Dans l’exemple de configuration d’agent ci-dessous :

          Pour la première entrée, l’agent envoie à CloudWatch les journaux contenant les messages d’échec de la base de données, toutes les activités liées à l’authentification et tous les événements de connexion (tentatives réussies ou échouées). Tout journal qui ne correspond pas à ce modèle est ignoré.

          Dans la deuxième entrée, le filtrage initial est effectué en fonction des ID d’événement pour l’abonnement aux événements Windows. L’agent collecte tous les journaux contenant la chaîne de caractères « utilisateur » et ignore ceux qui ne correspondent pas à ces modèles. L’agent supprime ensuite les journaux qui contiennent successful avant d’envoyer les journaux restants à CloudWatch Logs. Chaque type de filtre est appliqué à chaque journal d’événements Windows avant d’être envoyé à CloudWatch.

          "collect_list": [ { "event_name": "Application", "log_group_name": "ApplicationEvents", "log_stream_name": "ApplicationEvents", "filters": [ { "type": "include", "expression": "Database.*failed|Authentication.*|login.*" } ] }, { "event_name": "System", "log_group_name": "SystemEvents", "log_stream_name": "Logon-events", "event_ids": [ 4624, 4625 ], "filters": [ { "type": "include", "expression": ".*user.*" }, { "type": "exclude", "expression": ".*successful.*" } ] } ..... ]
          Note

          L’ordre des filtres dans la configuration influence directement les performances. Dans la deuxième entrée, l’agent ignore d’abord tous les journaux qui ne correspondent pas à l’utilisateur avant d’évaluer la deuxième expression de filtrage. Pour des performances optimales, il est recommandé d’ordonner les filtres du plus fort au plus faible taux d’exclusion.

          Bien qu’il soit possible de filtrer les journaux en fonction des ID d’événement et des niveaux système dans les expressions de filtre, il est recommandé d’utiliser les event_ids et le log_level comme illustré dans la deuxième entrée, afin d’obtenir de meilleures performances.

          Avertissement

          Même si tous les mécanismes de filtrage (event_levels, event_ids, filtres) sont facultatifs, au moins l’un d’entre eux doit être défini dans la configuration de l’agent pour activer le filtrage des journaux.

        • log_group_name – Obligatoire Spécifie le nom du groupe de journal à utiliser dans CloudWatch Logs.

        • log_stream_name : facultatif. Spécifie le nom du flux de journal à utiliser dans CloudWatch Logs. Dans le cadre du nom, vous pouvez utiliser {instance_id}, {hostname}, {local_hostname} et {ip_address} en tant que variables au sein du nom. {hostname} récupère le nom d'hôte à partir des métadonnées EC2 et {local_hostname} utilise le nom d'hôte du fichier de configuration du réseau.

          Si vous omettez ce champ, la valeur du paramètre log_stream_name dans la section logs globale est utilisée. Si ce champ est également omis, la valeur par défaut pour {instance_id} est utilisée.

          Un flux de journaux est créé automatiquement s'il n'en existe pas déjà.

        • event_format : facultatif. Spécifie le format à utiliser lors du stockage d'événements Windows dans CloudWatch Logs. xml utilise le format XML comme dans Windows Event Viewer. text utilise le format de l'agent CloudWatch Logs existant.

        • retention_in_days : facultatif. Spécifie le nombre de jours de conservation des événements Windows dans le groupe de journaux spécifié.

          • Si l'agent crée ce groupe de journaux maintenant et que vous omettez ce champ, la rétention de ce nouveau groupe de journaux est définie comme n'expirant jamais.

          • Si ce groupe de journaux existe déjà et que vous spécifiez ce champ, la nouvelle rétention que vous spécifiez est utilisée. Si vous omettez ce champ pour un groupe de journaux existant, la rétention du groupe de journaux n'est pas modifiée.

            L'assistant de l'agent CloudWatch utilise -1 comme valeur par défaut de ce champ lorsqu'il est utilisé pour créer le fichier de configuration de l'agent et que vous ne spécifiez aucune valeur pour la conservation des journaux. La valeur -1 indique que la valeur définie par l'assistant spécifie que les événements du groupe de journaux n'expirent pas. Cependant, la modification manuelle de cette valeur sur -1 n'a aucun effet.

          Les valeurs possibles sont : 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 2192, 2557, 2922, 3288, et 3653.

          Si vous configurez l'agent pour qu'il écrive plusieurs flux de journaux dans le même groupe de journaux, le fait de spécifier le retention_in_days dans un seul endroit définira la rétention des journaux pour l'ensemble du groupe de journaux. Si vous spécifiez le retention_in_days pour le même groupe de journaux à plusieurs endroits, la rétention est définie si toutes ces valeurs sont égales. Toutefois, si différentes valeurs de retention_in_days sont spécifiées pour le même groupe de journaux à plusieurs endroits, la rétention des journaux ne sera pas définie et l'agent s'arrêtera, renvoyant une erreur.

          Note

          Le rôle IAM ou l'utilisateur IAM de l'agent doit disposer du logs:PutRetentionPolicy pour qu'il puisse définir des politiques de rétention.

          Avertissement

          Si vous définissez le retention_in_days pour un groupe de journaux existant, tous les journaux de ce groupe publiés avant le nombre de jours que vous spécifiez sont supprimés. Par exemple, une valeur de 3 entraînerait la suppression de tous les journaux datant de 3 jours et plus.

  • log_stream_name : facultatif. Indique le nom de flux de journal par défaut à utiliser pour les journaux ou les événements Windows qui n'ont pas de nom de flux de journal individuel défini dans le paramètre log_stream_name au sein de leur entrée dans collect_list.

  • endpoint_override – Spécifie un point de terminaison FIPS ou un lien privé à utiliser en tant que point de terminaison auquel l'agent envoie les journaux. Cette spécification de champ et la définition d'un lien privé vous permettent d'envoyer les journaux à un point de terminaison Amazon VPC. Pour de plus amples informations, consultez Qu'est-ce qu'Amazon VPC ?.

    La valeur de endpoint_override doit être une chaîne qui est une URL.

    Par exemple, la partie suivante de la section Journaux (logs) du fichier de configuration définit l'agent pour qu'il utilise un point de terminaison d'un VPC lors de l'envoi de journaux.

    { "logs": { "endpoint_override": "vpce-XXXXXXXXXXXXXXXXXXXXXXXXX.logs.us-east-1.vpce.amazonaws.com", ...... }, }
  • force_flush_interval – Spécifie en secondes la durée maximale pendant laquelle les journaux demeurent dans la mémoire tampon avant d'être envoyés au serveur. Quelle que soit la configuration de ce champ, si la taille des journaux dans la mémoire tampon atteint 1 Mo, les journaux sont immédiatement envoyés au serveur. La valeur par défaut est 5.

    Si vous utilisez l'agent pour signaler des métriques haute résolution au format de métrique intégrée et que vous définissez des alertes sur ces métriques, conservez la valeur par défaut de 5 pour ce paramètre. Dans le cas contraire, les métriques sont signalées avec un délai susceptible de déclencher des alertes si des données sont partielles ou incomplètes.

  • credentials – Spécifie un rôle IAM à utiliser lors de l'envoi de journaux à un compte AWS différent. S'il est spécifié, ce champ contient un paramètre, role_arn.

    • role_arn – Spécifie l'ARN d'un rôle IAM à utiliser pour l'authentification lors de l'envoi de journaux à un compte AWS différent. Pour de plus amples informations, consultez Envoi de métriques, de journaux et de traces à un autre compte. S'il est spécifié ici, il remplace le role_arn spécifié dans la section agent du fichier de configuration, le cas échéant.

  • metrics_collected : ce champ peut contenir des sections pour spécifier que l’agent doit collecter des journaux afin d’activer des cas d’utilisation tels que CloudWatch Application Signals et Container Insights avec observabilité améliorée pour Amazon EKS.

    • application_signals (Facultatif) Spécifie que vous souhaitez activer CloudWatch Application Signals. Pour plus d’informations sur cette configuration, veuillez consulter la rubrique Activation de CloudWatch Application Signals.

    • kubernetes : ce champ peut contenir un paramètre enhanced_container_insights que vous pouvez utiliser pour activer Container Insights avec une observabilité améliorée pour Amazon EKS.

      • enhanced_container_insights : définissez cette option à true pour activer Container Insights avec une observabilité améliorée pour Amazon EKS. Pour de plus amples informations, consultez Container Insights avec observabilité améliorée pour Amazon EKS.

      • accelerated_compute_metrics : définissez cette variable sur false pour désactiver la collecte des métriques GPU Nvidia sur les clusters Amazon EKS. Pour de plus amples informations, consultez Métriques des GPU NVIDIA.

    • emf : pour collecter des métriques intégrées dans des journaux, il n'est plus nécessaire d'ajouter ce champ emf. Il s'agit d'un champ hérité spécifiant que l'agent doit collecter les journaux au format de métrique intégrée. Vous pouvez générer des données de métriques à partir de ces journaux. Pour de plus amples informations, consultez Intégration de métriques dans les journaux.

    • otlp – Facultatif. Indique que vous souhaitez collecter des métriques à partir du kit SDK OpenTelemetry. Pour plus d’informations sur les champs que vous pouvez utiliser dans cette section, consultez Collecte de métriques et de suivis avec OpenTelemetry.

Voici un exemple de section logs.

"logs":{ "logs_collected": { "files": { "collect_list": [ { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log", "log_group_name": "amazon-cloudwatch-agent.log", "log_stream_name": "my_log_stream_name_1" }, { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\test.log", "log_group_name": "test.log", "log_stream_name": "my_log_stream_name_2" } ] }, "windows_events": { "collect_list": [ { "event_name": "System", "event_ids": [ 1001, 1008 ], "log_group_name": "System", "log_stream_name": "System" }, { "event_name": "CustomizedName", "event_levels": [ "INFORMATION", "ERROR" ], "log_group_name": "CustomizedLogGroup", "log_stream_name": "CustomizedLogStream" }, { "event_name": "Application", "event_levels": [ "INFORMATION", "ERROR" ], "event_ids":[ 7369, 5624 ], "log_group_name": "CustomizedLogGroup", "log_stream_name": "CustomizedLogStream" } ] } }, "log_stream_name": "my_log_stream_name", "metrics_collected": { "kubernetes": { "enhanced_container_insights": true } } }

En ajoutant une section traces au fichier de configuration de l’agent CloudWatch, vous pouvez activer CloudWatch Application Signals ou collecter des suivis à partir de X-Ray et du kit SDK d’instrumentation OpenTelemetry et les envoyer à X-Ray.

Important

Le rôle IAM ou l’utilisateur IAM de l’agent doit disposer de la politique AWSXrayWriteOnlyAccess pour pouvoir envoyer des données de suivis à X-Ray.

Pour commencer à collecter rapidement des traces, vous pouvez simplement ajouter les éléments suivants au fichier de configuration de l'agent CloudWatch.

"traces_collected": { "xray": { }, "otlp": { } }

Si vous ajoutez la section précédente au fichier de configuration de l'agent CloudWatch et que vous redémarrez l'agent, celui-ci commencera à collecter des traces en utilisant les options et valeurs par défaut suivantes. Pour plus d'informations sur ces paramètres, consultez les définitions des paramètres plus loin dans cette section.

"traces_collected": { "xray": { "bind_address": "127.0.0.1:2000", "tcp_proxy": { "bind_address": "127.0.0.1:2000" } }, "otlp": { "grpc_endpoint": "127.0.0.1:4317", "http_endpoint": "127.0.0.1:4318" } }

La section traces peut inclure les champs suivants :

  • traces_collected – Obligatoire si la section traces est incluse. Spécifie les kits SDK à partir desquels collecter des traces. La structure peut inclure les champs suivants :

    • application_signals : facultatif. Spécifie que vous souhaitez activer CloudWatch Application Signals. Pour plus d’informations sur cette configuration, veuillez consulter la rubrique Activation de CloudWatch Application Signals.

    • xray : facultatif. Spécifie que vous souhaitez collecter des traces à partir du kit SDK X-Ray. Cette section peut inclure les champs suivants :

      • bind_address – Facultatif. Spécifie l'adresse UDP que l'agent CloudWatch doit utiliser pour écouter les traces de X-Ray. Le format est ip:port. Cette adresse doit correspondre à l'adresse définie dans le kit SDK X-Ray.

        Si vous omettez ce champ, la valeur par défaut de 127.0.0.1:2000 est utilisée.

      • tcp_proxy : facultatif. Configure l'adresse d'un proxy utilisé pour prendre en charge l'échantillonnage à distance X-Ray. Pour de plus amples informations, veuillez consulter Configuring sampling rules dans la documentation X-Ray.

        Cette section peut contenir les champs suivants.

        • bind_address : facultatif. Spécifie l'adresse TCP à laquelle l'agent CloudWatch doit configurer le proxy. Le format est ip:port. Cette adresse doit correspondre à l'adresse définie dans le kit SDK X-Ray.

          Si vous omettez ce champ, la valeur par défaut de 127.0.0.1:2000 est utilisée.

    • otlp : facultatif. Spécifie que vous souhaitez collecter des traces à partir du kit SDK OpenTelemetry. Pour plus d’informations sur les champs que vous pouvez utiliser dans cette section, consultez Collecte de métriques et de suivis avec OpenTelemetry.) Pour plus d'informations sur AWS Distro pour OpenTelemetry, consultez AWS Distro pour OpenTelemetry. Pour plus d'informations sur les kits SDK AWS Distro pour OpenTelemetry, consultez Introduction.

      Cette section peut inclure les champs suivants :

      • grpc_endpoint – Facultatif. Spécifie l'adresse que l'agent CloudWatch doit utiliser pour écouter les traces OpenTelemetry envoyées à l'aide des appels de procédure distante gRPC. Le format est ip:port. Cette adresse doit correspondre à l'adresse définie pour l'exportateur gRPC dans le kit SDK OpenTelemetry.

        Si vous omettez ce champ, la valeur par défaut de 127.0.0.1:4317 est utilisée.

      • http_endpoint : facultatif. Spécifie l'adresse que l'agent CloudWatch doit utiliser pour écouter les traces OTLP envoyées via HTTP. Le format est ip:port. Cette adresse doit correspondre à l'adresse définie pour l'exportateur HTTP dans le kit SDK OpenTelemetry.

        Si vous omettez ce champ, la valeur par défaut de 127.0.0.1:4318 est utilisée.

  • concurrency : facultatif. Spécifie le nombre maximum d'appels simultanés à X-Ray qui peuvent être utilisés pour télécharger des traces. La valeur par défaut est 8.

  • local_mode : facultatif. Si la valeur est true, l'agent ne collecte pas les métadonnées de l'instance Amazon EC2. La valeur par défaut est false.

  • endpoint_override : facultatif. Spécifie un point de terminaison FIPS ou un lien privé à utiliser en tant que point de terminaison auquel l'agent CloudWatch envoie les traces. Cette spécification de champ et la définition d'un lien privé vous permettent d'envoyer les traces à un point de terminaison Amazon VPC. Pour plus d'informations, consultez Qu'est-ce qu'Amazon VPC ?.

    La valeur de endpoint_override doit être une chaîne qui est une URL.

  • region_override : facultatif. Spécifie la région à utiliser pour le point de terminaison X-Ray. L'agent CloudWatch envoie les traces à X-Ray dans la région spécifiée. Si vous ne spécifiez pas ce champ, l'agent envoie les traces à la région dans laquelle se trouve l'instance Amazon EC2.

    Si vous spécifiez une région ici, elle est prioritaire sur le réglage du paramètre region dans la section agent du fichier de configuration.

  • proxy_override : facultatif. Spécifie l'adresse du serveur proxy que l'agent CloudWatch doit utiliser lors de l'envoi de requêtes à X-Ray. Le protocole du serveur proxy doit être spécifié dans le cadre de cette adresse.

  • credentials – Spécifie un rôle IAM à utiliser lors de l'envoi de traces à un compte AWS différent. S'il est spécifié, ce champ contient un paramètre, role_arn.

    • role_arn – Spécifie l'ARN d'un rôle IAM à utiliser pour l'authentification lors de l'envoi de traces à un compte AWS différent. Pour de plus amples informations, consultez Envoi de métriques, de journaux et de traces à un autre compte. S'il est spécifié ici, il remplace le role_arn spécifié dans la section agent du fichier de configuration, le cas échéant.

  • transit_spans_in_otlp_format : facultatif. Si true, il envoie les suivis vers X-Ray au format OpenTelemetry Protocol, qui prend en charge les événements de segments dans Transaction Search. Pour de plus amples informations, consultez Ajout d’attributs personnalisés. L’argument par défaut est false.

L'exemple suivant illustre un fichier de configuration d'agent CloudWatch complet pour un serveur Linux.

Les éléments répertoriés dans les sections measurement qui concernent les métriques que vous souhaitez collecter peuvent spécifier soit l'intégralité du nom de la métrique, par exemple, ou simplement la partie du nom de la métrique qui sera ajoutée au type de ressource. Par exemple, la spécification de reads ou diskio_reads dans la section measurement de la section diskio entraîne la collecte de la métrique diskio_reads.

Cet exemple illustre les deux méthodes possibles pour spécifier des métriques dans la section measurement.

{ "agent": { "metrics_collection_interval": 10, "logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log" }, "metrics": { "namespace": "MyCustomNamespace", "metrics_collected": { "cpu": { "resources": [ "*" ], "measurement": [ {"name": "cpu_usage_idle", "rename": "CPU_USAGE_IDLE", "unit": "Percent"}, {"name": "cpu_usage_nice", "unit": "Percent"}, "cpu_usage_guest" ], "totalcpu": false, "metrics_collection_interval": 10, "append_dimensions": { "customized_dimension_key_1": "customized_dimension_value_1", "customized_dimension_key_2": "customized_dimension_value_2" } }, "disk": { "resources": [ "/", "/tmp" ], "measurement": [ {"name": "free", "rename": "DISK_FREE", "unit": "Gigabytes"}, "total", "used" ], "ignore_file_system_types": [ "sysfs", "devtmpfs" ], "metrics_collection_interval": 60, "append_dimensions": { "customized_dimension_key_3": "customized_dimension_value_3", "customized_dimension_key_4": "customized_dimension_value_4" } }, "diskio": { "resources": [ "*" ], "measurement": [ "reads", "writes", "read_time", "write_time", "io_time" ], "metrics_collection_interval": 60 }, "swap": { "measurement": [ "swap_used", "swap_free", "swap_used_percent" ] }, "mem": { "measurement": [ "mem_used", "mem_cached", "mem_total" ], "metrics_collection_interval": 1 }, "net": { "resources": [ "eth0" ], "measurement": [ "bytes_sent", "bytes_recv", "drop_in", "drop_out" ] }, "netstat": { "measurement": [ "tcp_established", "tcp_syn_sent", "tcp_close" ], "metrics_collection_interval": 60 }, "processes": { "measurement": [ "running", "sleeping", "dead" ] } }, "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]], "force_flush_interval" : 30 }, "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log", "log_group_name": "amazon-cloudwatch-agent.log", "log_stream_name": "amazon-cloudwatch-agent.log", "timezone": "UTC" }, { "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/test.log", "log_group_name": "test.log", "log_stream_name": "test.log", "timezone": "Local" } ] } }, "log_stream_name": "my_log_stream_name", "force_flush_interval" : 15, "metrics_collected": { "kubernetes": { "enhanced_container_insights": true } } } }

L'exemple suivant illustre un fichier de configuration d'agent CloudWatch complet pour un serveur exécutant Windows Server.

{ "agent": { "metrics_collection_interval": 60, "logfile": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log" }, "metrics": { "namespace": "MyCustomNamespace", "metrics_collected": { "Processor": { "measurement": [ {"name": "% Idle Time", "rename": "CPU_IDLE", "unit": "Percent"}, "% Interrupt Time", "% User Time", "% Processor Time" ], "resources": [ "*" ], "append_dimensions": { "customized_dimension_key_1": "customized_dimension_value_1", "customized_dimension_key_2": "customized_dimension_value_2" } }, "LogicalDisk": { "measurement": [ {"name": "% Idle Time", "unit": "Percent"}, {"name": "% Disk Read Time", "rename": "DISK_READ"}, "% Disk Write Time" ], "resources": [ "*" ] }, "customizedObjectName": { "metrics_collection_interval": 60, "customizedCounterName": [ "metric1", "metric2" ], "resources": [ "customizedInstances" ] }, "Memory": { "metrics_collection_interval": 5, "measurement": [ "Available Bytes", "Cache Faults/sec", "Page Faults/sec", "Pages/sec" ] }, "Network Interface": { "metrics_collection_interval": 5, "measurement": [ "Bytes Received/sec", "Bytes Sent/sec", "Packets Received/sec", "Packets Sent/sec" ], "resources": [ "*" ], "append_dimensions": { "customized_dimension_key_3": "customized_dimension_value_3" } }, "System": { "measurement": [ "Context Switches/sec", "System Calls/sec", "Processor Queue Length" ] } }, "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]] }, "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log", "log_group_name": "amazon-cloudwatch-agent.log", "timezone": "UTC" }, { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\test.log", "log_group_name": "test.log", "timezone": "Local" } ] }, "windows_events": { "collect_list": [ { "event_name": "System", "event_levels": [ "INFORMATION", "ERROR" ], "log_group_name": "System", "log_stream_name": "System", "event_format": "xml" }, { "event_name": "CustomizedName", "event_levels": [ "WARNING", "ERROR" ], "log_group_name": "CustomizedLogGroup", "log_stream_name": "CustomizedLogStream", "event_format": "xml" } ] } }, "log_stream_name": "example_log_stream_name" } }

Enregistrer manuellement le fichier de configuration d'agent CloudWatch

Si vous créez ou modifiez manuellement la configuration d'agent CloudWatch, vous pouvez lui donner n'importe quel nom. Vous pouvez ensuite copier ce fichier vers d'autres serveurs sur lesquels vous souhaitez exécuter l'agent une fois que vous avez créé le fichier.

Chargement du fichier de configuration d'agent CloudWatch dans le Parameter Store du Systems Manager

Si vous prévoyez d'utiliser l'agent SSM Agent pour installer l'agent CloudWatch sur les serveurs, vous pouvez le charger sur le Parameter Store du Systems Manager une fois que vous modifiez manuellement le fichier de configuration d'agent CloudWatch. Pour cela, utilisez la commande Systems Manager put-parameter.

Pour être en mesure de stocker le fichier dans le Parameter Store, vous devez utiliser un rôle IAM avec les autorisations suffisantes.

Utilisez la commande suivante, où nom de paramètre est le nom à utiliser pour ce fichier dans le Parameter Store et configuration_file_pathname est le chemin et le nom du fichier de configuration que vous avez modifié.

aws ssm put-parameter --name "parameter name" --type "String" --value file://configuration_file_pathname