- Centralizado de logs en un único servidor
- Almacenamiento en multiples bases de datos.
- Disponibilidad de herramientas de análisis con interfaz web (como el phpsyslog-ng)
- Compatibilidad con sistemas operativos de MS.
A continuación se detalla el procedimiento para la instalación en un servidor Ubuntu Server 8.10 en donde se almacenaran los eventos de varios servidores Linux y Windows en una base de datos Mysql y serán visualizados con la interfaz web que proporciona el phpsyslog-ng.
Para ello es necesario contar con:
- Syslog-ng [1]
- Servidor Web Apache [1]
- Php [1]
- Base de datos Mysql Server [1]
- php-syslog-ng [2]
- NTsyslog-ng [3]
Nota: El php-syslog-ng quedó freezado en sourceforge en la versión 2.9.1.x . Para versiones posteriores (acutalmente la 2.9.8l) descargar el instalador de http://code.google.com/p/php-syslog-ng/
Configuración del syslog-ng:
Hay que modificar el archivo /etc/syslog-ng/syslog-ng.conf agregando la siguiente linea de destino:
destination d_mysql {
pipe("/var/log/mysql.pipe"
template("INSERT INTO logs (host, facility, priority, level, tag, datetime, program, msg) VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC', '$PROGRAM', '$MSG' );\n") template-escape(yes));
};
y en las secciones src y log agregar las siguientes líneas:
source net { udp(); };
log { source(net); destination(d_mysql); };
Luego debemos crear un programa, el cual leerá el pipe generado por el syslog-ng (ver destination) y enviará los INSERTs a la base de datos mysql.
en /etc/syslog-ng/syslog2mysql.sh escribimos:
#!/bin/bash
if [ ! -e /var/log/mysql.pipe ]
then
mkfifo /var/log/mysql.pipe
fi
while [ -e /var/log/mysql.pipe ]
do
mysql -u mysqlfeeder --password=miPassWord syslog < /var/log/mysql.pipe >/dev/null
done
Y le damos permiso de ejecución:
chmod +x /etc/syslog-ng/syslog2mysql.sh
Recordar agregar un usuario mysqlfeeder con permiso de INSERT para la base syslog.
Descomprimimos el phpsyslog-ng en /usr/share/syslog-ng y agregamos un vhost en el apache (sino se puede descomprimir en el /var/www y acceder con http://127.0.0.1/)
Dentro de /install tendremos una serie de pantallas que nos iran llevando por la instalación típica.
Instalación del cliente MS Windows:
Sencillamente descargamos el instalados del NTsyslog y lo instalamos en el sistema a monitorear. El servidor se define en la siguiente clave de registro:
[HKEY_LOCAL_MACHINE\SOFTWARE\
Mediante el acceso directo generado se puede ararncar/parar el servicio, y configurar que logs serán enviados a nuestro servidor.
Instalación del cliente Linux
Despues de instalar (apt-get nuevamente) el syslog-ng, solo debemos agregar las siguientes lineas al archivo de configuración:
destination dest_server0102{udp("syslog-
log { source(s_all); destination(dest_server0102); };
[1] Instalacion vía el comando apt-get
[2] http://code.google.com/p/php-syslog-ng/
[3] http://ntsyslog.sourceforge.
No hay comentarios:
Publicar un comentario