13 Otros problemas

Login y systemd

Recomendamos crear un usuario zabbix como usuario del sistema, es decir, sin capacidad de iniciar sesión. Algunos usuarios ignoran esta recomendación y usan la misma cuenta para iniciar sesión (por ejemplo, mediante SSH) en el host que ejecuta Zabbix. Esto puede provocar que el daemon de Zabbix se bloquee al cerrar la sesión. En este caso, verá algo como lo siguiente en el log del server de Zabbix:

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

y en el log del agent de Zabbix:

zabbix_agentd [27796]: [file:'log.c',line:238] lock failed: [22] Invalid argument

Esto ocurre debido a la configuración predeterminada de systemd RemoveIPC=yes configurada en /etc/systemd/logind.conf. Cuando cierra la sesión del sistema, los semáforos creados previamente por Zabbix se eliminan, lo que provoca el bloqueo.

Una cita de la documentación de systemd:

RemoveIPC=

Controla si los objetos IPC de System V y POSIX que pertenecen al usuario deben eliminarse cuando el
usuario cierra completamente la sesión. Acepta un argumento booleano. Si está habilitado, el usuario no podrá consumir recursos IPC
después de que finalice la última sesión del usuario. Esto incluye semáforos de System V, memoria compartida
y colas de mensajes, así como memoria compartida POSIX y colas de mensajes. Tenga en cuenta que los objetos IPC del
usuario root y de otros usuarios del sistema quedan excluidos del efecto de esta configuración.
El valor predeterminado es "yes".

Hay 2 soluciones para este problema:

  1. (recomendado) Deje de usar la cuenta zabbix para cualquier cosa que no sean procesos de Zabbix, y cree una cuenta dedicada para otras tareas.
  2. (no recomendado) Establezca RemoveIPC=no en /etc/systemd/logind.conf y reinicie el sistema. Tenga en cuenta que RemoveIPC es un parámetro de todo el sistema; cambiarlo afectará a todo el sistema.

Usar la interfaz de Zabbix detrás de un proxy

Si la interfaz de Zabbix se ejecuta detrás de un servidor proxy, la ruta de la cookie en el archivo de configuración del proxy debe ser reescrita para que coincida con la ruta del proxy inverso. Vea los ejemplos a continuación. Si la ruta de la cookie no se reescribe, los usuarios pueden experimentar problemas de autorización al intentar iniciar sesión en la interfaz de Zabbix.

Ejemplo de configuración para nginx
# ..
location / {
# ..
proxy_cookie_path /zabbix /;
proxy_pass http://192.168.0.94/zabbix/;
# ..
Ejemplo de configuración para Apache
# ..
ProxyPass "/" http://equipo/zabbix/
ProxyPassReverse "/" http://equipo/zabbix/
ProxyPassReverseCookiePath /zabbix /
ProxyPassReverseCookieDomain equipo zabbix.ejemplo.com
# ..