Quick Start : Activation de vos instances Amazon EC2 exécutant Windows Server 2012 et Windows Server 2008 pour envoyer des journaux à CloudWatch Logs - Amazon CloudWatch Logs

Quick Start : Activation de vos instances Amazon EC2 exécutant Windows Server 2012 et Windows Server 2008 pour envoyer des journaux à CloudWatch Logs

Astuce

CloudWatch inclut un nouvel agent unifié qui peut collecter à la fois les journaux et les métriques des instances EC2 et des serveurs sur site. Nous vous recommandons d'utiliser le nouvel agent CloudWatch unifié. Pour plus d'informations, consultez Mise en route avec CloudWatch Logs.

Le reste de cette section explique l'utilisation de l'ancien agent CloudWatch Logs.

Activez vos instances Amazon EC2 exécutant Windows Server 2012 et Windows Server 2008 pour envoyer des journaux à CloudWatch Logs

Procédez comme suit pour activer vos instances exécutant Windows Server 2012 et Windows Server 2008., et envoyer des journaux à CloudWatch Logs.

Téléchargement de l'exemple de fichier de configuration

Téléchargez le fichier d'exemple JSON suivant sur votre ordinateur : AWS.EC2.Windows.CloudWatch.json. Vous y apporterez des modifications lors des étapes suivantes.

Configuration du fichier JSON pour CloudWatch

Vous déterminez les journaux à envoyer à CloudWatch en indiquant vos choix dans le fichier de configuration JSON. Le processus de création de ce fichier et la spécification des options peuvent prendre 30 minutes ou plus. Après avoir effectué cette tâche une fois, vous pouvez réutiliser le fichier de configuration sur toutes vos instances.

Étape 1 : Activer CloudWatch Logs

Dans la partie supérieure du fichier JSON, remplacez « false » par « true » pour IsEnabled :

"IsEnabled": true,

Étape 2 : Configurer les paramètres pour CloudWatch

Indiquez les informations d'identification, la région, le nom du groupe de journaux et l'espace de noms du flux de journaux. Cela permet à l'instance d'envoyer les données des journaux à CloudWatch Logs. Pour envoyer les mêmes données de journaux à différents emplacements, vous pouvez ajouter des sections supplémentaires avec des ID uniques (par exemple, « CloudWatchLogs2 » et « CloudWatchLogs3 ») et une région différente pour chaque ID.

Pour configurer les paramètres et envoyer les données des journaux à CloudWatch Logs
  1. Dans le fichier JSON, localisez la section CloudWatchLogs.

    { "Id": "CloudWatchLogs", "FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch", "Parameters": { "AccessKey": "", "SecretKey": "", "Region": "us-east-1", "LogGroup": "Default-Log-Group", "LogStream": "{instance_id}" } },
  2. Laissez les champs AccessKey et SecretKey vides. Vous configurez les informations d'identification à l'aide d'un rôle IAM.

  3. Pour Region, saisissez la région vers laquelle envoyer les données des journaux (par exemple, us-east-2).

  4. Pour LogGroup, saisissez le nom de votre groupe de journaux. Ce nom s'affiche sur l'écran Groupes de journaux dans la console CloudWatch.

  5. Pour LogStream, saisissez le flux de journal de destination. Ce nom s'affiche sur l'écran Groupes de journaux > Flux dans la console CloudWatch.

    Si vous utilisez {instance_id}, la valeur par défaut, le nom de flux de journal est l'ID de l'instance.

    Si vous saisissez un nom de flux de journal qui n'existe pas déjà, CloudWatch Logs le crée automatiquement. Vous pouvez définir un nom de flux de journal à l'aide d'une chaîne littérale, des variables prédéfinies {instance_id}, {hostname} et {ip_address}, ou d'une combinaison de celles-ci.

Étape 3 : Configurer les données à envoyer

Vous pouvez envoyer des données de journaux d'événements, des données de suivi des événements pour Windows (ETW) et d'autres données de journaux à CloudWatch Logs.

Pour envoyer les données de journal des événements d'application Windows à CloudWatch Logs
  1. Dans le fichier JSON, localisez la section ApplicationEventLog.

    { "Id": "ApplicationEventLog", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "Application", "Levels": "1" } },
  2. Pour Levels, spécifiez le type de messages à charger. Vous pouvez spécifier l'une des valeurs suivantes :

    • 1 - Chargez uniquement les messages d'erreur.

    • 2 - Chargez uniquement les messages d'avertissement.

    • 4 - Chargez uniquement les messages d'information.

    Vous pouvez associer des valeurs pour inclure plusieurs types de message. Par exemple, la valeur 3 charge les messages d'erreur (1) et les messages d'avertissement (2). La valeur 7 charge les messages d'erreur (1), les messages d'avertissement (2) et les messages d'information (4).

Pour envoyer les données de journal de sécurité à CloudWatch Logs
  1. Dans le fichier JSON, localisez la section SecurityEventLog.

    { "Id": "SecurityEventLog", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "Security", "Levels": "7" } },
  2. Pour Levels, saisissez 7 pour charger tous les messages.

Pour envoyer les données de journal des événements système à CloudWatch Logs
  1. Dans le fichier JSON, localisez la section SystemEventLog.

    { "Id": "SystemEventLog", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "System", "Levels": "7" } },
  2. Pour Levels, spécifiez le type de messages à charger. Vous pouvez spécifier l'une des valeurs suivantes :

    • 1 - Chargez uniquement les messages d'erreur.

    • 2 - Chargez uniquement les messages d'avertissement.

    • 4 - Chargez uniquement les messages d'information.

    Vous pouvez associer des valeurs pour inclure plusieurs types de message. Par exemple, la valeur 3 charge les messages d'erreur (1) et les messages d'avertissement (2). La valeur 7 charge les messages d'erreur (1), les messages d'avertissement (2) et les messages d'information (4).

Pour envoyer les autres types de données de journal des événements à CloudWatch Logs
  1. Dans le fichier JSON, ajoutez une nouvelle section. Chaque section doit avoir un Id unique.

    { "Id": "Id-name", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "Log-name", "Levels": "7" } },
  2. Pour Id, tapez un nom pour le journal à charger (par exemple, WindowsBackup).

  3. Pour LogName, saisissez le nom du journal à charger. Vous pouvez trouver le nom du journal comme suit.

    1. Ouvrez l'Observateur d'événements

    2. Dans le panneau de navigation, cliquez sur Journaux d'applications et de services.

    3. Naviguez jusqu'au journal, puis choisissez Actions, Propriétés.

  4. Pour Levels, spécifiez le type de messages à charger. Vous pouvez spécifier l'une des valeurs suivantes :

    • 1 - Chargez uniquement les messages d'erreur.

    • 2 - Chargez uniquement les messages d'avertissement.

    • 4 - Chargez uniquement les messages d'information.

    Vous pouvez associer des valeurs pour inclure plusieurs types de message. Par exemple, la valeur 3 charge les messages d'erreur (1) et les messages d'avertissement (2). La valeur 7 charge les messages d'erreur (1), les messages d'avertissement (2) et les messages d'information (4).

Pour envoyer les données de suivi d'événements de Windows à CloudWatch Logs

ETW (Event Tracing for Windows, suivi d'événements pour Windows) fournit un mécanisme de journalisation efficace et détaillé dans lequel les applications peuvent consigner des journaux. Chaque ETW est contrôlé par un gestionnaire de session qui peut démarrer et arrêter la session de journalisation. Chaque session a un fournisseur et un ou plusieurs utilisateurs.

  1. Dans le fichier JSON, localisez la section ETW.

    { "Id": "ETW", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "Microsoft-Windows-WinINet/Analytic", "Levels": "7" } },
  2. Pour LogName, saisissez le nom du journal à charger.

  3. Pour Levels, spécifiez le type de messages à charger. Vous pouvez spécifier l'une des valeurs suivantes :

    • 1 - Chargez uniquement les messages d'erreur.

    • 2 - Chargez uniquement les messages d'avertissement.

    • 4 - Chargez uniquement les messages d'information.

    Vous pouvez associer des valeurs pour inclure plusieurs types de message. Par exemple, la valeur 3 charge les messages d'erreur (1) et les messages d'avertissement (2). La valeur 7 charge les messages d'erreur (1), les messages d'avertissement (2) et les messages d'information (4).

Pour envoyer les journaux personnalisés (tout fichier journal texte) à CloudWatch Logs
  1. Dans le fichier JSON, localisez la section CustomLogs.

    { "Id": "CustomLogs", "FullName": "AWS.EC2.Windows.CloudWatch.CustomLog.CustomLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogDirectoryPath": "C:\\CustomLogs\\", "TimestampFormat": "MM/dd/yyyy HH:mm:ss", "Encoding": "UTF-8", "Filter": "", "CultureName": "en-US", "TimeZoneKind": "Local", "LineCount": "5" } },
  2. Pour LogDirectoryPath, saisissez le chemin d'accès où les journaux sont stockés sur votre instance.

  3. Pour TimestampFormat, saisissez le format d'horodatage que vous voulez utiliser. Pour plus d'informations sur les valeurs prises en charge, consultez la rubrique Chaînes de format de date et d'heure personnalisées sur MSDN.

    Important

    Votre fichier journal source doit avoir l'horodatage au début de chaque ligne de journal et un espace après l'horodatage.

  4. Pour Encoding, tapez l'encodage de fichier à utiliser (par exemple, UTF-8). Pour plus d'informations sur les valeurs prises en charge, consultez la rubrique Classe d'encodage sur MSDN.

    Note

    Utilisez le nom d'encodage, pas le nom complet.

  5. (Facultatif) Pour Filter, tapez le préfixe des noms de journaux. Laissez ce paramètre vide de façon à surveiller tous les fichiers. Pour plus d'informations sur les valeurs prises en charge, consultez la rubrique Propriété FileSystemWatcherFilter sur MSDN.

  6. (Facultatif) Pour CultureName, saisissez les paramètres régionaux où l'horodatage est consigné. Si CultureName est vide, il prend par défaut les mêmes paramètres régionaux que ceux actuellement utilisés par votre instance de Windows. Pour plus d'informations sur les valeurs prises en charge, consultez la colonne Language tag du tableau de la rubrique Product Behavior sur MSDN.

    Note

    Les valeurs div, div-MV, hu et hu-HU ne sont pas prises en charge.

  7. (Facultatif) Pour TimeZoneKind, tapez Local ou UTC. Vous pouvez définir ce paramètre pour fournir des informations de fuseau horaire si aucune n'est comprise dans l'horodatage de vos journaux. Si ce paramètre est laissé vide et si votre horodatage n'inclut pas les informations de fuseau horaire, CloudWatch Logs utilise le fuseau horaire local par défaut. Ce paramètre est ignoré si votre horodatage contient déjà des informations de fuseau horaire.

  8. (Facultatif) Pour LineCount, saisissez le nombre de lignes dans l'en-tête pour identifier le fichier journal. Par exemple, les fichiers journaux IIS ont des en-têtes presque identiques. Vous pouvez entrer 5, qui lit les trois premières lignes de l'en-tête du fichier journal pour l'identifier. Dans les fichiers journaux IIS, la troisième ligne contient la date et l'horodatage, mais l'horodatage n'est pas toujours différent d'un fichier journal à l'autre. Pour cette raison, nous recommandons d'inclure au moins une ligne de données de journaux réelles pour affecter une empreinte unique au fichier journal.

Pour envoyer les données de journal de IIS à CloudWatch Logs
  1. Dans le fichier JSON, localisez la section IISLog.

    { "Id": "IISLogs", "FullName": "AWS.EC2.Windows.CloudWatch.CustomLog.CustomLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogDirectoryPath": "C:\\inetpub\\logs\\LogFiles\\W3SVC1", "TimestampFormat": "yyyy-MM-dd HH:mm:ss", "Encoding": "UTF-8", "Filter": "", "CultureName": "en-US", "TimeZoneKind": "UTC", "LineCount": "5" } },
  2. Pour LogDirectoryPath, saisissez le dossier où les journaux IIS sont stockés pour un site individuel (par exemple, C:\inetpub\logs\LogFiles\W3SVCn).

    Note

    Seul le format de journal W3C est pris en charge. Les formats IIS, NCSA et Personnalisé ne sont pas pris en charge.

  3. Pour TimestampFormat, saisissez le format d'horodatage que vous voulez utiliser. Pour plus d'informations sur les valeurs prises en charge, consultez la rubrique Chaînes de format de date et d'heure personnalisées sur MSDN.

  4. Pour Encoding, tapez l'encodage de fichier à utiliser (par exemple, UTF-8). Pour plus d'informations sur les valeurs prises en charge, consultez la rubrique Classe d'encodage sur MSDN.

    Note

    Utilisez le nom d'encodage, pas le nom complet.

  5. (Facultatif) Pour Filter, tapez le préfixe des noms de journaux. Laissez ce paramètre vide de façon à surveiller tous les fichiers. Pour plus d'informations sur les valeurs prises en charge, consultez la rubrique Propriété FileSystemWatcherFilter sur MSDN.

  6. (Facultatif) Pour CultureName, saisissez les paramètres régionaux où l'horodatage est consigné. Si CultureName est vide, il prend par défaut les mêmes paramètres régionaux que ceux actuellement utilisés par votre instance de Windows. Pour plus d'informations sur les valeurs prises en charge, consultez la colonne Language tag du tableau de la rubrique Product Behavior sur MSDN.

    Note

    Les valeurs div, div-MV, hu et hu-HU ne sont pas prises en charge.

  7. (Facultatif) Pour TimeZoneKind, saisissez Local ou UTC. Vous pouvez définir ce paramètre pour fournir des informations de fuseau horaire si aucune n'est comprise dans l'horodatage de vos journaux. Si ce paramètre est laissé vide et si votre horodatage n'inclut pas les informations de fuseau horaire, CloudWatch Logs utilise le fuseau horaire local par défaut. Ce paramètre est ignoré si votre horodatage contient déjà des informations de fuseau horaire.

  8. (Facultatif) Pour LineCount, saisissez le nombre de lignes dans l'en-tête pour identifier le fichier journal. Par exemple, les fichiers journaux IIS ont des en-têtes presque identiques. Vous pouvez entrer 5, qui lirait les cinq premières lignes de l'en-tête du fichier journal pour l'identifier. Dans les fichiers journaux IIS, la troisième ligne contient la date et l'horodatage, mais l'horodatage n'est pas toujours différent d'un fichier journal à l'autre. Pour cette raison, nous recommandons d'inclure au moins une seule ligne de données de journaux réelles pour affecter une empreinte unique au fichier journal.

Étape 4 : Configurer le contrôle de flux

Chaque type de données doit avoir une destination correspondante dans la section Flows. Par exemple, pour envoyer le journal personnalisé, le journal ETW et le journal système à CloudWatch Logs, ajoutez (CustomLogs,ETW,SystemEventLog),CloudWatchLogs à la section Flows.

Avertissement

L'ajout d'une étape qui n'est pas valide bloque le flux. Par exemple, si vous ajoutez une étape de métrique de disque, mais que votre instance ne comporte pas de disque, toutes les étapes du flux sont bloquées.

Vous pouvez envoyer le même fichier journal plusieurs destinations. Par exemple, pour envoyer le journal d'application à deux destinations différentes que vous avez définies dans la section CloudWatchLogs, ajoutez ApplicationEventLog,(CloudWatchLogs,CloudWatchLogs2) à la section Flows.

Pour configurer le contrôle de flux
  1. Dans le fichier AWS.EC2.Windows.CloudWatch.json, recherchez la section Flows.

    "Flows": { "Flows": [ "PerformanceCounter,CloudWatch", "(PerformanceCounter,PerformanceCounter2), CloudWatch2", "(CustomLogs, ETW, SystemEventLog),CloudWatchLogs", "CustomLogs, CloudWatchLogs2", "ApplicationEventLog,(CloudWatchLogs, CloudWatchLogs2)" ] }
  2. Pour Flows, ajoutez chaque type de données à charger (par exemple, ApplicationEventLog) et sa destination (par exemple, CloudWatchLogs).

Vous avez maintenant terminé de modifier le fichier JSON. Vous l'utiliserez dans une étape ultérieure.

Démarrage de l'agent

Pour permettre à une instance Amazon EC2 d'exécuter Windows Server 2012 ou Windows Server 2008 et d'envoyer des journaux à CloudWatch Logs, utilisez le service EC2Config (EC2Config.exe). EC2Config 4.0 ou une version ultérieure doit être installée sur votre instance, et vous pouvez utiliser cette procédure. Pour plus d'informations sur l'utilisation d'une version antérieure d'EC2Config, consultez Utilisation d'EC2Config 3.x ou version antérieure pour la configuration de CloudWatch dans le Guide de l'utilisateur Amazon EC2 pour les instances Windows

Pour configurer CloudWatch avec EC2Config 4.x
  1. Vérifiez l'encodage du fichier AWS.EC2.Windows.CloudWatch.json que vous avez déjà modifié dans cette procédure. Seul l'encodage UTF-8 sans BOM est pris en charge. Enregistrez ensuite le fichier dans le dossier suivant de votre instance Windows Server 2008 - 2012 R2 : C:\Program Files\Amazon\SSM\Plugins\awsCloudWatch\.

  2. Démarrez ou redémarrez le SSM Agent (AmazonSSMAgent.exe) via le panneau de configuration Windows Services ou à l'aide de la commande PowerShell suivante :

    PS C:\> Restart-Service AmazonSSMAgent

Une fois que le SSM Agent a redémarré, il détecte le fichier de configuration et configure l'instance pour l'intégration de CloudWatch. Si vous modifiez les paramètres dans le fichier de configuration local, vous devez redémarrer le SSM Agent pour appliquer les modifications. Pour désactiver l'intégration de CloudWatch au niveau de l'instance, remplacez IsEnabled par false et enregistrez les modifications dans le fichier de configuration.