Troubleshooting

Principales archivos de log

Cuando nos enfrentamos a una incidencia en nuestro despliegue de Zentyal y comenzamos con el proceso de troubleshooting [1], es de vital importancia conocer los archivos de log que nos pueden dar las pistas precisas para encontrar el origen del problema y subsanarlo.

[1]Troubleshooting: https://en.wikipedia.org/wiki/Troubleshooting

A continuación detallamos los archivos de log más importantes del Servidor Zentyal.

Accesos SSH al servidor:

¿Sospechas de una violación de seguridad? ¿Quieres conocer los inicios de sesión de los usuarios y el uso del comando sudo? Consulta los accesos SSH al servidor:

/var/log/auth.log
Estado de los módulos de Zentyal:

¿Hay errores en los servicios gestionados por Zentyal? Consulta el estado de los módulos de Zentyal:

/var/log/zentyal/zentyal.log
Registros del sistema y demonios ejecutados:

¿No estás del todo seguro de qué es lo que va mal y dónde? Comienza revisando los registros del sistema y de los demonios ejecutados sobre el mismo:

/var/log/syslog
Software instalado:

¿Tienes problemas al instalar módulos o algunos servicios dejaron de ejecutarse? Consulta el software instalado:

/var/log/zentyal/software.log
/var/log/dpkg.log
Registros del módulo de Controlador de Dominio:

¿Tus usuarios tienen problemas al autenticarse en el dominio? ¿O tienes problemas al añadir Zentyal como un DC adicional? Consulta los registros relacionados con el módulo de Controlador de Dominio:

/var/log/samba/samba.log
Registros del módulo de Correo:

¿Tienes problemas con los servicios de correo electrónico (entrega, spam, mensajes enviados/recibidos)? Consulta estos registros del módulo de correo:

/var/log/mail.log
/var/log/mail.err
Registros de SOGo:

Si tus problemas están relacionados con el webmail o groupware, consulta los registros de SOGo:

/var/log/sogo/sogo.log
Registro de las conexiones del módulo de OpenVPN:

¿Problemas con tus conexiones VPN? Consulta los registros de conexiones del módulo OpenVPN:

/var/log/openvpn/
Registros de Proxy:

Si tienes problemas con el servicio de proxy, debes revisar los registros de este módulo:

/var/log/squid/
Registros de Jabber:

Si tus problemas están relacionados con el módulo de mensajería instantánea, consulta los registros del módulo Jabber:

/var/log/ejabberd/

Principales comandos

Además de conocer los logs donde se almacenan los eventos del servidor y los servicios ejecutados, es importante conocer comandos que nos permitan depurar el sistema. A continuación enumeramos algunos de los más comunes y útiles.

Paquetes rotos:

dpkg -l |egrep -v '^ii|rc' | awk '{if(NR>5)print}'

Caídas de red:

grep 'Link is Down' /var/log/syslog

Errores en la base de datos interna de Samba:

samba-tool dbcheck --cross-ncs

Estado de los módulos y sus demonios:

zs dns status
systemctl status bind9
journalctl -u bind9

Estado de las bases de datos de MYSQL:

mysqlcheck -u root -p$(cat /var/lib/zentyal/conf/zentyal-mysql.passwd) \
--all-databases

Procesos bloqueados:

lslocks

GPOs aplicadas y no aplicadas en un cliente Windows del dominio:

gpresult

Informe de las GPOs aplicadas y denegadas para un determinado cliente:

A través de las RSAT, en el menú 'Group Policy Results'

Por último, es importante saber dónde buscar información adicional en caso de fallos. Los siguientes enlaces son especialmente útiles en relación con el módulo de Controlador de Dominio:

Otros comandos útiles

Como todo sistema informático, Zentyal debe ser diariamente revisado para asegurar su estabilidad. Si posible, debemos mantener nuestro servidor monitorizado mediante Zabbix [2], Nagios, etc. Éstos nos avisarán cuando Zentyal esté experimentando alguna incidencia o anomalía (entre otras funciones).

Siempre es necesario estar familiarizado con una serie de comandos básicos para obtener información del servidor así como para el mantenimiento del servidor, algunos de los cuales, procedemos a indicar a continuación:

Estado de los discos:

Estos comandos proporcionan información sobre los dispositivos de bloque (discos duros, SSD, USB...) y y la cantidad de espacio en disco disponible en los sistemas de ficheros:

lsblk
df -hT
Carga del procesador:

Estos comandos permiten ver los procesos que se están ejecutando en el sistema y comprender la carga de trabajo que generan en la CPU:

htop
top -bn1 | egrep -o "load average:.*" | cut -d ":" -f2 | tr -s "," "."
Uso de la memoria RAM y SWAP:

Este comando muestra las cantidades totales de memoria SWAP y física disponibles y utilizadas, así como los búferes utilizados por el Kernel:

free -m
Comprobaciones de red:

Estos comandos ayudan a confirmar y solucionar problemas relacionados con direcciones y rutas IP, conectividad a Internet, DNS o problemas de conectividad de red:

ip -4 a
ip route show
ping google.es
dig google.es
dig 8.8.8.8
traceroute google.es
dig @localhost zentyal-domain.lan
Paquetes disponibles por actualizar:

Estos comandos proporcionan información de las actualizaciones disponibles:

apt-get update && apt list --upgradable
Tareas programas que han sido ejecutadas:

Este comando muestra las entradas relacionadas con cron, permitiendo revisar por ejemplo si se han ejecutado las tareas programadas:

grep 'cron' /var/log/syslog
Correos que no han sido enviados:

Este comando muestra los correos electrónicos rechazados, ayudando a detectar y solucionar posibles problemas relacionados con el correo electrónico:

egrep 'status=(reject|bounced)' /var/log/mail.log
[2]Monitorización de Zentyal: https://wiki.zentyal.org/wiki/Zentyal_server_monitoring_with_Zabbix