#16 Otros temas

Iniciar sesión y systemd

Nosotros 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. usando SSH) para alojar Zabbix en ejecución. Esto podría bloquear el demonio Zabbix en la desconexión. En este caso obtendrá algo como lo siguiente en registro del servidor 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 registro del agente de Zabbix:

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 configurado en /etc/systemd/logind.conf. Cuando cierra la sesión en el sistema, los semáforos creados por Zabbix previamente son eliminados lo que provoca el problema.

Una cita de la documentación de systemd:

RemoveIPC=

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

Hay 2 soluciones a este problema:

  1. (recomendado) Deje de usar la cuenta zabbix para cualquier otra cosa que no sean los procesos de Zabbix, crea una cuenta dedicada para otras cosas.
  2. (no recomendado) Configure RemoveIPC=no en /etc/systemd/logind.conf y reinicie el sistema. Tenga en cuenta que RemoveIPC es un parámetro global del sistema y 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
       #..