1 Servidor

Visión general

El servidor Zabbix es el proceso central del software Zabbix.

El servidor realiza el sondeo y captura de datos, calcula desencadena, envía notificaciones a los usuarios. Es el componente central para cuales los agentes y proxies de Zabbix reportan datos sobre disponibilidad y integridad de los sistemas. El servidor puede comprobar remotamente en red servicios (como servidores web y servidores de correo) usando un servicio simple cheques

El servidor es el repositorio central en el que se almacena toda la configuración, se almacenan datos 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 distintos componentes; ellos son: servidor Zabbix, interfaz web y almacenamiento de base de datos.

Toda la información de configuración de Zabbix se almacena en el base de datos, con la que interactúan tanto el servidor como el frontend web. Para ejemplo, cuando crea un nuevo elemento usando la interfaz web (o API) se agrega a la tabla de elementos en la base de datos. Luego, aproximadamente una vez por minuto El servidor Zabbix consultará la tabla de elementos para obtener una lista de los elementos que están activos que luego se almacenan en un caché dentro del servidor Zabbix. Este es por eso que cualquier cambio realizado en Zabbix puede demorar hasta dos minutos frontend para aparecer en la última sección de datos.

Servidor en ejecución

Si se instala como paquete

El servidor Zabbix se ejecuta como un proceso daemon. El servidor puede ser iniciado ejecutando:

systemctl start zabbix-server

Esto funcionará en la mayoría de los sistemas GNU/Linux. En otros sistemas, puede que necesite ejecutar:

/etc/init.d/zabbix-server start

Del mismo modo, para detener/reiniciar/ver el estado del servidor Zabbix, use los siguientes comandos:

systemctl stop zabbix-server
       systemctl restart zabbix-server
       systemctl status zabbix-server
Iniciar manualmente

Si lo anterior no funciona, debe iniciarlo manualmente, encuentre el camino al binario zabbix_proxy y ejecute:

zabbix_server

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>.   realizar funciones administrativas
       -h --help    dar 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:

zabbix_server -c /usr/local/etc/zabbix_server.conf
       zabbix_server --help
       zabbix_server -V
Control de tiempo de ejecución

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 mutex (está vacía en sistemas BSD)
ha_status Registrar el estado del clúster de alta disponibilidad (HA).
ha_remove_node=target Elimine el nodo de alta disponibilidad (HA) especificado por su nombre o ID.
Tenga 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 Establezca el retraso de conmutación por error de alta disponibilidad (HA).
Se admiten sufijos de tiempo, p. ej., 10 s, 1 m.
secrets_reload Recargue secretos desde Vault.
service_cache_reload Recargue la memoria caché del administrador de servicios.
snmp_cache_reload Recargue la memoria caché SNMP, borre las propiedades SNMP (hora del motor, arranque del motor, ID del motor, credenciales) para todos los hosts.
housekeeper_execute Inicia el procedimiento de limpieza.
Se ignora si el procedimiento de limpieza está actualmente en curso.
trigger_housekeeper_execute Iniciar el procedimiento de limpieza de iniciadores para 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 perfilado.
Afecta a todos los procesos si no se especifica el objetivo.
El perfilado habilitado proporciona detalles de todos los bloqueos de retorno/mutexes por nombre de función.
Compatible desde Zabbix 6.0.13.
tipo de proceso: todos los procesos del tipo especificado (por ejemplo, sincronizador de historial)
Tipos de procesos compatibles como objetivos de perfilado: alertador, administrador de alertas, administrador de disponibilidad, sincronizador de configuración, descubridor, 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, vmware colector
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 '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.
Compatible desde Zabbix 6.0.13.
process type - Todos los procesos del tipo especificado (p. ej., sincronizador de historial)
Tipos de procesos compatibles como objetivos de creación de perfiles: consulte prof_enable
process type,N - Tipo y número de proceso (p. ej., sincronizador de historial,1)
pid - Identificador de proceso (1 a 65535). Para valores mayores, especifique el objetivo como 'process type,N'.

Ejemplo de uso del control de tiempo de ejecución para recargar la configuración de la cache del servidor:

zabbix_server -c /usr/local/etc/zabbix_server.conf -R config_cache_reload

Ejemplos de uso del control de tiempo de ejecución para recopilar información de diagnóstico:

# Reúna toda la información de diagnóstico disponible en el archivo de registro del servidor:
       zabbix_server -R diaginfo
       
       # Recopilar estadísticas de caché del historial en el archivo de registro del servidor:
       zabbix_server -R diaginfo=historycache

Ejemplo de uso del control de tiempo de ejecución para recargar la caché SNMP:

servidor_zabbix -R snmp_cache_reload

Ejemplo de uso del control de tiempo de ejecución para desencadenar la ejecución del limpiador:

zabbix_server -c /usr/local/etc/zabbix_server.conf -R housekeeper_execute

Ejemplos de uso del control de tiempo de ejecución para cambiar el nivel de registro:

# Aumentar el nivel de registro de todos los procesos:
       zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase
       
       # Aumentar el nivel de registro del segundo proceso de sondeo:
       zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=poller,2
       
       # Aumentar 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 de sondeo 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:

zabbix_server -R ha_set_failover_delay=10s
Procesar usuario

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. Para que pueda ejecutar el servidor como cualquier usuario no root sin ningún problema.

Si intenta ejecutarlo como 'root', cambiará a un codificado usuario 'zabbix', que debe estar presente en tu sistema. Solo puede ejecutar el servidor como 'raíz' si modifica el parámetro 'AllowRoot' en el archivo de configuración del servidor en consecuencia.

Si el servidor Zabbix y agente se ejecutan en la misma máquina, es 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 el agente puede acceder al archivo de configuración del servidor y a cualquier usuario de nivel de administrador en Zabbix puede recuperar fácilmente, por ejemplo, la contraseña de la base de datos.

Archivo de configuración

Consulte el archivo de configuración opciones para obtener detalles sobre la configuración de zabbix_proxy.

Guiones de inicio

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.

Tipos de procesos del servidor

  • alert manager - administrador de colas de alertas
  • alert syncer - escritor de base de datos de alerta
  • alerter - proceso para enviar notificaciones
  • availability manager: proceso para actualizaciones de disponibilidad del host
  • configuration syncer: proceso para gestionar la caché en memoria de datos de configuración
  • discoverer: proceso para descubrir dispositivos
  • escalator - proceso para escalar acciones
  • ha manager: proceso para gestionar la alta disponibilidad
  • history poller: proceso para manejar datos calculados y comprobaciones internas que requieren una conexión a la base de datos
  • history syncer - escritor de base de datos histórico
  • "housekeeper": proceso para eliminar datos históricos antiguos
  • http poller - encuestador de monitoreo web
  • icmp pinger - encuestador para comprobaciones de icmpping
  • ipmi manager - administrador de encuestadores IPMI
  • ipmi poller - encuestador para comprobaciones de IPMI
  • java poller - sondeador para comprobaciones de Java
  • lld manager: proceso de gestión de tareas de descubrimiento de bajo nivel
  • lld worker: proceso de trabajo de tareas de descubrimiento de bajo nivel
  • odbc poller - encuestador para comprobaciones ODBC
  • poller - encuestador normal para comprobaciones pasivas
  • preprocessing manager - administrador de tareas de preprocesamiento
  • preprocessing worker - proceso para el preprocesamiento de datos
  • proxy poller - encuestador para proxies pasivos
  • report manager- administrador de tareas programadas de generación de informes
  • report writer: proceso para generar informes programados
  • autocontrol: proceso para recopilar las estadísticas internas del servidor
  • service 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 alertas
  • snmp trapper - capturador para capturas SNMP
  • task 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 mantenimientos
  • trapper - trampero para comprobaciones activas, trampas y comunicación proxy
  • trigger housekeeper: proceso para eliminar problemas generados por iniciadores que han sido eliminados
  • trigger housekeeper - sondeador para iniciadores inalcanzables
  • vmware collector: recopilador de datos de VMware responsable de la recopilación de los datos de servicios de VMware

El 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[proceso,<tipo>,<modo>,<estado>] .

Plataformas compatibles

Debido a los requisitos de seguridad y la naturaleza de misión crítica del servidor operación, UNIX es el único sistema operativo que puede consistentemente ofrecer el rendimiento, 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:

-Linux -Solaris -AIX -HP-UX - Mac OS X - FreeBSD - OpenBSD -NetBSD - Servidor abierto SCO -Tru64/OSF1

Zabbix puede funcionar en otros sistemas operativos similares a Unix como bien.

Configuración regional

Tenga en cuenta que el servidor requiere una configuración regional UTF-8 para que algunos elementos de texto se puede interpretar correctamente. La mayoría de los sistemas similares a Unix modernos tienen un UTF-8 locale como predeterminado, sin embargo, hay algunos sistemas donde eso puede necesitar que se establezca específicamente.