Cómo escuchar eventos y almacenarlos en una base de datos SQL

Los administradores con frecuencia supervisan el registro de eventos para aplicaciones, servicios o errores específicos. Cuando aprenda a consultar el registro de eventos para determinados eventos, que se identifican por una cadena de consulta particular, el desafío consiste en extraer los datos de los eventos. Los eventos pueden contener información crítica. Los administradores por lo general realizan notificaciones o crean una tarea para una acción correctiva, como el reinicio de un servicio o de un servidor. Por ejemplo, el administrador de una red de tamaño medio puede tener que mostrar los eventos de los registros de eventos en varios equipos y crear una alerta cuando ocurra un determinado patrón. Puede resultar útil crear una notificación por correo electrónico basada en el éxito o fallo de la tarea. También se puede usar el reenvío de eventos para supervisar simultáneamente varios equipos.

En el siguiente ejemplo de código se muestra cómo administrar eventos reenviados de varios equipos. En su forma más sencilla, puede reunir los eventos y guardarlos en un archivo XML. El archivo XML se puede consultar entonces mediante programación para supervisar condiciones o patrones específicos. El único problema con el que se suelen encontrar los administradores es que el número de eventos crece rápidamente, con lo que se consumen muchos más recursos al buscar en los registros XML y extraer la información necesaria. Al alternar una configuración booleana, en este ejemplo se muestra cómo escribir la información de evento en una base de datos SQL. La escritura de datos en una base de datos SQL resulta útil porque:

  • Permite la escalabilidad de consultas en los registros de eventos.
  • Habilita la creación de alertas y notificaciones por correo electrónico para usar la notificación SQL.
  • Habilita la generación de informes de actividad usando la generación de informes SQL.

En el siguiente ejemplo de código se utilizan las clases del espacio de nombres System.Diagnostics.Eventing.Reader para suscribirse a eventos especificados. Cuando en el registro de eventos se publica un evento que coincide con el criterio especificado, el agente de escucha reúne los datos de eventos. La clase EventLogQuery se utiliza para especificar los criterios que conforman la consulta para los eventos. La clase EventLogWatcher se utiliza para crear una suscripción mediante el establecimiento de un método de controlador de eventos para el evento EventRecordWritten. Se llama al método de controlador de eventos cuando un evento que coincide con el criterio de búsqueda se publica en el registro.

Ejemplo

Para comprender este ejemplo, resulta útil comprender las partes principales:

Compilar el código

Este ejemplo requiere referencias a los archivos System.dll y System.Core.dll. Además, hace referencia a System.Data.dll y System.Xml.dll para manipular el XML del evento y escribir los datos en una base de datos SQL. Al ejecutar este ejemplo, asegúrese de que eleva el estado a administrador; en caso contrario, no podrá obtener acceso a determinados canales del registro de eventos.

Consulte también

Conceptos

Escenarios de registros de eventos

Send comments about this topic to Microsoft.

Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.