Publié le 11 décembre 2018
Sur un Zabbix 3.4, il n’était pas possible d’acknowledger les alertes. L’erreur était :
Fatal error, please report to the Zabbix team
- Controller: acknowledge.edit
- action: acknowledge.edit
- backurl: zabbix.php?action%3Ddashboard.view
- eventids: Array
Le problème est tout con, et ne provient pas de Zabbix. Dans la configuration Apache j’ai retrouvé les lignes suivantes :
RewriteEngine on
^/zabbix / [R,L] RewriteRule
Je suppose qu’a une époque l’interface web se trouvait derrière le
répertoire /zabbix
mais qu’à un moment quelqu’un a voulu
simplifier et tout mettre à la racine. Ensuite il a rajouté la
redirection pour ne pas casser tous les webservices existants (plusieurs
services externes utilisent l’API de ce Zabbix). Le problème c’est que
ce faisant il a redirigé tout ce qui commençait par
/zabbix
, y compris les appels à /zabbix.php
.
Et, vous l’aurez compris, l’acknowledge fait justement un appel à
/zabbix.php
.
En regardant les logs Apache j’ai vu que plus aucun webservice
n’appelait /zabbix
. J’ai donc tout simplement supprimé la
redirection.
Si vous devez conserver la redirection, il devrait être possible de s’en sortir avec une règle du type (attention, je n’ai pas testé) :
RewriteEngine on
^/zabbix(?:/.*)?$ /$1 [R,L] RewriteRule