Administración de Zentyal¶
En Zentyal no sólo se configuran los servicios de red de manera integrada, sino que además se ofrecen una serie de características que facilitan la administración y el mantenimiento del servidor.
Una de las herramientas de mantenimiento más básicas integradas en el Servidor Zentyal son los Registros. En caso de errores o eventos inesperados, estos permiten conocer qué ha sucedido y en qué momento, ayudándonos en la resolución de las incidencias. Este módulo ha sido descrito en detalle en el capítulo de “Introducción a Zentyal”.
En este apartado se seguirá profundizando en los registros y comandos más importantes para resolución de las incidencias. También se incluye información sobre comandos útiles para el administrador de un Servidor Zentyal, junto con consejos y buenas prácticas sobre cómo realizar la actualización desde una versión anterior.
Además de las herramientas de mantenimiento integradas en el Servidor Zentyal, la Edición Comercial ofrece un conjunto de servicios que ayudan a automatizar las tareas de mantenimiento y gestión de nuestro servidor. Estos servicios están disponibles a través la interfaz gráfica en las versiones comerciales del Servidor Zentyal.
Smart Admin¶
En Zentyal 6.1 se han añadido las siguientes funcionalidades nuevas que nos ayudarán a administrar el servidor Zentyal. Éstas funcionalidades están disponibles a través de la interfaz gráfica desde Sistema -> Smart Admin en las versiones comerciales de Zentyal, en caso contrario, habrá que ejecutar manualmente los scripts ubicados en /usr/share/zentyal/.
Las nuevas funcionalidades disponibles son:
- Envío de alertas a un grupo de Telegram para los recursos del servidor: CPU, RAM y particiones.
- Gestión de los kernels antiguos instalados en Zentyal.
- Generación de informes completos sobre los distintos elementos importantes del servidor Zentyal.
Smart alerts¶
Esta funcionalidad nos permite recibir mensajes de alerta a un grupo de Telegram [1] en el momento en el que un recursos supere el umbral de alerta definido.
Enable RAM monitoring:
Habilita la monitorización del recurso de memoria RAM. La alerta será enviada en caso de haber menos de un 30% de memoria RAM disponible. Las comprobaciones las realizará cada dos minutos.
Enable free space monitoring:
Habilita la monitorización de espacio disponible en las particiones montadas en el servidor Zentyal. La alerta será enviada en caso de haber menos de un 30% de espacio disponible en la partición. Las comprobaciones las realizará cada hora.
Enable CPU monitoring:
Habilita la monitorización del recurso de CPU. La alerta será enviada en caso de que la carga de CPU del último minuto sea superior al 80%. Las comprobaciones las realizará cada tres minutos.
Telegram chat ID:
ID del chat de Telegram donde las notificaciones serán enviadas.
Telegram Bot API token:
Token de la API del Bot de Telegram que enviará las notificaciones al grupo.
[1] | API de Telegram: https://core.telegram.org/ |
Ejemplo de alertas¶
A continuación se muestra un ejemplo de cada una de las alertas recibidas en Telegram:
Una alerta de RAM:
Una alerta de espacio disponible:
Una alerta de CPU:
Kernel management¶
En general los sistemas GNU/Linux van almacenando las sucesivas versiones del kernel. Eventualmente la partición /boot puede llenarse impidiendo el normal funcionamiento del sistema de paquetes. Esta nueva funcionalidad permite a Zentyal administrar el número de kernels instalados en el sistema configurando una “cola” (queue) que mantiene en servicio los tres kernels más modernos.
Informe del estado del sistema¶
La última de las funcionalidades añadidas permite generar informes detallados de los parámetros de funcionamiento más importantes del servidor así como de los módulos habilitados. Adicionalmente también es posible enviar los informes a un correo electrónico. Algunos de datos que proporciona Smart Admin son:
- Módulos de Zentyal instalados y su estado.
- Uso de CPU, RAM y SWAP.
- Paquetes rotos y paquetes disponibles para actualizar.
- Número de errores en los módulos de Zentyal.
- Intentos de acceso a distintos componentes del servidor.
- Información sobre Controlador de Dominio y Compartición de ficheros.
- Información sobre los correos gestionados por el módulo de Servicio de correo electrónico (SMTP/POP3-IMAP4).
A través de la interfaz de administración de Zentyal podemos configurar la hora de generación y envío automático del informe por correo, una vez al día. También podemos generar el informe manualmente en cualquier momento y descargar el informe a través de la interfaz gráfica.
Troubleshooting¶
Desafortunadamente, como cualquier sistema, Zentyal experimentará alguna incidencia o anomalía. Por éso es de vital importancia conocer los archivos de log que nos pueden dar las pistas precisas para encontrar el origen del problema y subsanarlo.
Principales archivos de log¶
A continuación detallamos los archivos de log más importantes del Servidor Zentyal.
Accesos SSH al servidor entre otras cosas:
/var/log/auth.log
Estado de los módulos de Zentyal:
/var/log/zentyal/zentyal.log
Registros del sistema y de la gran mayoría de demonios ejecutados sobre el mismo:
/var/log/syslog
Software instalado:
/var/log/zentyal/software.log /var/log/dpkg.log
Registros relacionados con el módulo de Controlador de Dominio:
/var/log/samba/samba.log
Registros referentes al módulo de Correo:
/var/log/mail.log /var/log/mail.err
Registros sobre el módulo SOGo:
/var/log/sogo/sogo.log
Registro de las conexiones del módulo de OpenVPN:
/var/log/openvpn/
Registros sobre el módulo de Proxy:
/var/log/squid/
Registros referentes al módulo de 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:
- Como verificar los estados de replicación del directorio (en inglés): https://wiki.samba.org/index.php/Verifying_the_Directory_Replication_Statuses
- Añadir titulo “Como verificar y crear el registro objectGUID (en inglés)”: https://wiki.samba.org/index.php/Verifying_and_Creating_a_DC_DNS_Record#Determining_a_DCs_objectGUID
Comandos útiles¶
Como todo sistema informático, Zentyal debe ser diariamente chequeado para asegurar su estabilidad. Si posible, mantén tu 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:
lsblk
df -hT
Carga del procesador:
htop
top -bn1 | egrep -o "load average:.*" | cut -d ":" -f2 | tr -s "," "."
Uso de la memoria RAM y SWAP:
free -m
Comprobaciones 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:
apt-get update && apt list --upgradable
Tareas programas que han sido ejecutadas:
grep 'cron' /var/log/syslog
Correos que no han sido enviados:
egrep 'status=(reject|bounced)' /var/log/mail.log
[2] | Zabbix para monitorizar Zentyal https://wiki.zentyal.org/wiki/Zentyal_server_monitoring_with_Zabbix |