Procédure d'écoute et de stockage d'événements dans une base de données SQL
Les administrateurs contrôlent souvent le journal des événements Windows pour surveiller des applications, des services ou détecter des erreurs spécifiques. Lorsque vous apprenez à interroger le journal des événements pour retrouver certains événements identifiés par une chaîne de requête particulière, explorer les données d'événement relève du défi. Un événement peut contenir des informations critiques. Les administrateurs créent généralement des notifications ou une tâche pour une action corrective, telle que le redémarrage d'un service ou d'un serveur. Par exemple, l'administrateur d'un réseau de taille moyenne peut avoir besoin d'afficher les événements des journaux des événements sur plusieurs ordinateurs et de créer une alerte lorsque certains modèles se produisent. Il peut s'avérer utile de créer une notification par courrier électronique basée sur la réussite ou l'échec d'une tâche. Le transfert des événements peut permettre de contrôler plusieurs ordinateurs simultanément.
L'exemple de code suivant montre la procédure de gestion des événements transférés depuis plusieurs ordinateurs. Dans sa forme la plus simple, il peut rassembler des événements et les enregistrer dans un fichier XML. Ce fichier XML peut ensuite être interrogé à l'aide d'un programme pour contrôler les modèles ou conditions spécifiques. Le principal problème que les administrateurs rencontrent couramment est que le nombre d'événements augmente rapidement, nécessitant davantage de ressources pour effectuer des recherches dans les journaux XML et explorer les informations requises. En alternant un paramètre booléen, cet exemple montre comment écrire les informations sur l'événement dans une base de données SQL. L'écriture de données dans une base de données SQL s'avère utile car :
- elle permet l'évolutivité de l'interrogation des enregistrements d'événements.
- elle permet de créer des alertes et des notifications par courrier électronique à l'aide de notifications SQL ;
- elle permet la génération de rapports d'activités à l'aide de SQL reporting.
L'exemple de code suivant utilise les classes de l'espace de noms System.Diagnostics.Eventing.Reader pour s'abonner aux événements spécifiques. Lors de la publication dans le journal des événements d'un événement qui répond au critère spécifié, les données d'événement sont collectées par l'écouteur. La classe EventLogQuery permet de spécifier les critères qui forment la requête pour les événements. La classe EventLogWatcher permet de créer un abonnement en établissant une méthode de gestionnaire d'événements pour l'événement EventRecordWritten. La méthode de gestionnaire d'événements est appelée lorsqu'un événement qui répond aux critères de la requête est publié dans le journal.
Exemple
Pour comprendre cet exemple, il est utile d'en comprendre les parties principales :
- Utilisation du fichier des paramètres d'application : le fichier des paramètres offre une méthode de stockage, de récupération et d'ajustement des paramètres XML pour l'application. Il contient des données statiques telles que le nom de la base de données et la chaîne de connexion permettant de s'y connecter.
- Paramétrage d'un écouteur et d'un abonnement d'événement : cette rubrique met en évidence la partie de l'exemple qui crée une instance d'un écouteur d'événement et montre comment s'abonner aux événements.
- Paramétrage d'une base de données SQL et écriture de données d'événement dans la base de données : cette rubrique décrit le code qui spécifie la partie liée à la base de données de cet exemple.
- Exemple de code pour l'écoute d'événement : cette rubrique contient l'exemple de code.
Compilation du code
Cet exemple nécessite des références aux fichiers System.dll et System.Core.dll. En outre, il fait référence aux fichiers System.Data.dll et System.Xml.dll pour manipuler l'événement au format XML et écrire les données dans une base de données SQL. Lors de l'exécution de cet exemple, veillez à élever votre statut à celui d'administrateur, sinon vous risquez de ne pas pouvoir accéder à certains canaux du journal des événements.
Voir aussi
Concepts
Scénarios du journal des événements
Send comments about this topic to Microsoft.
Copyright © 2007 par Microsoft Corporation. Tous droits réservés.