API para analizar archivos de registro

Estoy buscando una API que pueda ayudarme a analizar los archivos de registro, a los que pueda llamar desde mi código C#. No necesito un visor, ya que no hay ningún requisito para ver los registros. El análisis es necesario para generar datos para una aplicación de aprendizaje automático. Entonces, cualquier API que pueda darme una lista de registros, si proporciono la ruta, es lo suficientemente buena.

Estoy tratando de encontrarlo yo mismo, pero todo lo que puedo encontrar son los visores de registro, que intentan mostrar los datos en su propio estilo, hacen mucho trabajo aleatorio, tienen su propia interfaz de usuario y arquitectura. Lo que necesito es solo su lógica comercial preferiblemente en una DLL, si eso tiene sentido. Si está en forma de un servicio web, eso también funciona. Siempre que pueda hacer referencia a él, llame a una función, pase la ruta del archivo y obtenga los datos analizados en JSON o en un objeto.

¿Cómo sabe el servicio/software el formato de las entradas de registro? Diferentes registradores registran información en formatos muy diferentes. Por ejemplo, el registro de nginx es muy diferente del registro de Rails .
Puedo hacer que el usuario defina el formato, usando una interfaz de usuario simple, y guarde ese formato en XML o algo más. Por lo tanto, el software conocerá la ruta del servidor (configurable a través de la interfaz de usuario), el tipo de registro y el formato del registro.
Entonces, ¿quiere poder informarle al servicio de análisis de archivos de registro sobre la especificación del archivo de registro? La "especificación" parece ser la parte más importante del servicio que desea, por lo que básicamente está escribiendo todo el servicio usted mismo de todos modos...
Lo sé. La cuestión es que la parte de la especificación puede cambiar, por lo que básicamente todo lo que estoy buscando es una clase que pueda tomar una lista de parámetros y la ruta del archivo, y cuidar toda la sincronicidad, la lectura de archivos y la administración del diario USN, etc. Más o menos , Estoy buscando una clase de lectura de archivos, supongo.
Ah, y obviamente, si la clase puede manejar la lectura del archivo en una unidad de red, aún mejor. Entonces, si paso una dirección http o ftp, aún puede leer el archivo, encargarse de todo lo relacionado con los errores del servidor, etc.

Respuestas (2)

splunk

Puedes probar Splunk , un software de monitorización de análisis avanzado. Se puede utilizar como herramienta para recopilar, monitorear, visualizar y analizar datos de máquinas de cualquier fuente. Es comercial, pero también está disponible una versión de prueba gratuita.

Splunk proporciona un método API para cada función. Consulte: Tutorial de gestión de objetos .

Si necesita ayuda con esto, haga preguntas a Splunk en Stack Overflow .

Logstash

Puede usar Logstash , una canalización de procesamiento de datos del lado del servidor de código abierto que ingiere datos de una multitud de fuentes simultáneamente.

Puede verificar los complementos existentes en GitHub , ya sea que pueda encontrar lo que está buscando o puede escribir el suyo propio.