我们推荐 2-创建用户账户 一个 zabbix 用户作为系统用户,即无法登录。某些用户 忽略此建议并使用同一帐户登录(例如 使用SSH)连接到运行Zabbix的主机。这可能会导致Zabbix守护进程在记录日志时崩溃 在这种情况下,您将在 Zabbix 中看到类似以下内容的get 服务器日志:
zabbix_server [27730]: [文件:'selfmon.c',行:375] 锁定失败: [22] 参数无效
zabbix_server [27716]: [文件:"dbconfig.c",行:5266] 锁定失败:[22] 参数无效
zabbix_server [27706]: [file:'log.c',line:238] 锁定失败:[22] 参数无效
并且在 Zabbix agent 日志中:
这是由于默认的 systemd 设置 RemoveIPC=yes
所致 配置在 /etc/systemd/logind.conf
中。当您退出系统时 Zabbix之前创建的信号量被移除,这会导致 崩溃。
来自 systemd 文档的引用:
移除IPC=
控制在用户退出时是否删除其拥有的 System V 和 POSIX IPC objects
用户完全注销。接受一个 boolean 参数。如果启用,用户将无法使用 IPC 资源。
在用户的会话结束之后。这涵盖了System V信号量、共享memory
以及消息队列,还有POSIX共享memory和消息队列。请注意,IPC objects的
root 用户及其他系统用户不受此设置影响。默认值为“yes”。
存在 2 种解决此问题的方案:
1。(推荐)除了用于Zabbix账户外,不要将其用于其他任何用途。 Zabbix 进程,create 用于其他事项的专用账户。 2。(不推荐)在 /etc/systemd/logind.conf
中设置 RemoveIPC=no
并重新启动系统。请注意,RemoveIPC
是一个系统范围的 参数,更改它将影响整个系统。
如果 Zabbix 前端运行在 proxy 服务器之后,则需要在 proxy 配置中重写 file 的 cookie 路径,以匹配反向代理的路径。请参见下面的示例。如果 cookie 路径未 被重写,用户在尝试 login 到 Zabbix 前端时可能会遇到授权 问题。