Seguro que todos conocéis una herramienta que viene por defecto en cualquier sistema basado en UN*X llamado syslog. Generalmente esta herramienta se suele utilizar para monitorizar cualquier evento que se produce en el servidor, permitiéndonos conocer si hay algún problema o si por el contrario, todo está funcionando perfectamente.
No obstante, el servidor syslog sirve para recibir eventos, no solo del propio servidor si no de otros dispositivos conectados en red, lo que nos permitirá recibir los mensajes que nos envíe cualquier dispositivo que haya en la red (incluso en Internet). Syslog es una de las herramientas imprescindibles en todo sistema y como tal, debería ser un «must» en cualquier infraestructura de red seria que se precie.
El ancho de banda que consume un mensaje de syslog suele depender de qué se envíe. Cada dispositivo puede permitirnos enviar por syslog únicamente los errores, los avisos, o prácticamente cualquier mensaje que pase por la memoria del dispositivo, por lo que hay que tener cuidado ya que habilitar un debug de un gateway de 4 primarios puede consumir bastante ancho de banda, ya que nos enviaría el protocolo SIP y el Q.931, así que es mejor utilizarlo para monitorizar errores y avisos y algo más preciso sólo cuando sea necesario. 🙂
Vamos a comentar cómo habilitar el servidor syslog para permitir eventos de otros dispositivos.
Habilitar la recepción de syslog remotos en Debian/Ubuntu
En el archivo /etc/rsyslog.conf se encuentra la configuración de este servicio y para habilitar la recepción de mensajes remotos hay que añadir o descomentar las siguientes líneas:
# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
Habilitar la recepción de syslog en CentOS/RedHat
En el archivo /etc/sysconfig/syslog hay que añadir una opción en el parámetro SYSLOGD_OPTIONS para habilitar la recepción de mensajes de otros dispositivos de la red:
# Options to syslogd
# – m 0 disabled ‘MARK’ messages.
# -r enables logging from remote machines
# -x disables DNS lookups on messages recieved with -r
# See syslogd(8) for more details
SYSLOGD_OPTIONS =»-m 0 -r»
Este archivo también se puede encontrar en /etc/default/syslog.
Una vez reiniciado el servicio syslogd o rsyslogd, solo nos queda acceder a la configuración de los dispositivos que queramos y añadir la dirección IP en el campo ‘Syslog Server’, de esta manera deberíamos empezar a recibir los mensajes que nos envíe dicho dispositivo.
Por lo que empezaríamos a ver los mensajes de dicho dispositivo:
Jan 1 00:01:11 192.168.1.108 0004134006D0 [NOTICE] PHN: Fetching URL: http://127.0.0.1:80/dummy.htm Jan 1 00:01:11 192.168.1.108 0004134006D0 [ERROR ] PHN: TPL: Socket Error: 22/26/connecting, connect_cb -> No such file or directory (2) Jan 1 00:01:11 192.168.1.108 0004134006D0 [NOTICE] PHN: webclient::on_tcp_close conn_id:6 Jan 1 00:01:11 192.168.1.108 0004134006D0 [ALERT ] PHN: Config setup: code: 500, uri: http://127.0.0.1:80/dummy.htm Jan 1 00:01:11 192.168.1.108 0004134006D0 [NOTICE] PHN: Fetching FW URL: http://192.168.1.9:80/firmware.htm Jan 1 00:01:11 192.168.1.108 0004134006D0 [NOTICE] PHN: Fetching URL: http://192.168.1.9:80/firmware.htm Jan 1 00:01:11 192.168.1.108 0004134006D0 [NOTICE] PHN: Skipping prio 4 setting server, type tr69, url: >< Jan 1 00:01:11 192.168.1.108 0004134006D0 [NOTICE] PHN: Go to wizzard if all settings have been read. Jan 1 00:01:11 192.168.1.108 0004134006D0 [NOTICE] PHN: SetProvisioningDone Jan 1 01:01:11 192.168.1.108 0004134006D0 [CRITIC] PHN: start_dst(954036000) end_dst(972788400) offset_dst(3600) offset_utc(3600) Jan 1 01:01:11 192.168.1.108 0004134006D0 [CRITIC] PHN: start DST: 03/26/2000 02:00:00 (954036000) Jan 1 01:01:11 192.168.1.108 0004134006D0 [CRITIC] PHN: end DST: 10/29/2000 03:00:00 (972788400) Jan 1 01:01:11 192.168.1.108 0004134006D0 [NOTICE] CFG: read_xml_settings: found phone-book XML header Jan 1 01:01:11 192.168.1.108 0004134006D0 [NOTICE] CFG: read_xml_settings: found one byte encoding: 0 Jan 1 01:01:11 192.168.1.108 0004134006D0 [NOTICE] PHN: Starting straiten of tbook, size now is 0 Jan 1 01:01:11 192.168.1.108 0004134006D0 [NOTICE] PHN: Done straiten of tbook, size now is 0 ...
Podemos configurar el syslog para redirigir todos esos mensajes a un archivo determinado (no tenemos que almacenar todos los mensajes en el /var/log/syslog ni en el /var/log/messages), pero eso ya será cosa de otro artículo. 😉
Por último, me gustaría comentar que «demasiada informaciń oculta lo verdaderamente importante», y que reviséis el tamaño del syslog, ya que en algunas ocasiones puede crecer tanto que puede afectar la estabilidad del sistema.