14 Otros problemas

Inicio de sesión y systemd

Recomendamos crear un usuario zabbix como usuario del sistema, es decir, sin posibilidad de iniciar sesión. Algunos usuarios ignoran esta recomendación y usan la misma cuenta para iniciar sesión (p. ej., mediante SSH) en el host que ejecuta Zabbix. Esto puede provocar el fallo del daemon de Zabbix al cerrar 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 de Zabbix agent:

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

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

Una cita de la documentación de systemd:

RemoveIPC=

Controla si los objetos IPC System V y POSIX pertenecientes 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 haya finalizado la última de las sesiones del usuario. Esto cubre semáforos 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 están 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 otra cosa que no sean los procesos de Zabbix; 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.

Usando la interfaz de Zabbix detrás del 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 reescribirse para que coincida con la ruta de proxy inverso. Vea los ejemplos a continuación. Si la ruta de la cookie no es reescrita, 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://host/zabbix/
ProxyPassReverse "/" http://host/zabbix/
ProxyPassReverseCookiePath /zabbix /
ProxyPassReverseCookieDomain host zabbix.example.com
#..