Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

18 その他の問題

ログインとsystemd

ログインできないシステムユーザーとして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エージェントログ:

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

これは、/etc/systemd/logind.confで構成されたデフォルトのsystemd設定RemoveIPC=yesが原因で発生します。 システムからログアウトすると、Zabbixによって以前に作成されたセマフォが削除され、クラッシュが発生します。

systemdドキュメントからの引用:

RemoveIPC=
       
       ユーザーが完全にログアウトしたときに、ユーザーに属するSystemVおよびPOSIXIPCオブジェクトを削除するかどうかを制御します。 ブール引数を取ります。 有効にすると、ユーザーの最後のセッションが終了した後、ユーザーはIPCリソースを消費できなくなります。 これには、System Vセマフォ、共有メモリとメッセージキュー、およびPOSIX共有メモリとメッセージキューが含まれます。 rootユーザーおよび他のシステムユーザーのIPCオブジェクトは、この設定の影響から除外されることに注意してください。 デフォルトは「yes」です。

この問題には2つの解決策があります。

  1. (推奨)Zabbixプロセス以外の目的で* zabbix *アカウントの使用を停止し、専用アカウントを作成します。
  2. (非推奨)/etc/systemd/logind.confRemoveIPC= noを設定し、システムを再起動します。RemoveIPCはシステム全体のパラメータであり、変更するとシステム全体に影響することに注意してください。

プロキシの背後でZabbixフロントエンドを使用する

Zabbixフロントエンドがプロキシサーバーの背後で実行されている場合、リバースプロキシパスと一致させるために、プロキシ設定ファイルのCookieパスを書き換える必要があります。 以下の例を参照してください。 Cookieパスが書き換えられていない場合、ユーザーがZabbixフロントエンドにログインしようとしたときに認証の問題が発生する可能性があります。

nginxの設定ファイル例
# ..
       location / {
       # ..
       proxy_cookie_path /zabbix /;
       proxy_pass http://192.168.0.94/zabbix/;
       # ..
Apacheの設定ファイル例
# ..
       ProxyPass "/" http://host/zabbix/
       ProxyPassReverse "/" http://host/zabbix/
       ProxyPassReverseCookiePath /zabbix /
       ProxyPassReverseCookieDomain host zabbix.example.com
       # ..