Nueva oportunidad de potenciar tu carrera, con una Certificación Zabbix Oficial, con validez internacional:
Zabbix Certified Specialist (ZCS) y Zabbix Certified Professional (ZCP).
La próxima edición de los cursos, se desarrollarán en las siguientes fechas y horarios teniendo en cuenta la sugerencia de varios de ustedes, en donde no podría destinar todo el día al curso, por lo que se dicta únicamente de tarde.
Mira el programa:
GMT -3 – Uruguay, Argentina GMT -4 – República Dominicana, Puerto Rico, Venezuela, Bolivia, Paraguay, Chile GMT -5 – Panamá, Colombia, Ecuador, Per Los precios son:
¡Si te inscribís antes del 15 de octubre tenés un descuento del 10% !
La formación de Zabbix está diseñada para garantizar la transferencia de conocimientos entre los mejores expertos en Zabbix y los alumnos en un corto período de tiempo.
Los cursos están llenos de tareas prácticas, en las que cada alumno instala y configura el software Zabbix por su cuenta, configura dispositivos para la supervisión y resuelve problemas complejos de supervisión.
El programa de capacitación incluye suficiente tiempo para las sesiones de preguntas y respuestas, de modo que los participantes puedan dirigirse a su capacitador con cualquier problema práctico y obtener consejos de expertos.
Especialista certificado Zabbix (ZCS)
Esta capacitación garantiza una fácil comprensión de los conceptos y la estructura de Zabbix para los profesionales de tecnología de la información, que necesitan ejecutar Zabbix de manera eficiente y brindar soporte a otros usuarios de Zabbix.
Requisitos del curso
Conocimientos informáticos avanzados. Conocimiento de sistemas operativos
Introducción: descripción general de la funcionalidad
Introducción: Principios clave del desarrollo
Introducción: decisiones importantes
Arquitectura: diagramas de componentes de Zabbix
Preparativos: protocolo de tiempo de red
Preparativos: zonas horarias
Preparativos: configuración del archivo SWAP
Preparativos: Firewall
Preparaciones: Selinux
Instalación: Servidor, DB, GUI: Obtener Zabbix
Instalación: servidor, base de datos, GUI: requisitos del servidor
Instalación: servidor, base de datos, GUI: instalación de Zabbix desde paquetes
Instalación: servidor, base de datos, GUI: requisitos de front-end
Instalación: servidor, base de datos, GUI: configuración práctica
Instalación: Servidor, DB, GUI: Demostración para capacitadores
Interfaz Zabbix: preprocesamiento
Interfaz Zabbix: descripción general de la interfaz
Interfaz Zabbix: permisos
Perfil de usuario: configuración, temas, medios y mensajería
Perfil de usuario: demostración de formadores
Perfil de usuario: perfil de usuario
Perfil de usuario: temas de color
Perfil de usuario: medios de usuario
Perfil de usuario: mensajería
Administración: crear nuevo usuario
Administración: configuración práctica
Administración: demostración de formadores
Definiciones: lista de términos utilizados en Zabbix
Monitoreo: Hosts
Monitoreo: descripción general
Seguimiento: datos más recientes
Monitoreo: Últimos datos – Gráficos simples
Supervisión: datos más recientes: gráficos para varios elementos
Monitoreo: Últimos datos – Aplicaciones
Configuración: grupos de hosts
Configuración: Hosts
Configuración: Configuración práctica
Configuración: demostración de formadores
Configuración: elementos nuevos / modificar
Configuración: prueba de elementos pasivos nuevos / existentes
Recopilación de datos: filtros de elementos / edición masiva y comprobar ahora / borrar historial
Recopilación de datos: procesamiento previo
Recopilación de datos: monitoreo sin agentes
Recopilación de datos: controles simples
Recopilación de datos: comprobaciones ICMP
Recopilación de datos: configuración práctica
Recopilación de datos: demostración de formadores
Instalación del agente: introducción
Instalación del agente: instalación del agente de Linux desde paquetes
Instalación del agente: Agente para Windows, MACOS
Instalación del agente: Zabbix Agent 2
Instalación del agente: configuración práctica
Instalación de agentes: demostración de instructores
Recopilación de datos: comprobaciones pasivas del agente Zabbix
Utilidades de línea de comando: zabbix_server, zabbix_get, zabbix_agent
Utilidades de la línea de comandos: configuración práctica
Utilidades de la línea de comandos: demostración para capacitadores
Recopilación de datos: comprobaciones activas del agente Zabbix
Recopilación de datos: configuración práctica
Recopilación de datos: demostración de instructores
Recopilación de datos: preguntas y respuestas
Recopilación de datos: ventanas de monitoreo
Recopilación de datos: demostración de instructores
Detección de problemas: desencadenantes, desencadenantes menos sensibles, dependencias
Detección de problemas: desencadenar etiquetas de eventos
Detección de problemas: funcionalidad de macros integradas y de usuario
Detección de problemas: consejos y trucos
Detección de problemas: macros
Detección de problemas: más ejemplos de disparadores
Detección de problemas: detección avanzada de problemas
Detección de problemas: configuración práctica
Detección de problemas: demostración de formadores
Configuración: uso de plantillas
Configuración: demostración de formadores
Configuración: Etiquetas – Plantilla y Hosts
Configuración: Configuración práctica
Configuración: demostración de formadores
Recopilación de datos: parámetros de usuario del agente
Recopilación de datos: configuración práctica
Recopilación de datos: demostración de formadores
Utilidades de línea de comando: zabbix_sender
Utilidades de la línea de comandos: configuración práctica
Utilidades de la línea de comandos: demostración para capacitadores
Recopilación de datos: comprobaciones SSH / Telnet
Recopilación de datos: configuración práctica
Recopilación de datos: comprobaciones HTTP
Recopilación de datos: configuración práctica
Recopilación de datos: demostración de formadores
Recopilación de datos: elementos dependientes
Recopilación de datos: configuración práctica
Recopilación de datos: demostración de formadores
Recopilación de datos: cheques calculados
Recopilación de datos: configuración práctica
Recopilación de datos: demostración de formadores
Recopilación de datos: controles agregados
Recopilación de datos: configuración práctica
Recopilación de datos: demostración de formadores
Recolección de datos: monitoreo SNMP
Recopilación de datos: trampas SNMP
Recopilación de datos: configuración práctica
Recopilación de datos: demostración de formadores
Recopilación de datos: monitoreo de archivos de registro
Recopilación de datos: configuración práctica
Recopilación de datos: demostración de formadores
Recopilación de datos: controles web
Recopilación de datos: configuración práctica
Recopilación de datos: demostración de formadores
Inventario: colección automática
Inventario: configuración práctica
Inventario: demostración de formadores
Visualización de datos: gráficos personalizados
Visualización de datos: configuración práctica
Visualización de datos: demostración de formadores
Visualización de datos: mapas
Visualización de datos: demostración de formadores
Visualización de datos: configuración práctica
Visualización de datos: pantallas
Visualización de datos: demostración de formadores
Visualización de datos: configuración práctica
Visualización de datos: cuadros de mando
Visualización de datos: demostración de formadores
Visualización de datos: configuración práctica
Visualización de datos: presentaciones de diapositivas
Visualización de datos: demostración de formadores
Visualización de datos: configuración práctica
Automatización: descripción general de LLD
Monitoreo distribuido: Proxies
Automatización: descubrimiento de redes, registro automático, integraciones
Administración: archivos de configuración
Administración: Importación / Exportación XML
Administración: configuración práctica
Administración: resumen de la sección
Administración: gestión de permisos de usuarios y grupos de usuarios, auditoría
Administración: configuración práctica
Administración: tiempo de trabajo, ama de llaves, autenticación
Administración: scripts frontend
Administración: configuración práctica
Administración: demostración de formadores
Administración: módulos frontend
Administración: estado del servidor Zabbix
Administración: demostración de formadores
Inventario: colección automática
Inventario: configuración práctica
Inventario: demostración de formadores
Visualización de datos: gráficos personalizados
Visualización de datos: configuración práctica
Visualización de datos: demostración de formadores
Visualización de datos: mapas
Visualización de datos: demostración de formadores
Visualización de datos: configuración práctica
Visualización de datos: pantallas
Visualización de datos: demostración de formadores
Visualización de datos: configuración práctica
Visualización de datos: cuadros de mando
Visualización de datos: demostración de formadores
Visualización de datos: configuración práctica
Visualización de datos: presentaciones de diapositivas
Visualización de datos: demostración de formadores
Visualización de datos: configuración práctica
Certificado de asistencia al curso
Certificado de Especialista certificado Zabbix 5.0
Profesional certificado Zabbix (ZCP)
El curso Zabbix Certified Professional proporciona a los profesionales de tecnología de la información el conocimiento y las habilidades necesarias para configurar y usar el proxy Zabbix y el monitoreo distribuido para sus necesidades de monitoreo de redes y aplicaciones, además de discutir temas avanzados de Zabbix.
Requisitos del curso
Examen o certificado de asistencia de Zabbix Certified Specialist
Los Módulos en el Zabbix Agent ofrecen una funcionalidad extendida, pensada para mejorar el rendimiento.
En otras palabras, adaptar Zabbix a nuestras necesidades y monitorear exactamente lo que queremos.
En Zabbix Agent ya existen algunas utilidades que contribuyen a esto:
Userparameters (métricas de Zabbix Agent, que utilizan Items)
External checks (métricas en las que no se utiliza el Zabbix Agent, por ejemplo, chequeos por SNMP)
El Item system.run[] de Zabbix Agent (permite ejecutar determinado comando en el Host)
Normalmente, éstas funcionalidades son muy eficaces, pero tenemos que tener en cuenta que, Zabbix va a inicar un nuevo proceso por cada métrica que necesita ejecutar.
Esto puede bajar mucho el rendimiento de Zabbix, si tenemos muchos comandos, scripts pesados o sistemas embebidos (embedded systems, diseñados para realizar funciones en específico).
Un Módulo permite extender las funcionalidades de Zabbix sin sacrificar el rendimiento del Zabbix Server o Zabbix Proxy.
Pueden implementarse con todo tipo de lógica y son librerías compartidas utilizadas por el proceso de Zabbix que inician junto con el servicio de Zabbix.
Sin embargo, lo más importante es que permite el desarrollo.
Es decir, se pueden desarrollar, compartir y usar estos módulos.
API de Módulos en Zabbix
Con el objetivo de hacer que una librería compartida sea considerada un Módulo en Zabbix, deberán implementarse y exportarse varias funciones.
Actualmente hay seis funciones en la API de Módulos de Zabbix y obligatoriamente se debe definir la versión de la API, mientras el resto de las interfaces son opcionales.
Versión (Obligatoria)
int zbx_module_api_version(void);
Esta función devolverá la versión implementada en el módulo.
Inicialización (Opcional)
int zbx_module_init(void);
Realizará lo necesario para la inicialización del módulo, Devolverá OK / FAIL según el resultado, en el caso de que Zabbix no inicie.
Lista de Items (Opcional)
ZBX_METRIC *zbx_module_item_list(void);
Retornará la lista de Items soportados por el módulo. Cada uno está definido en una estructura de tipo ZBX_METRIC, y el valor de la «key» por defecto es NULL.
Configuración del Timeout (Opcional)
void zbx_module_item_timeout(int timeout);
Si el módulo exporta zbx_module_item_list(), esta función es utilizada por Zabbix para especificar las configuraciones del Timeout en el archivo de configuración de Zabbix, el cual será respetado por los chequeos especificados en el módulo.
Esta función retornará la lista de funciones: callback (funciones que son utilizadas como argumento) que Zabbix usará para exportar la historia de diferentes tipos de datos.
Los valores pueden ser NULL si el módulo no está intereado en la historia de un determinado tipo de datos.
Cierre (Opcional)
int zbx_module_uninit(void);
Dicha función se encarga de cerrar, es decir, realizar lo opuesto a la inicialización.
Libera recursos ocupados, etc.
Recordemos que todas las funciones son llamadas una vez al momento en el que se carga el módulo, a excepción de ésta.
Definición de Items
Cada Item está definido en una estructura ZBX_METRIC, como se ve a continuación:
Cada función que implementa un Item debe aceptar dos Parámetros, siendo el primero de tipo AGENT_REQUEST y el segundo de tipo AGENT_RESULT.
int zbx_module_dummy_random(AGENT_REQUEST *request, AGENT_RESULT *result)
{
...
SET_UI64_RESULT(result, from + rand() % (to - from + 1));
return SYSINFO_RET_OK;
Estas funciones devolverán SYSINFO_RET_OK si el Parámetro fue obtenido con éxito, de lo contrario retornarán SYSINFO_RET_FAIL.
Historia del Item
NOTA: En el caso de que el script ./configure no exista aún, se debe ejecutar primero el comando ./bootstrap.sh para generarlo. Esto puede darse porque se obtuvo Zabbix desde otro repositorio siendo una sub-versión.
Se pueden definir dentro del módulo, ciertas funciones para exportar los datos de la Historia del Item según el tipo de dato.
typedef struct
{
void (*history_float_cb)(const ZBX_HISTORY_FLOAT *history, int history_num);
void (*history_integer_cb)(const ZBX_HISTORY_INTEGER *history, int history_num);
void (*history_string_cb)(const ZBX_HISTORY_STRING *history, int history_num);
void (*history_text_cb)(const ZBX_HISTORY_TEXT *history, int history_num);
void (*history_log_cb)(const ZBX_HISTORY_LOG *history, int history_num);
}
ZBX_HISTORY_WRITE_CBS;
Cada uno de ellos seleccionará el array «history» de «history_num», cuantas veces éste último exista como argumento.
En este caso por ejemplo, estamos queriendo obtener la Historia filtrando por tipo de dato FLOAT.
typedef struct
{
zbx_uint64_t itemid;
int clock;
int ns;
double value;
}
ZBX_HISTORY_FLOAT;
Construyendo módulos
El encabezado (header) más importante para los módulos es el include/module.h, el cual define la estructura de los datos.
Otro encabezado útil es el include/sysinc.h, el cual realiza la inclusión de todos los encabezados necesarios por el sistema.
Entre ellos, también incluye el include/module.h el cual es necesario para trabajar correctamente.
Para que, tanto include/module.h como include/syninc.h sean incluidos, el comando ./configure (sin argumentos) debería ser ejecutado primeramente en el directorio raíz de los recursos de Zabbix.
Esto creará el archivo include/config.h, del cual depende include/sysinc.h.
NOTA: En el caso de que el script ./configure no exista aún, se debe ejecutar primero el comando ./bootstrap.sh para generarlo. Esto puede darse porque se obtuvo Zabbix desde otro repositorio siendo una sub-versión.
Parámetros de configuración
El Zabbix Agent, Zabbix Server y Proxy, soportan dos parámetros para lidiar con los módulos.
LoadModulePath
La ruta completa donde están los módulos
LoadModule
Los módulos que se cargarán al inicio de Zabbix. Estos deben estar ubicados en el directorio que estará especificado en el primer parámetro. Es posible definir un LoadModule=nombre_modulo.so.
Configuración del Frontend
Ya que los módulos son soportados por el Zabbix Agent, el Zabbix Server y el Zabbix Proxy, el tipo de Item en el Zabbix Frontend dependerá de dónde se carga el módulo.
Ahora que ya conocemos las configuraciones básicas y necesarias del Zabbix Agent, podemos descubrir otras configuraciones. Con esto definiremos nuevas funcionalidades y tendremos mayor control sobre nuestros equipos.
Autoregister en Zabbix
El Autoregister es una opción la cual permite que se registre automáticamente en el equipo quede monitoreado. Siempre y cuando esté bien instalado y funcionando el Zabbix Agent en un equipo
Esto ahorra tiempo si tenemos que hacer una instalación masiva en muchos equipos. De esta manera no tenemos que ir agregando cada equipo manualmente.
Tener en cuenta que ésta funcionalidad está implementada desde Zabbix 2.0, pero a partir de las versiones 4.0. La acción de Autoregister se realiza cada vez que el Zabbix Agent intenta hacer un chequeo de tipo Active Check.
En estas versiones esto ocurre cada 60s, lo cual favorece la rapidez para detectar nuevos equipos.
Crear un Action
Para configurar dicha funcionalidad, debemos ir a la sección «Configuration». Luego a «Action» en nuestro Zabbix Frontend y seleccionar el tipo de Acción. Debemos elegir en el menú desplegable «Event source: Autoregister» y finalmente hacer clic en el botón «Create Action».
Allí, estableceremos condiciones para que la Acción de Autoregister ocurra cuando dichas condiciones se cumplan; o por el contrario, no se cumplan. Es decir, hacer que dicha Acción se ejecute con una negación referente al contenido del Metadata.
De esta manera podemos, por ejemplo, establecer que la Acción sea ejecutada si el Metadata contiene una palabra que definiremos. O bien, si es exactamente dicha palabra o sentencia.
En este caso, definimos que, si el Metadata es equivalente a la frase «oficina-central», se va a ejecutar dicha Acción.
Definir Operaciones en Action
Ahora bien, si vamos a agregar a Zabbix los nuevos Zabbix Agent que se detecten, entonces necesitamos definir una Operación y definir más datos. Es posible configurar el HostGroup a donde irá este nuevo Host y que Templates se les asignarán.
Esto lo hacemos al cambiar a la pestaña «Operations» y clic en «New».
Se desplegarán opciones para que podamos crear una nueva Operación. En este caso, queremos que el nuevo Host que se reporte sea agregado, en el HostGroup «Equipos Oficina Central».
Para eso debemos configurar las Operaciones de la Acción definiendo una Operación para cada característica que queramos especificar.
Primero, debemos especificar que cuando se ejecute la Acción, se agregue el Host en cuestión (que cumpla las condiciones que establecimos al principio). Elegiremos entonces, «Operation type: Add Host», y haremos clic en Add para añadir la Operación a la Acción.
En segundo lugar, añadiremos otra Operación haciendo clic en el botón «New» y luego elegiremos «Operation type: Add to host group»
Finalmente daremos clic en el botón azul «Add» que está abajo, para crear la Acción. Recordemos que se puede deshabilitar la Acción y también editar o eliminar tanto la Acción como sus Operaciones.
Como mencionamos anteriormente, también es posible determinar condiciones más complejas. Con el uso de Regular Expressions podemos indicar que la condición se cumpla si el Metadata equivale a «nada». Es decir, no se define o está vacío.
Configuración del Metadata y ServerActive en Zabbix Agent
Ahora bien, ¿cómo configuramos el Metadata en el Zabbix Agent? Para acceder a esta configuración, tenemos que modificar el parámetro «Metadata». El mismo está en el archivo de configuración del Zabbix Agent, donde podemos descomentar el parámetro. Esto sería quitar el # que está delante de «Metadata» y modificar el valor para hacerlo coincidir con lo establecido en la condición del Action.
También es necesario especificar el parámetro ServerActive en el archivo de configuración del Zabbix Agent. Esto lo hacemos para definir que los chequeos de tipo Active Checks sean dirigidos a la IP que definimos en el parámetro.
En este punto iniciamos o reiniciamos el Zabbix Agent, y podemos echar un vistazo al Log de Zabbix Server. Podemos ver que el equipo en cuestión intentó hacer un chequeo de tipo Active Check y dio error (ya que el mismo no esta agregado en Zabbix).
Sin embargo, al tener el Action de Autoregister, dicho error solo ocurre esa vez, ya que es el momento en cuando se toman los datos para poder darse de alta él mismo.
Tener en cuenta que, añadir equipos mediante la función Autoregister, se rige bajo las mismas reglas que añadir un equipo manualmente. Es decir, esto solamente podrá funcionar si no existe un Host con el mismo Hostname.
Por tanto es necesario cambiar siempre el Hostname en el archivo de configuración del Zabbix Agent. O bien asegurarse que el nombre de Host del equipo sea diferente y único a los que ya existen.
Asignación de nuevas Keys en Zabbix
Para asignar nuevas Keys en Zabbix, tenemos que comprender primero qué son las Keys y que es el archivo Userparameters. El uso de este archivo, permite una funcionalidad extendida para mejorar el desempeño de Zabbix. Puedes ver más información en el artículo Zabbix Agent: Uso de Módulos
Key
Es un atributo del Item el cual se refiere a una solicitud, comando o query para obtener determinados datos recolectados por Zabbix. Recordemos que un Item es un elemento que podemos agregar en Zabbix para configurar un nuevo chequeo, y la query es una solicitud o consulta al Zabbix Database, una vez ya se recolectó dicho dato (gracias a un comando).
Userparameters
Dicho archivo sirve para especificar nuevas Keys en él. Es muy útil cuando queremos consultar por algún chequeo que no está comprendido por las Keys que tiene por defecto el Zabbix Agent. De esta manera, podemos agregar un nuevo Item a Zabbix, con esta nueva Key que creamos, y tener monitoreo en el Zabbix Frontend, ver el histórico, verlo en Grafana, etc.
Editar el archivo Userparameters en Zabbix Agent
Es necesario que dicho archivo este configurado en todos los equipos en los que necesitamos que funcionen las Keys que queremos establecer. Por ejemplo, si queremos configurar un archivo Userparameters donde se definan las Keys que utilizaremos para realizar consultas a la Zabbix Database, deberíamos crearlo en el Zabbix Agent del Zabbix Database.
Para que funcione el archivo Userparamenters, también es necesario indicarle dónde está éste archivo al Zabbix Agent.
Esto se puede hacer editando el archivo de configuración del Zabbix Agent, y agregar la siguiente línea. Podemos realizar la búsqueda del término «include» en el archivo de configuración de Zabbix Agent para ubicarnos rápidamente y encontrar el lugar donde debemos configurar que, Zabbix Agent incluya también las Keys que se encuentran en dicho directorio y que terminen con .conf.
Include=/etc/zabbix/zabbix_agentd.d/*.conf
Vamos a crear el archivo userparameters.mysql en la ruta que especificamos y lo editaremos para continuar con las Keys.
Ahora, se debe seguir determinada sintaxis para que las nuevas Keys sean reconocidas y funcionen como tal.
Userparameters=<key>,<command>
La <key> será de nuestra elección, que sea referente al propósito de dicha consulta. Debe ser única dentro del Host, es decir que en el Host, no puede existir otra Key con el mismo nombre. Ésta, será la misma Key que vamos a introducir cuando creemos el Item y debamos especificar la Key del mismo.
*insertar captura de pantalla al cr4ar un item
El <command> es el script o la función mediante la cual recolectaremos esos datos que serán guardados en el Zabbix Database. Puede ser la ejecución de un archivo con un script mucho más complejo que hayamos definido.
Mysql.ping como ejemplo para Key
En el siguiente ejemplo tenemos un Userparameter con <key> = mysql.ping y un <command> = mysqladmin -uroot ping | grep -c alive
La <key> mysql.ping es simplemente el nombre de la Key para poder hacer referencia a la misma y la que vamos a utilizar al crear el Item.
El <comand> mysqladmin -uroot ping | grep -c alive, intenta conectarse y hacer un ping con el usuario root. Existe una separación con «|», esto hace que lo que está después del pipeline se ejecute luego de haber ejecutado lo que está antes del mismo.
Entonces, la ejecución de mysqladmin -uroot ping dará un resultado donde veremos la información del ping que realizamos, en definitiva si se puede o no conectar a la Base de Datos.
Esto imprimirá un resultado en pantalla, en el cual buscamos y contamos con un grep, si existe el término «alive». De esta manera, si la ejecución de este UserParameter da como resultado «1», significa que encontró una vez el término «alive» y por tanto, la conexión a mysql está disponible.
Tener en cuenta que, si queremos utilizar comandos más complejos, y realizar consultas al Zabbix Database, lo más probable es que debamos utilizar un usuario con una contraseña que tenga los permisos suficientes para acceder a la Database en cuestión. Tendremos que definir un archivo y especificar en el mismo, los datos para conectarnos a MySQL.
Este mismo archivo será el que Userparameters tomará como referencia para hacer la conexión y la consulta. Para que lo encuentre, es necesario especificar que el directorio donde se encuentra este archivo .my.cnf, sea el HOME.
Los chequeos tienen una primera calificación entre Chequeos Activos y Chequeos Pasivos.
Esta calificación, de Zabbix checks, es desde el punto de vista del Zabbix Agent.
¡A continuación te contamos todos los detalles de los Zabbix checks!
.
Passive Checks
Item Type: Zabbix Agent El Agente va a tomar un rol pasivo, es decir que va a esperar que le soliciten el valor
Chequeos pasivos, a traves de un polling se solicita la información
Chequeos Activos
Item Type: Zabbix Agent (active) El Agente debe tomar un rol activo, es decir que va a tomar la iniciativa de comunicar el valor. Para saber que tiene que comunicar, previamente le pregunta al servidor y se identifica con su Hostname, para saber un poquito más aquí
Chequeos activos, el agente envía la información
¿Por qué el uso de diferentes tipos de Zabbix checks?
La comunicación entre dos puntos NodoA y NodoB de una red puede abierta o limitada. Puede que NodoA no logre llegar a NodoB (NAT o Firewalls) pero NodoB puede llegar a NodoA, es decir que la comunicación está limitada.
Para poder cosechar el dato, el nodo que pude comunicarse con el otro debe inciar la comunicación. Si la inicia el Zabbix Agent, es un chequeo activo, y es un chequeo pasivo en caso de que sea el Zabbix Server o Proxy el que inicie la comunicación.
NOTA: En el caso de que el script ./configure no exista aún, se debe ejecutar primero el comando ./bootstrap.sh para generarlo. Esto puede darse porque se obtuvo Zabbix desde otro repositorio siendo una sub-versión.
¿Existen otros beneficios?
Si el chequeo es activo. el Zabbix Agent se va a comunicar periódicamente con el Server identificándose y preguntando cuáles son los chequeos que se necesitan y cada cuánto (período) se necesitan. Luego de esto, todo el trabajo va a estar del lado del Zabbix Agent en lo referente a esos chequeos, el Server no necesita preocuparse y puede dedicarse a otras tareas.
Por otro lado, el funcionamiento también es distinto, ya que si el Server es el que se encarga de cosechar el dato, tiene que abrir una conexión por cada dato que solicita. Si los chequeos son activos, el agente guarda en un buffer los datos y los envía periódicamente, mejorando la utilización del ancho de banda.
Resumen
Chequeos Activos (active checks)
Responsabilidad del Zabbix Agent en la cosecha y entrega del dato
Se le quita carga al Zabbix Server
Se mejora el uso del ancho de banda al poder enviar más de un valor por conexión
Necesarios cuando el Server no tiene acceso al dispositivo monitoreado (NAT, Firewalls).
Chequeos Pasivos (pasive checks)
Responsabilidad del Server en la cosecha del dato
Necesario cuando el Zabbix Agent no tiene acceso al Server
Recordemos que para configurar los Active Checks, debemos definir el parámetro ServerActive en el archivo de configuración del Agente.
Uno de los componentes de Zabbixes elZabbix Agent, que, aunque es opcional su instalación (no es esencial para monitorear, podemos hacerlo mediante SNMP entre otros), nos abre la «puerta mas grande» para monitorear un dispositivo.
Para poder instalar el Agent, es necesario que exista un Sistema Operativo. Zabbix provee Pre Compiled Agents para muchos Sistemas Operativos tales como Ubuntu, Red Hat, Centos, Suse, Raspbian (Sistema Operativo de la raspberry), etc.
En caso de que no exista un agente precompilado, si el Sistema Operativo tiene un compilador C, alcanza con bajar los fuentes y compilarlo. Zabbix y nosotros ofrecemos ayuda para esto.
Configuración mínima de Zabbix Agent.
Lo mínimo que tenemos que decirle al Agente es cuál Zabbix Server o Proxy puede preguntarle datos (Passive Checks Chequeos Pasivos) y/o a quien tiene que ir a consultar por Chequeos Activos (Active Checks).
La configuración del agente se hace en un archivo de configuración en texto plano «zabbix_agentd.conf«, generalmente (y recomendablemente) se encuentra en el directorio /etc/zabbix/.
La mínima configuración (luego la podemos recortar un poco más) es:
Como puede verse en Tipos de Chequeos hay chequeos activos y pasivos, nombrados así por como los ve el agente.
El Server va a ser el sevidor que se va «a encargar» de los chequeos pasivos y el ServerActive, de los chequeos activos.
Server
Todas las IP (y/o DNS) listadas en Server son las IP del Zabbix Server o Proxy de las que el agente va a aceptar preguntas, es decir Chequeos Pasivos. Si alguien que no esta en la lista le pregunta, lo va a ignorar.
ServerActive/Hostname
El ServerActive lista las IP (y/o DNS) del Zabbix Server o Proxy a donde el agente va a ir a preguntar periódicamente «¿qué información querés que te mande?». El agente se va a identificar con el valor de Hostname, y es por eso que ese valor debe coincidir con el nombre que se le dio al host cuando se dió de alta en el FrontEnd. En síntesis, el agente le va a preguntar a cada IP listada, «soy Hostname, ¿qué ítems tienes configurados para mi?»
Recortando un poco más.
Si nuestro Agent se encuentra inaccesible desde el Server, es decir, no tenemos posibilidad de hacerle preguntas, solo vamos a poder cosechar Chequeos Activos, por lo que podríamos obviar configurar el Server. Dicho de otra manera, si no se configura el Server, los chequeos pasivos están deshabilitados.
Si por el contrario, el Agente es incapaz de establecer la comunicación con el Zabbix Server, solo vamos a cosechar Chequeos Pasivos, carece de importancia configurar ServerActive y Hostname. Dicho de otra manera, si no se configura el ServerActive y Hostname, los chequeos activos están deshabilitados
Tips: Al limitar los servidores en la configuración, impido que un servidor externo pregunte datos al agente. Esto va a evitar que múltiples servidores «molesten» al agente y se filtren datos. Es conveniente mantener al mínimo los servidores configurados.
Zabbix es un software de monitoreo de nivel empresarial, libre de licencias y de código abierto que podemos implementar en todos los niveles de nuestro negocio y según cada una de nuestras necesidades.
A continuación les compartimos un resumen de lo que fue nuestro webinar- ¿Qué hay de nuevo en Zabbix 5.0? – del día viernes 15 de mayo, en el cuál presentamos algunas de las novedades.
En esta nueva versión, Zabbix 5.0, se han realizado grandes mejoras en la presentación visual, con una interfaz moderna y dinámica, donde la navegación entre las distintas funcionalidades se ha facilitado.
Nota: Muchas de la mejoras son ideas y propuestas de los propios usuarios, mostrando que es una herramienta realmente opensource donde el apoyo de la comunidad es tenido en cuenta y valorado, así nace ésta nueva versión: Zabbix 5.0
A continución algunos, de los cambios visuales:
– El menú se encuentra sobre el costado de la pantalla, aprovechando mejor las pantallas anchas, que son el nuevo standard.
– Se pueden exportar la imagen de los widgets a un archivo png, para facilitar la opción de compartir.
– Se ha paginado el despliegue en todas la pantallas donde sea posible, para evitar grandes cargas a la base de datos.
Respecto a la funcionalidad y alcance:
– Ya no es necesario definir un DSN a nivel del SO para hacer chequeos ODBC. Todo se puede hacer a nivel de la key del ítem.
– Se puede deshacer el acknolege de un evento, mejorando el comunicación entre los equipos de trabajo y solucionando errores.
– Simplificación de la navegación, accediendo desde el menú de monitoreo a la lista de hosts, con fácil acceso a definiciones, gráficas, etc.
En resumen:
Ninguna herramienta puede satisfacer, de punta a punta, todas las necesidades de todos los usuarios, hay funcionalidades que escapan al objetivo de la herramienta o son muy específicas del negocio.
Zabbix no es ajena a ésta realidad, pero ofrece formas de integrar herramientas de terceros y de módulos de usuarios, haciéndonos mas fácil la comunicación en el ecosistema de herramientas.
Es posible crear entradas en el menú de Zabbix, para personalizar la navegación y estas modificaciones van a ser compatibles con las versiones futuras de Zabbix, no va a ser necesario reprogramar nuevamente la integración o meterse con el código de Zabbix.
También se nos ofrece la posibilidad de compartir nuestro desarrollo para que sea parte de futuras versiones de Zabbix para uso genérico de la comunidad y mantenido por Zabbix.
Imposible resumir todas las novedades en un webinar de una hora, menos en pocas palabras sin aburrir.
Mantengámonos en contacto, no terminan acá las novedades de Zabbix, muchos webinar por venir y mas actividades interactivas para plantear problemas y dudas.