Мы рекомендуем создать zabbix пользователя системным пользователем, то есть, без возможности входа в систему. Некоторые пользователи игнорируют эту рекомендацию и используют тот же самый аккаунт для входа в систему (например, используя SSH) на хост с работающим Zabbix. Это может привести к поломке Zabbix демона при выходе из системы. В этом случае в журнале 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
и в журнале Zabbix агента:
Такая проблема происходит так как по умолчанию настройка systemd равна RemoveIPC=yes
в /etc/systemd/logind.conf
. Когда вы выполняете выход из системы, ранее созданные семафоры Zabbix компонентами удаляются, что приводит к поломке.
Выдержка из документации по 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".
Имеется 2 способа решения этой проблемы:
RemoveIPC=no
в /etc/systemd/logind.conf
и перезагрузите систему. Обратите внимание, что RemoveIPC
является общесистемным параметром, его изменение повлияет на всю систему.