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.
_images/smart_admin_gui_es.png

Nuevas funcionalidades disponibles

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.

_images/smart_admin_alerts.png

Configuración de las alertas

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:

_images/smart_admin_ram.png

Mensaje a Telegram para la RAM

Una alerta de espacio disponible:

_images/smart_admin_partition.png

Mensaje a Telegram para el espacio disponible

Una alerta de CPU:

_images/smart_admin_cpu.png

Mensaje a Telegram para la 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.

_images/smart_admin_kernel.png

Activar la gestión de los kernels

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:

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.

_images/smart_admin_report.png

Configuración del informe

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:

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