14 Autres problèmes
Connexion et systemd
Nous recommandons de créer un utilisateur zabbix en tant qu’utilisateur système, c’est-à-dire sans possibilité de se connecter. Certains utilisateurs ignorent cette recommandation et utilisent le même compte pour se connecter (par ex. via SSH) à l’hôte exécutant Zabbix. Cela peut provoquer le plantage du démon Zabbix lors de la déconnexion. Dans ce cas, vous obtiendrez quelque chose comme ce qui suit dans le journal du serveur 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
et dans le journal de l’agent Zabbix :
zabbix_agentd [27796]: [file:'log.c',line:238] lock failed: [22] Invalid argument
Cela se produit à cause du paramètre systemd par défaut RemoveIPC=yes
configuré dans /etc/systemd/logind.conf. Lorsque vous vous déconnectez du système,
les sémaphores créés précédemment par Zabbix sont supprimés, ce qui provoque le
plantage.
Citation de la documentation systemd :
RemoveIPC=
Contrôle si les objets IPC System V et POSIX appartenant à l’utilisateur doivent être supprimés lorsque
l’utilisateur se déconnecte complètement. Prend un argument booléen. Si activé, l’utilisateur ne peut pas consommer de ressources IPC
après la fin de la dernière session de l’utilisateur. Cela couvre les sémaphores System V, la mémoire partagée
et les files de messages, ainsi que la mémoire partagée POSIX et les files de messages. Notez que les objets IPC de
l’utilisateur root et des autres utilisateurs système sont exclus de l’effet de ce paramètre. La valeur par défaut est « yes ».
Il existe 2 solutions à ce problème :
- (recommandé) Cesser d’utiliser le compte zabbix pour autre chose que les processus Zabbix, et créer un compte dédié pour les autres usages.
- (non recommandé) Définir
RemoveIPC=nodans/etc/systemd/logind.confpuis redémarrer le système. Notez queRemoveIPCest un paramètre global au système ; le modifier affectera l’ensemble du système.
Utilisation de l'interface Zabbix derrière le proxy
Si l'interface Zabbix s'exécute derrière un serveur proxy, le chemin du cookie dans le fichier de configuration du proxy doit être réécrit afin de correspondre au chemin du proxy inverse. Voir les exemples ci-dessous. Si le chemin du cookie n'est pas réécrit, les utilisateurs peuvent rencontrer des problèmes d'autorisation lorsqu'ils tentent de se connecter à l'interface Zabbix.
Exemple de configuration pour nginx
# ..
location / {
# ..
proxy_cookie_path /zabbix /;
proxy_pass http://192.168.0.94/zabbix/;
# ..
Exemple de configuration pour Apache
# ..
ProxyPass "/" http://host/zabbix/
ProxyPassReverse "/" http://host/zabbix/
ProxyPassReverseCookiePath /zabbix /
ProxyPassReverseCookieDomain host zabbix.example.com
# ..