Zabbix Documentation 4.4

2.23.04.04.2 (current)In development:4.4 (devel)Unsupported:1.82.02.43.23.4

User Tools

Site Tools


Sidebar

ru:manual:appendix:other_issues

17 Остальные проблемы

Вход в систему и systemd

Мы рекомендуем создать 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 агента:

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

Такая проблема происходит так как по умолчанию настройка 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 способа решения этой проблемы:

  1. (рекомендуемый) Перестаньте использовать zabbix аккаунт для чего-то кроме zabbix процессов, создайте специальный аккаунт для остальных потребностей.
  2. (не рекомендуемый) Задайте RemoveIPC=no в /etc/systemd/logind.conf и перезагрузите систему. Обратите внимание, что RemoveIPC является общесистемным параметром, его изменение повлияет на всю систему.