
Soy Oscar Mas y os quiero enseñar como monitorizar toda nuestra infraestructura de servidores e instalar sus agentes, ya sean Windows o Linux de una manera centralizada y sencilla.
El sistema de monitorización que he escogido para gestionar los servidores de manera automática ha sido Zabbix, ya que llevo con este producto desde sus primeras versiones y creo que es bastante potente y fácil de usar.
Para la instalación de los agentes de Zabbix he usado Ansible, que es uno de los últimos softwares que han salido al mercado el cual pertenece actualmente a RedHat. Desde el cual podremos instalar y configurar tanto los agentes de Zabbix en un servidor Windows como en un servidor de Linux de manera automática y desatendida.
No voy a entrar a discutir si Ansible o sus otros competidores como podrían ser : Puppet, Chef, etc…. son mejores los unos que los otros, ya que existen cientos de post donde detallan las diferencias entre este tipo de herramientas. La verdad es que me encanta Ansible, por el simple motivo que no necesitamos instalar ningún tipo de agente en el servidor de destino, toda la configuración se realiza mediante SSH si es un servidor de Linux o WinRM si es un servidor de Windows y todo esto desde nuestro servidor de Ansible. También al igual que sus competidores, tiene una administración web de pago llamada Tower, donde podremos ver si la ejecución de nuestras configuraciones ha ido bien:
Antes de empezar a hablar de Ansible, es importante tener clara la nomenclatura:
- Controller Machine: el equipo donde está instalado Ansible, es el responsable de ejecutar el aprovisionamiento en los servidores de destino
- Inventory: el fichero que contiene la información de los servidores que gestiona Ansible
- Playbook: el Sistema de aprovisionamiento de servidores, el cual está definido en un fichero con formato YAML
- Task: el bloque que define el procedimiento a realizar en el servidor de destino: modificar un fichero, instalar un paquete, etc…
- Module: es una capra abstracta de las tareas del Sistema, como crear o modidicar un fichero
- Role: es una forma de organizar nuestros PlayBooks para poder reusar código
- Play: es la ejecución de un aprovisionamiento, en pocas palabras: es lanza un PlayBook
- Facts: variables globales que contienen información del sistema
- Handlers: se usa para cambiar el estado de los servicios, como podría ser reiniciar, parar, etc un servicio
Ansible Galaxy es una página web, donde podremos encontrar muchos roles que podremos incluir en nuestro sistema para poder usar: https://galaxy.ansible.com/
Yo en esta serie de posts he hecho PlayBooks independientes, pero si queréis ir avanzando con Ansible es importante gestionar nuestros PlayBook como roles. Os dejo un enlace muy interesante donde explica cómo gestionar nuestros PlayBook mediante Roles: https://www.digitalocean.com/community/tutorials/how-to-use-ansible-roles-to-abstract-your-infrastructure-environment
Es importante saber la versión de Ansible, ya que nos podemos encontrar con variaciones de nomenclatura entre diferentes versiones. Por ejemplo, en la versión 2.3 la función “dest” se cambió por “path”. Hemos de pensar que Ansible es un sistema de automatización joven el cual se va haciendo grande con el tiempo. Para saber la versión de Ansible con la que estamos trabajando, lanzaremos el siguiente comando desde nuestro terminal de Linux:
root@ansible:~# dpkg -l | grep ansible
El esquema lógico sería el siguiente:
Es importante que desde el servidor de Ansible haya resolución DNS de los clientes, ya que es muy aconsejable usar nombres (FQDN) en vez de IP’s para que sea más sencilla, tanto la administración como el despliegue. Doy por hecho que el servidor de Windows ( ansible-cli-ws.ilba.cat ) el cual gestionaremos, está integrado en nuestro Active Directory
Los equipos virtuales que he usado para el despliegue de los agentes de Zabbix y su configuración son los siguientes:
Como siempre, para hacer más ameno el post lo he divido en diferentes partes:



Los Link est errados
Oscar, muy buen articuloo mejor dicho muy buena serie de articulos sobre zabbix, muy interesante lo de Ansible.
tengo una pregunta porque no centreon u otro hijo del gran nagios