El servidor Zabbix es el proceso central del software Zabbix.
El servidor realiza el sondeo y captura de datos, calcula los iniciadores y envía notificaciones a los usuarios. Es el componente central al que los agentes y servidores proxy de Zabbix informan datos sobre la disponibilidad e integridad de los sistemas. El servidor puede comprobar de forma remota los servicios en red (como servidores web y servidores de correo) mediante comprobaciones de servicio sencillas.
El servidor es el repositorio central en el que se almacenan todos los datos de configuración, estadísticos y operativos, y es la entidad en Zabbix que alertará activamente a los administradores cuando surjan problemas en cualquiera de los sistemas monitoreados.
El funcionamiento de un servidor Zabbix básico se divide en tres componentes distintos: servidor Zabbix, interfaz web y almacenamiento de base de datos.
Toda la información de configuración de Zabbix se almacena en la base de datos, con la que interactúan tanto el servidor como la interfaz web. Por ejemplo, cuando creas una nueva métrica usando la interfaz web (o API), esta se agrega a la tabla de métricas en la base de datos. Luego, aproximadamente una vez por minuto, el servidor Zabbix consultará la tabla de métricas para obtener una lista de las métricas que están activas, que luego se almacena en un caché dentro del servidor Zabbix. Este es el motivo por el cual los cambios realizados en la interfaz de Zabbix pueden tardar hasta dos minutos en aparecer en la sección de datos más recientes.
El servidor Zabbix se ejecuta como un proceso daemon. El servidor puede ser iniciado ejecutando:
Esto funcionará en la mayoría de los sistemas GNU/Linux. En otros sistemas, puede que necesite ejecutar:
Del mismo modo, para detener/reiniciar/ver el estado del servidor Zabbix, use los siguientes comandos:
Si lo anterior no funciona, debe iniciarlo manualmente. Encuentre la ruta al binario zabbix_server y ejecute:
Puede usar los siguientes parámetros de línea de comando con el servidor Zabbix:
-c --config <archivo> ruta al archivo de configuración (el predeterminado es /usr/local/etc/zabbix_server.conf)
-f --foreground ejecuta el server Zabbix en primer plano
-R --runtime-control <opción> ejecuta funciones administrativas
-T --test-config. valida el archivo de configuración y sale
-h --help ofrece esta ayuda
-V --version muestra el número de versión
Ejemplos de ejecución del servidor Zabbix con parámetros de línea de comandos:
Opciones de control de tiempo de ejecución:
Opción | Descripción | Destino |
---|---|---|
config_cache_reload | Recargar caché de configuración. Se ignora si la caché se está cargando actualmente. | |
diaginfo[=<section>] | Recopilar información de diagnóstico en el archivo de registro del servidor. | historycache: estadísticas de caché de historial valuecache: estadísticas de caché de valores preprocessing: estadísticas del administrador de preprocesamiento alerting: estadísticas del administrador de alertas lld: estadísticas del administrador de LLD locks: lista de mutexes (está vacía en sistemas BSD) connector: estadísticas de los conectores con la cola más grande |
ha_status | Registrar el estado del clúster de alta disponibilidad (HA). | |
ha_remove_node=target | Elimina el nodo de alta disponibilidad (HA) especificado por su nombre o ID. Ten en cuenta que no se pueden eliminar los nodos activos o en espera. |
target: nombre o ID del nodo (se puede obtener ejecutando ha_status) |
ha_set_failover_delay=delay | Establece el retraso de conmutación por error de alta disponibilidad (HA). Se admiten sufijos de tiempo, p. ej., 10 s, 1 m. |
|
proxy_config_cache_reload[=<target>] | Recarga la caché de configuración del proxy. | target: lista delimitada por comas de nombres de proxy Si no se especifica ningún objetivo, recarga la configuración de todos los proxies |
secrets_reload | Recarga secretos desde Vault. | |
service_cache_reload | Recargar la caché del administrador de servicios. | |
snmp_cache_reload | Recargar la caché SNMP, borrar las propiedades SNMP (hora del motor, arranque del motor, id del motor, credenciales) para todos los hosts. | |
housekeeper_execute | Iniciar el procedimiento de mantenimiento. Se ignora si el procedimiento de mantenimiento está actualmente en curso. |
|
trigger_housekeeper_execute | Iniciar el procedimiento de limpieza de iniciadores para los servicios para eliminar los problemas causados por iniciadores que se han eliminado desde entonces, incluidos los problemas de servicio generados por dichos problemas (considerados como resueltos en el momento de la limpieza). Tenga en cuenta que, hasta que se inicie el procedimiento de limpieza, los problemas causados por iniciadores ahora eliminados aún pueden generar problemas de servicio y asignarlos a los servicios. Si su configuración implica muchas reglas de cálculo de estado de servicio basadas en iniciadores descubiertos/no descubiertos con frecuencia, considere aumentar la frecuencia del procedimiento de limpieza de iniciadores ajustando el parámetro de configuración del servidor ProblemHousekeepingFrequency. Se ignora si el procedimiento de limpieza de iniciadores está actualmente en curso. |
|
log_level_increase[=<target>] | Aumentar el nivel de registro, afecta a todos los procesos si no se especifica el objetivo. No compatible con sistemas BSD. |
process type: todos los procesos del tipo especificado (p. ej., poller) Ver todos los tipos de procesos del servidor. process type,N: tipo y número de proceso (p. ej., poller,3) pid: identificador de proceso (1 a 65535). Para valores mayores, especifique el objetivo como 'process type,N'. |
log_level_decrease[=<target>] | Disminuir el nivel de registro, afecta a todos los procesos si no se especifica el objetivo. No compatible con sistemas BSD. |
|
prof_enable[=<target>] | Habilitar la creación de perfiles. Afecta a todos los procesos si no se especifica el objetivo. La creación de perfiles habilitada proporciona detalles de todos los bloqueos de retorno/mutexes por nombre de función. |
tipo de proceso: todos los procesos del tipo especificado (por ejemplo, sincronizador de historial) Tipos de procesos admitidos como destinos de creación de perfiles: alertador, administrador de alertas, administrador de disponibilidad, sincronizador de configuración, administrador de detección, escalador, encuestador de historial, sincronizador de historial, ama de llaves, encuestador http, pinger icmp, administrador de ipmi, encuestador de ipmi, encuestador de java, administrador de lld, trabajador de lld, encuestador odbc, encuestador, administrador de preprocesamiento, trabajador de preprocesamiento, encuestador de proxy, automonitoreo, administrador de servicios, trampa de snmp, administrador de tareas, temporizador, trampa, encuestador inalcanzable, recopilador de vmware tipo de proceso,N: tipo y número de proceso (p. ej., history syncer,1) pid - Identificador de proceso (1 a 65535). Para valores mayores, especifique el objetivo como 'process type,N'. scope - rwlock , mutex , processing se pueden usar con el tipo y número de proceso (p. ej., history syncer,1,processing) o con todos los procesos del tipo (p. ej., history syncer,rwlock) |
prof_disable[=<target>] | Deshabilitar la creación de perfiles. Afecta a todos los procesos si no se especifica el objetivo. |
process type - Todos los procesos del tipo especificado (p. ej., history syncer) Tipos de procesos admitidos como objetivos de creación de perfiles: consulte prof_enable process type,N - Tipo y número de proceso (p. ej., history syncer,1) pid - Identificador de proceso (1 a 65535). Para valores mayores, especifique el objetivo como 'tipo de proceso, N'. |
Ejemplo de uso del control en tiempo de ejecución para recargar la caché de configuración del servidor:
Ejemplos de uso del control en tiempo de ejecución para recargar la configuración del proxy:
# Recargar la configuración de todos los proxies:
zabbix_server -R proxy_config_cache_reload
# Recargar la configuración de Proxy1 y Proxy2:
zabbix_server -R proxy_config_cache_reload=Proxy1,Proxy2
Ejemplos de uso del control en tiempo de ejecución para recopilar información de diagnóstico:
# Recopile toda la información de diagnóstico disponible en el archivo de registro del servidor:
zabbix_server -R diaginfo
# Recopile estadísticas de caché del historial en el archivo de registro del servidor:
zabbix_server -R diaginfo=historycache
Ejemplo de uso del control en tiempo de ejecución para recargar la caché SNMP:
Ejemplo de uso del control en tiempo de ejecución para desencadenar la ejecución de las tareas de limpieza:
Ejemplos de uso del control en tiempo de ejecución para cambiar el nivel de registro:
# Incrementar el nivel de registro de todos los procesos:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase
# Incrementar el nivel de registro del segundo proceso de sondeo:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=poller,2
# Incrementar el nivel de registro del proceso con PID 1234:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=1234
# Disminuir el nivel de registro de todos los procesos del poller http:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_decrease="http poller"
Ejemplo de configuración del retraso de conmutación por error de HA al mínimo de 10 segundos:
El servidor Zabbix está diseñado para ejecutarse como un usuario no root. Se ejecutará como sea cual sea el usuario no root con el que se inicie. Así que puede ejecutar el servidor como cualquier usuario no root sin ningún problema.
Si intenta ejecutarlo como 'root', cambiará a un usuario 'zabbix' codificado, que debe estar presente en su sistema. Solo puede ejecutar el servidor como 'root' si modifica en consecuencia el parámetro 'AllowRoot' en el archivo de configuración del servidor.
Si el servidor y el agente Zabbix se ejecutan en la misma máquina, se recomienda utilizar un usuario diferente para ejecutar el servidor que para ejecutar el agente. De lo contrario, si ambos se ejecutan como el mismo usuario, el agente puede acceder al archivo de configuración del servidor y a cualquier usuario de nivel de administrador en Zabbix podría recuperar fácilmente, por ejemplo, la contraseña de la base de datos.
Consulte el archivo de configuración opciones para obtener detalles sobre la configuración de zabbix_proxy.
Los scripts se utilizan para iniciar/detener automáticamente los procesos de Zabbix durante encendido/apagado del sistema. Los scripts se encuentran en el directorio misc/init.d.
agent poller
- proceso de encuestador asíncrono para comprobaciones pasivas con un hilo de trabajadoralert manager
- administrador de colas de alertasalert syncer
- escritor de alertas en base de datosalerter
- proceso para enviar notificacionesavailability manager
: proceso para actualizaciones de disponibilidad del hostconfiguration syncer
: proceso para gestionar la caché en memoria de datos de configuraciónconfiguration syncer worker
- proceso para resolver y sincronizar valores de macros de usuario en nombres de métricas.connector manager
- proceso de administrador para conectoresconnector worker
: proceso para manejar solicitudes del administrador del conectordiscovery manager
- proceso de administrador para el descubrimiento de dispositivosdiscovery worker
- Proceso para manejar tareas de descubrimiento desde el administrador de descubrimiento.escalator
- proceso para escalar accionesha manager
: proceso para gestionar la alta disponibilidadhistory poller
: proceso para manejar cheques calculados que requieren una conexión a la base de datoshistory syncer
- escritor de historial en base de datoshousekeeper
: proceso para eliminar datos históricos antiguoshttp agent poller
- proceso de sondeo asíncrono para comprobaciones HTTP con un subproceso de trabajohttp poller
- sondeador de monitoreo webicmp pinger
- sondeador para comprobaciones de icmppingipmi manager
- administrador de encuestadores IPMIipmi poller
- sondeador para comprobaciones de IPMIjava poller
- sondeador para comprobaciones de Javalld manager
: proceso de gestión de tareas de descubrimiento de bajo nivellld worker
: proceso de trabajo de tareas de descubrimiento de bajo nivelodbc poller
- sondeador para comprobaciones ODBCpoller
- sondeador normal para comprobaciones pasivaspreprocessing manager
- administrador de tareas de preprocesamientopreprocessing worker
- proceso para el preprocesamiento de datosproxy poller
- sondeador para proxies pasivosproxy group manager
- gestor de balanceo de carga proxy y alta disponibilidadreport manager
: proceso para generar informes programadosreport writer
- proceso para generar informes programadosself-monitoring
: proceso para recopilar estadísticas internas del servidorservice manager
: proceso para gestionar servicios mediante la recepción de información sobre problemas, etiquetas de problemas y recuperación de problemas desde el sincronizador de historial, el administrador de tareas y el administrador de alertassnmp poller
- proceso de sondeo asíncrono para comprobaciones SNMP con un subproceso de trabajo (solo métricas walk[OID]
y get[OID]
)snmp trapper
- capturador para capturas SNMPtask manager
- proceso para la ejecución remota de tareas solicitadas por otros componentes (por ejemplo, cerrar el problema, reconocer el problema, verificar valor de la métrica ahora, funcionalidad de comando remoto)timer
- temporizador para procesar mantenimientostrapper
- capturador para comprobaciones activas, capturas y comunicación proxytrigger housekeeper
- proceso para eliminar problemas generados por iniciadores que han sido eliminadosunreachable poller
- sondeador para dispositivos inalcanzablesvmware collector
- recopilador de datos de VMware responsable de la recopilación de datos de servicios de VMwareEl archivo de registro del servidor se puede utilizar para observar estos tipos de procesos.
Se pueden monitorear varios tipos de procesos del servidor Zabbix usando la métrica interna zabbix[process,<tipo>,<modo>,<estado>] .
Debido a los requisitos de seguridad y la naturaleza de misión crítica de la operativa del servidor, UNIX es el único sistema operativo que puede ofrecer el rendimiento consistentemente, la tolerancia a fallos y la resiliencia necesarios. Zabbix opera en versiones líderes del mercado.
El servidor Zabbix se prueba en las siguientes plataformas:
Zabbix puede funcionar en otros sistemas operativos similares a Unix igual de bien.
Tenga en cuenta que el servidor requiere una configuración regional UTF-8 para que algunas métricas de texto se puedan interpretar correctamente. La mayoría de los sistemas modernos tipo Unix tienen la configuración regional UTF-8 como predeterminada, sin embargo, hay algunos sistemas en los que es posible que sea necesario configurarla específicamente.