|
Linux: Montar servidor de log gratuito con Rsyslog, MySQL y LogAnalyzer
Cómo montar un servidor de log gratuito usando Rsyslog en Linux Ubuntu Server, guardando los datos en MySQL. Mostramos cómo instalar LogAnalyzer para generar informes y realizar consultas sobre los log.
Servidor de log syslogSyslog es un estándar desarrollado para el envío de mensajes de registro a una IP en una red LAN. Syslog hace referencia tanto al protocolo de red como a la aplicación o biblioteca que envía los mensajes de registro. Los equipos y servicios con soporte para envío de log a este sistema pueden enviar cualquier tipo de mensaje, normalmente suelen enviar información sobre la seguridad del sistema, errores, avisos, etc. aunque pueden contener cualquier información. Junto con cada mensaje se incluye la fecha y hora del envío, el equipo que envía, la prioridad y otros datos adicionales. El protocolo syslog consiste en un equipo servidor ejecutando el servidor de syslog, conocido como syslogd (demonio de syslog) y clientes que envían un pequeño mensaje de texto (de menos de 1024 bytes) a este servidor. Los mensajes de syslog se suelen enviar vía UDP, por el puerto 514, en formato de texto plano. Algunas implementaciones del servidor, como syslog-ng, permiten usar TCP en vez de UDP, y también ofrecen Stunnel para que los datos viajen cifrados mediante SSL/TLS. Aunque syslog tiene algunos problemas de seguridad, su sencillez ha hecho que muchos dispositivos lo implementen, tanto para enviar como para recibir. Eso hace posible integrar mensajes de varios tipos de sistemas en un solo repositorio central. El mensaje enviado se compone de tres campos, entre todos no han de sumar más de 1024 bytes, pero no hay longitud mínima:
Requisitos para montar servidor de log gratuito con RsyslogPara montar un servidor de log con el estándar syslog usando el software gratuito Rsyslog necesitaremos un equipo (físico o virtual) con el sistema operativo GNU Linux, utilizaremos la distribución GNU Linux Ubuntu Server 12.01. Además, necesitaremos un servidor web y una base de datos. En este tutorial explicamos cómo guardar los log de Rsyslog en el motor de base de datos MySQL Server y cómo consultarlos mediante LogAnalyzer vía web por lo que necesitaremos un servidor web con Apache y PHP. En el siguiente tutorial explicamos cómo instalar el sistema operativo GNU Linux Ubuntu Server 12.01 en un equipo nuevo (virtual o físico) con el paquete LAMP que instala automáticamente Apache + PHP + MySQL: Si ya tenemos el servidor con Linux en los siguientes tutoriales explicamos cómo instalar MySQL y Apache en Linux:
Instalar Rsyslog en GNU Linux Ubuntu Server 12A continuación vamos a explicar cómo instalar el servidor de log syslog gratuito Rsyslog en un equipo con Ubuntu Server 12, en primer lugar instalaremos la clave necesaria con el siguiente comando linux:
A continuación editaremos el fichero sources.list y añadiremos una línea nueva, para ello ejecutaremos el comando linux:
Añadiremos las siguientes líneas al final del fichero:
Guardaremos los cambios pulsando Control + O y cerraremos la edición pulsando Control + X: Actualizaremos el sistema y la lista de paquetes con el comando linux:
Tras concluir la actualización instalaremos Rsyslog con el comando linux:
No solicitará confirmación para instalar, pulsaremos la tecla "s" e INTRO: Ahora instalaremos el soporte de Rsyslog para bases de datos MySQL con el comando linux:
El asistente para instalar el paquete nos preguntará si queremos configurar la base de datos para rsyslog-mysql con dbconfig-common, seleccionaremos "Sí" y pulsaremos INTRO:
Introduciremos la contraseña del superusuario root de MySQL Server, el paquete rsyslog-mysql deberá acceder a MySQL y crear un usuario, un catálogo y las tablas correspondientes: Introduciremos ahora la contraseña para que rsyslog-mysql acceda al servidor de MySQL: Confirmamos la contraseña: El asistente creará los ficheros de configuración necesarios, el usuario, catálogo y tablas en MySQL: Accediendo con MySQL Administrator, MySQL MySQL Workbench o cualquier software para acceder a MySQL como AjpdSoft Administración Bases de Datos podremos consultar el esquema creado por rsyslog-mysql "Syslog", las tablas "SystemEvents" y "SystemEventsProperties": Y el usuario "rsyslog": El systema Rsyslog ya habrá empezado a guardar los eventos de log en MySQL, podremos consultarlos con MySQL Administrator pulsando sobre la tabla "SystemEvents" con el botón derecho del ratón y seleccionando "Edit Table Data": Se abrirá MySQL Query Browser y mostrará los registros de log que Rsyslog ya ha guardado en la tabla: Las consultas SQL de creación de las dos tablas del catálogo Syslog de MySQL:
De esta sencilla forma ya tendremos montado un servidor de log syslog con Rsyslog sobre Linux de forma gratuita y guardando los log en MySQL, por lo tanto podremos consultarlos desde cualquier aplicación que permita acceso a MySQL o bien usar algún software gratuito como LogAnalyzer.
Instalar LogAnalyzer para consulta vía web de los log de RsyslogExplicaremos ahora cómo instalar el sistema LogAnalyzer en nuestro servidor de log syslog que nos permitirá consultar vía web con un entorno amigable los eventos que Rsyslog registre en MySQL. Para ello en primer lugar crearemos una carpeta para la descarga temporal del paquete comprimido con:
Buscaremos en la web oficial de LogAnalyzer la última versión y anotaremos la URL de la descarga, para descargar el fichero comprimido desde la consola de Linux Ubuntu Server accederemos a la carpeta creada para la descarga con:
Y descargaremos el fichero con:
Descomprimiremos el fichero descargado con el comando linux:
Accederemos a la carpeta que se habrá creado al descomprimir con:
Crearemos una subcarpeta dentro de la carpeta www de Apache de nuestro servidor web con:
Ahora copiaremos el contenido de la carpeta "src" a la carpeta creada con:
Repetiremos la operación para la carpeta "contrib":
Estableceremos permisos de escritura para los ficheros configure.sh y secure.sh:
Iniciaremos LogAnalyzer vía web desde cualquier PC de la red abriendo un navegador e introduciendo la URL:
Se iniciará LogAnalyzer, en el primer inicio dará un error al detectar que aún no ha sido configurado, pulsaremos en "here" para instalar Adisco LogAnalyzer:
Se iniciará el asistente para configurar e instalar definitivamente LogAnalyzer, pulsaremos "Next": El fichero config.php debe ser escribible, en el siguiente paso el asistente de instalación de LogAnalyzer lo comprobará, de no serlo deberemos establecerle los permisos apropiados con el comando linux chmod: Introduciremos los datos de configuración, los importantes son:
El resto de parámetros son de visualización de los log, podremos modificarlos en cualquier momento: A continuación el asistente para instalar LogAnalyzer nos indicará que se van a crear las tablas en el catálogo de MySQL elegido, pulsaremos "Next": Si el proceso es correcto nos indicará las tablas creadas, pulsaremos "Next": Introduciremos ahora los datos del usuario que se creará para acceder a LogAnalyzer: Introduciremos ahora los datos de la fuente, LogAnalyzer permite analizar y consultar varios servidores de log con syslog, por lo que ahora crearemos el acceso a nuestro servidor de syslog con Rsyslog, para ello introduciremos los siguientes datos:
De esta forma LogAnalyzer permite tener sus propias tablas alojadas en un servidor de MySQL diferente al de Rsyslog (o puede ser el mismo como en nuestro caso): El proceso de instalación de LogAnalyzer habrá concluido: Introduciendo la URL en un navegador:
Nos solicitará usuario y contraseña, introducimos el elegido en el proceso de instalación y pulsamos en "Login": Y ya tendremos acceso a la consulta avanzada de los log generamos por nuestro servidor de syslog con Rsyslog desde LogAnalyzer: Anexo
Artículos relacionados
CréditosArtículo realizado íntegramente por Alonsojpd, miembro del Proyecto AjpdSoft. Anuncios
Enviado el Miércoles, 20 marzo a las 23:43:30 por ajpdsoft
|
|