Partager via


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 :

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.