ログインできないシステムユーザーとしてzabbixユーザーを作成することをお勧めします。一部のユーザーはこの推奨事項を無視し、同じアカウントを使用してZabbixを実行しているホストにログイン(SSHを使用するなど)しますが、ログアウト時に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エージェントログ:
これは、/etc/systemd/logind.conf
で構成されたデフォルトのsystemd設定RemoveIPC=yes
が原因で発生します。 システムからログアウトすると、Zabbixによって以前に作成されたセマフォが削除され、クラッシュが発生します。
systemdドキュメントからの引用:
RemoveIPC=
ユーザーが完全にログアウトしたときに、ユーザーに属するSystemVおよびPOSIXIPCオブジェクトを削除するかどうかを制御します。 ブール引数を取ります。 有効にすると、ユーザーの最後のセッションが終了した後、ユーザーはIPCリソースを消費できなくなります。 これには、System Vセマフォ、共有メモリとメッセージキュー、およびPOSIX共有メモリとメッセージキューが含まれます。 rootユーザーおよび他のシステムユーザーのIPCオブジェクトは、この設定の影響から除外されることに注意してください。 デフォルトは「yes」です。
この問題には2つの解決策があります。
/etc/systemd/logind.conf
でRemoveIPC= no
を設定し、システムを再起動します。RemoveIPC
はシステム全体のパラメータであり、変更するとシステム全体に影響することに注意してください。Zabbixフロントエンドがプロキシサーバーの背後で実行されている場合、リバースプロキシパスと一致させるために、プロキシ設定ファイルのCookieパスを書き換える必要があります。 以下の例を参照してください。 Cookieパスが書き換えられていない場合、ユーザーがZabbixフロントエンドにログインしようとしたときに認証の問題が発生する可能性があります。