13 Altri problemi
Login e systemd
Consigliamo di creare un utente zabbix come utente di sistema, cioè senza possibilità di effettuare l'accesso. Alcuni utenti ignorano questa raccomandazione e usano lo stesso account per accedere (ad esempio tramite SSH) all'host che esegue Zabbix. Questo potrebbe causare il crash del daemon di Zabbix al momento del logout. In questo caso, nel log del server Zabbix vedrai qualcosa di simile al seguente:
zabbix_server [27730]: [file:'selfmon.c',line:375] lock failed: [22] Invalid argument
zabbix_server [27716]: [file:'dbconfig.c',line:5266] lock failed: [22] Invalid argument
zabbix_server [27706]: [file:'log.c',line:238] lock failed: [22] Invalid argument
e nel log dell'agent Zabbix:
zabbix_agentd [27796]: [file:'log.c',line:238] lock failed: [22] Invalid argument
Questo accade a causa dell'impostazione predefinita di systemd RemoveIPC=yes
configurata in /etc/systemd/logind.conf. Quando esci dal sistema, i semafori creati in precedenza da Zabbix vengono rimossi, causando il crash.
Una citazione dalla documentazione di systemd:
RemoveIPC=
Controls whether System V and POSIX IPC objects belonging to the user shall be removed when the
user fully logs out. Takes a boolean argument. If enabled, the user may not consume IPC resources
after the last of the user's sessions terminated. This covers System V semaphores, shared memory
and message queues, as well as POSIX shared memory and message queues. Note that IPC objects of the
root user and other system users are excluded from the effect of this setting. Defaults to "yes".
Esistono 2 soluzioni a questo problema:
- (consigliata) Smettere di usare l'account zabbix per qualsiasi cosa diversa dai processi Zabbix, e creare un account dedicato per le altre attività.
- (non consigliata) Impostare
RemoveIPC=noin/etc/systemd/logind.confe riavviare il sistema. Nota cheRemoveIPCè un parametro a livello di sistema: modificarlo influirà sull'intero sistema.
Utilizzo del frontend di Zabbix dietro proxy
Se il frontend di Zabbix viene eseguito dietro un server proxy, il percorso del cookie nel file di configurazione del proxy deve essere riscritto in modo che corrisponda al percorso del reverse proxy. Vedere gli esempi riportati di seguito. Se il percorso del cookie non viene riscritto, gli utenti potrebbero riscontrare problemi di autorizzazione durante il tentativo di accesso al frontend di Zabbix.
Esempio di configurazione per nginx
# ..
location / {
# ..
proxy_cookie_path /zabbix /;
proxy_pass http://192.168.0.94/zabbix/;
# ..
Configurazione di esempio per Apache
# ..
ProxyPass "/" http://host/zabbix/
ProxyPassReverse "/" http://host/zabbix/
ProxyPassReverseCookiePath /zabbix /
ProxyPassReverseCookieDomain host zabbix.example.com
# ..