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
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.
Étapes
É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
-
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}" } },
-
Laissez les champs
AccessKey
etSecretKey
vides. Vous configurez les informations d'identification à l'aide d'un rôle IAM. -
Pour
Region
, saisissez la région vers laquelle envoyer les données des journaux (par exemple,us-east-2
). -
Pour
LogGroup
, saisissez le nom de votre groupe de journaux. Ce nom s'affiche sur l'écran Groupes de journaux dans la console CloudWatch. -
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
-
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" } },
-
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 valeur7
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
-
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" } },
-
Pour
Levels
, saisissez7
pour charger tous les messages.
Pour envoyer les données de journal des événements système à CloudWatch Logs
-
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" } },
-
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 valeur7
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
-
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" } }, -
Pour
Id
, tapez un nom pour le journal à charger (par exemple,WindowsBackup
). -
Pour
LogName
, saisissez le nom du journal à charger. Vous pouvez trouver le nom du journal comme suit.-
Ouvrez l'Observateur d'événements
-
Dans le panneau de navigation, cliquez sur Journaux d'applications et de services.
-
Naviguez jusqu'au journal, puis choisissez Actions, Propriétés.
-
-
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 valeur7
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.
-
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" } },
-
Pour
LogName
, saisissez le nom du journal à charger. -
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 valeur7
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
-
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" } },
-
Pour
LogDirectoryPath
, saisissez le chemin d'accès où les journaux sont stockés sur votre instance. -
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éessur 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.
-
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'encodagesur MSDN. Note
Utilisez le nom d'encodage, pas le nom complet.
-
(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é FileSystemWatcherFiltersur MSDN. -
(Facultatif) Pour
CultureName
, saisissez les paramètres régionaux où l'horodatage est consigné. SiCultureName
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 colonneLanguage tag
du tableau de la rubrique Product Behaviorsur MSDN. Note
Les valeurs
div
,div-MV
,hu
ethu-HU
ne sont pas prises en charge. -
(Facultatif) Pour
TimeZoneKind
, tapezLocal
ouUTC
. 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. -
(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 entrer5
, 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
-
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" } },
-
Pour
LogDirectoryPath
, saisissez le dossier où les journaux IIS sont stockés pour un site individuel (par exemple,C:\inetpub\logs\LogFiles\W3SVC
).n
Note
Seul le format de journal W3C est pris en charge. Les formats IIS, NCSA et Personnalisé ne sont pas pris en charge.
-
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éessur MSDN. -
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'encodagesur MSDN. Note
Utilisez le nom d'encodage, pas le nom complet.
-
(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é FileSystemWatcherFiltersur MSDN. -
(Facultatif) Pour
CultureName
, saisissez les paramètres régionaux où l'horodatage est consigné. SiCultureName
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 colonneLanguage tag
du tableau de la rubrique Product Behaviorsur MSDN. Note
Les valeurs
div
,div-MV
,hu
ethu-HU
ne sont pas prises en charge. -
(Facultatif) Pour
TimeZoneKind
, saisissezLocal
ouUTC
. 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. -
(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 entrer5
, 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
-
Dans le fichier
AWS.EC2.Windows.CloudWatch.json
, recherchez la sectionFlows
."Flows": { "Flows": [ "PerformanceCounter,CloudWatch", "(PerformanceCounter,PerformanceCounter2), CloudWatch2", "(CustomLogs, ETW, SystemEventLog),CloudWatchLogs", "CustomLogs, CloudWatchLogs2", "ApplicationEventLog,(CloudWatchLogs, CloudWatchLogs2)" ] }
-
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
-
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\
. -
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.