1 Servidor

Vista general

El servidor Zabbix és el processador central del programari Zabbix.

El servidor interroga i recupera la informació, calcula els triggers, i envia les notificacions als usuaris. És el component central on els agents i els proxys Zabbix reporten la informació de disponibilitat i integritat dels sistemes. El servidor pot per sí mateix verificar a distància els serveis de xarxa (com ara els servidors Web i els servidors de missatgeria) emprant simples verificacions de servei.

El servidor és el referencial central on totes les dades de configuració, estadístiques i operacions s'emmagatzemen, i és l'entitat de Zabbix que alerta activament els administrador quan apareixen problemes en un dels sistemes monitorats.

El funcionament del servidor es divideix en tres components diferents, que són: el servidor Zabbix, la interfície Web i l'emmagatzematge en una base de dades.

Tota la informació de configuració de Zabbix s'emmagatzema a la base de dades, amb qui el servidor i la interfície interactuen. Per exemple, si creem un nou element des de la interfície Web (o l'API), s'afegeix a la taula dels elements de la base de dades. Llavors, cap a un cop per minuts, el servidor Zabbix demana a la taula dels elements per obtindre una llista d'elements actius que són emmagatzemats a una cau del servidor Zabbix. D'aquesta manera, pot prendre fins a dos minuts perquè tota modificació aparegui a la darrera secció de dades.

Servidor en execució

Si s'instal·la com a paquet

El servidor funciona com un procés dimoni. Pot engegar-se executant:

shell> service zabbix-server start

això funcionarà a la majoria dels sistemes GNU/Linux. Sota altre sistemes, haureu de poder executar:

shell> /etc/init.d/zabbix-server start

De la mateixa manera, per aturar/reiniciar/consultar l'estat, empreu les comandes següents:

shell> service zabbix-server stop
       shell> service zabbix-server restart
       shell> service zabbix-server status
Engegada manual

Si les comandes anteriors no funcionen pas, haureu d'engegar el proxy manualment. Trobeu el camí dels binaris de zabbix_server i executeu:

shell> zabbix_server

Podreu emprar els paràmetres de línies de comanda següents amb el servidor Zabbix:

-c --config <file>              ruta del fitxer de configuració (per defecte és /usr/local/etc/zabbix_server.conf)
       -f --foreground              executar el servidor Zabbix en primer pla
       -R --runtime-control <option>   executar funcions administratives
       -h --help                       veure aquesta ajuda
       -V --version                    veure el nombre de versió

Exemples d'execució del servidor Zabbix amb els paràmetres de línia de comandes:

shell> zabbix_server -c /usr/local/etc/zabbix_server.conf
       shell> zabbix_server --help
       shell> zabbix_server -V 
Control d'execució

Opcions de control d'execució:

Opció Descripció Destí
config_cache_reload Recarrega la memòria cau de configuració. S'ignora si la memòria cau és carregant-se.
diaginfo[=<target>] Recull informació de diagnòstic al fitxer de registre del servidor. historycache - estadístiques de la memòria cau de l'històric
valuecache - estadístiques de la memòria cau de valors
* preprocessing - estadístiques del gestor de preprocessament
alerting - estadístiques del gestor d'alertes
lld - estadístiques del gestor de LLD
locks - llista de mutex (buida a BSD
sistemes)
ha_status Registra l'estat del clúster d'alta disponibilitat (HA).
ha_remove_node=target Esborra el node d'alta disponibilitat (HA) especificat per nom o identificador.
Tingueu en compte que els nodes actius/en espera no es poden esborrar pas.
target: nom o identificador de node (pot obtindre's executant ha_status)
ha_set_failover_delay=delay Defineix el retard de la migració per error d'alta disponibilitat (HA).
S'admeten sufixos de temps, p. ex. 10s, 1m.
proxy_config_cache_reload[=<target>] Recarregar la cau de configuració del proxy . target - llistat separat per comes dels noms dels proxys
Si no s'especifica cap destí, recarrega la configuració de tots els proxys
secrets_reload Recarrega els secrets del bagul.
service_cache_reload Recarrega la memòria cau del gestor de serveis.
snmp_cache_reload Recarrega la memòria cau SNMP, esborra les propietats SNMP (hora del motor, inicis del motor, identificador del motor, credencials) per a tots els equips.
housekeeper_execute Inicia el procediment de neteja. S'ignora si el procediment de neteja és en curs.
trigger_housekeeper_execute Inicia el procediment de neteja programat. S'ignora si la neteja del trigger és en curs.
log_level_increase[=<target>] Augmenta el nivell de registre, afecta tots els processos si no s'especifica l'objectiu.
No és compatible amb sistemes * BSD*.
tipus de procés* * - Tots els processos del tipus especificat (p. ex. enquestador)
Veieu tots els tipus de procés del servidor.
tipus de procés,N** - Tipus i nombre de procés (per exemple, poller,3)< br>pid - identificador del procés (de l'1 al 65535). Per a valors més grans, especifiqueu l'objectiu com a 'tipus de procés,N.
log_level_decrease[=<target>] Disminueix el nivell de registre, afecta tots els processos si no s'especifica l'objectiu.
No és compatible amb sistemes BSD.
prof_enable[=<target>] Activa el perfil.
Afecta tots els processos si no s'especifica l'objectiu.
El perfil activat proporciona detalls sobre tots els rwlocks/mutex pel nom de la funció.
Admès des de Zabbix 6.0.13.
tipus de procés - tots els processos d'un tipus especificat (p. ex., sincronitzador d'historial)
Els tipus de procés admesos es carreguen com a objectius de perfil: alertador, gestor d'alertes, gestor de disponibilitat, configuració de sincronització, descobridor, escala mecànica, enquestador d'històric, sincronitzador d'històric, neteja programada, http poller, icmp pinger, ipmi poller, ipmi poller, java poller, lld manager, lld worker, odbc poller, poller, gestor de preprocessament, proxy poller, autocontrol, gestor de serveis, snmp trapper, gestor de tasques, temporitzador, trapper, poller inaccessible, vmware collector
tipus de procés,N - tipus i nombre de procés (p. ex., sincronització d'històric,1)
pid - Identificador de procés (de l'1 al 65535). Per a valors més alts, especifiqueu l'objectiu com a "tipus de procés,N".
abast - rwlock, mutex i preprocessing es poden emprar amb el tipus i el nombre de procés (p. ex., sincronització d'historial,1). ,processing) o a tot tipus de processos (p. ex., history syncer,rwlock)
prof_disable[=<target>] Desactiva la creació de perfils.
Afecta tots els processos si no s'especifica l'objectiu.
Suportat des de Zabbix 6.0.13.
process type - Tots els processos del tipus especificat (p. ex. sincronitzador d'històric)
Tipus de procés compatible com a objectius de perfil: vegeu prof_enable
tipus de procés ,N - Tipus i nombre de procés (p. ex., sincronització d'històric,1)<br >pid - identificador del procés (de l'1 al 65535). Per a valors més grans, especifiqueu l'objectiu com a 'tipus de procés,N'.

Exemple d'ús del control en temps d'execució per tornar a carregar la memòria cau de configuració del servidor:

 Recarrega la configuració de tots els proxys:
        shell> zabbix_server -R proxy_config_cache_reload
       
        Recarrega la configuració de Proxy1 i Proxy2:
        shell> zabbix_server -R proxy_config_cache_reload=Proxy1,Proxy2

Exemples d'ús del control en temps d'execució per recopilar informació de diagnòstic:

 Recollir tota la informació de diagnòstic disponible al fitxer de registre del servidor:
        shell> zabbix_server -R diaginfo
       
        Recollir les estadístiques de la memòria cau de l'historial al fitxer de registre del servidor:
        shell> zabbix_server -R diaginfo=historycache

Exemple d'ús del control de temps d'execució per tornar a carregar la memòria cau SNMP:

 shell> zabbix_server -R snmp_cache_reload

Exemple d'ús del control d'execució per activar l'execució de neteja:

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

Exemples d'ús del control d'execució per canviar el nivell de registre:

 Pujar el nivell de registre de tots els processos:
        shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase
       
        Pujar el nivell de registre del segon procés d'enquesta:
        shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=poller,2
       
        Pujar el nivell de registre del procés amb PID 1234:
        shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=1234
       
        Baixar el nivell de registre de tots els processos de sondeig http:
        shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_decrease="http poller"

Exemple de configuració del retard de la migració per error d'HA a un mínim de 10 segons:

 shell> zabbix_server -R ha_set_failover_delay=10s
Processos d'usuari

El servidor Zabbix és dissenyat per funcionar com a usuari no root. Funcionarà amb qualsevol usuari no root que iniciï els processos. Així, podeu executar el servidor com a usuari no root sense cap problema.

Si mireu d'executar-lo com a 'root', canviarà a un usuari 'zabbix' codificat en dur, que ha d'ésser present al vostre sistema. Només podeu executar el servidor com a 'root' si canvieu la configuració 'AllowRoot' al fitxer de configuració associat del servidor.

Si el servidor i l'agent Zabbix s'executen a la mateixa màquina, es recomana emprar un usuari diferent per executar el servidor i l'agent. En cas contrari, si tots dos s'executen amb el mateix usuari, l'agent pot accedir al fitxer de configuració del servidor i qualsevol usuari de nivell administrador de Zabbix pot recuperar fàcilment, per exemple, el mot de pas de la base de dades.

Arxiu de configuració

Veure les opcions de l'arxiu de configuració per tindre més detalls sobre la configuració del zabbix_server.

Scripts d'engegada

Els scripts s'empren per iniciar/aturar automàticament els processos Zabbix durant l'inici/aturada del sistema. Els scripts són al directori misc/init.d.

Tipus de processos del servidor

  • alert manager - gestor de cues d'alertes
  • alert syncer - procés d'escriptura d'alertes a la base de dades
  • alerter - procés d'enviament de notificacions
  • availability manager - procés d'actualització de la disponibilitat de l'equip
  • configuration syncer - procés de gestió de dades de configuració de la memòria cau a la memòria
  • connector manager - procés gestor de connectors
  • connector worker - procés per gestionar les peticions del gestor de connexions
  • discoverer - procés de descoberta de dispositius
  • escalator - procés d'escalada d'accions
  • ha manager - procés per gestionar l'alta disponibilitat
  • history poller - processos calculats i comprovacions internes que requereixen una connexió a la base de dades
  • history syncer - procés d'escriptura de l'historial a la base de dades
  • housekeeper - procés d'esborrat de dades de l'historial antic
  • http poller - poller per al monitoratge web
  • icmp pinger - poller per a comprovacions icmpping
  • ipmi manager - gestors d'enquestadors IPMI
  • ipmi poller - poller per a comprovacions IPMI
  • java poller - poller per a comprovacions de Java
  • lld manager - procés de gestió de tasques de descoberta de baix nivell
  • lld worker - procés per gestionar tasques de descoberta de baix nivell
  • odbc poller - poller per a comprovacions ODBC
  • poller - poller normal per a controls passius
  • preprocessing manager - gestor de tasques de preprocessament
  • preprocessing worker - procés de preprocessament de dades
  • proxy poller - poller de proxys passius
  • report manager- gestor de tasques de generació d'informes programats
  • report writer - procés de generació d'informes programat
  • self-monitoring - procés de recollida d'estadístiques internes del servidor
  • service manager - procés per gestionar serveis rebent informació sobre problemes, etiquetes de problemes i recuperació de problemes des del sincronitzador d'historial, gestor de tasques i gestor d'alertes
  • snmp trapper - trapper per a trampes SNMP
  • task manager - procés per a l'execució remota de tasques demanades per altres components (per exemple: tancar un problema, reconèixer un problema, verificació immediata del valor d'un element, control remot de la funcionalitat d'execució)
  • timer - temporitzador per processar manteniments
  • trapper - trapper per a controls actius, trampes, comunicació amb el proxy
  • trigger housekeeper - procés per esborrar problemes generats per triggers que s'han esborrat
  • unreachable poller - enquesta d'equips inabastable
  • vmware collector - col·lector de dades de VMware responsable de recopilar dades per als serveis de VMware

El fitxer de registre del servidor es pot emprar per observar els tipus de procés.

Es poden monitorar diversos tipus de processos del servidor Zabbix mitjançant elements interns zabbix[process,<type>,<mode>,<state>] .

Plataformes admeses

Per raons de seguretat i de la natura crítica del funcionament del servidor, UNIX és l'únic sistema d'explotació capaç de proporcionar sistemàticament el rendiment, tolerància a errades i resiliència necessàries. Zabbix funciona sota les millors versios del mercat.

El servidor Zabbix s'ha provat amb les següents plataformes:

  • Linux
  • Solaris
  • AIX
  • HP-UX
  • Mac OS X
  • FreeBSD
  • OpenBSD
  • NetBSD
  • SCO Open Server
  • Tru64/OSF1

Zabbix pot funcionar igualment amb altres sistemes d'explotació de tipus Unix.

Entorn Local

Veieu que al servidor li cal un entorn local UTF-8 per tal que determinats elements textuals puguin ésser interpretats correctament. La majoria dels sistemes moderns de tipus Unix tenen un paràmetre regional UTF-8 per defecte; de tota manera, alguns sistemes poden haver d'ésser definits específicament.