Die folgende Meldung brachte mich, beim Konfigurieren einiger Service-Checks in Icinga2, kurzzeitig zum Weinen:
icinga critical/config: Error: Stack overflow while evaluating expression: Recursion level too deep.
Im Icinga Director war kein Deployment mehr möglich und der fehlerhafte Check-Eintrag ließ sich durch die Fehlermeldung nicht mehr löschen. Eine Konfigurationssackgasse, welche sich sicherlich durch das Einspielen eines Datenbank-Backups hätte lösen lassen, wenn man dann ein aktuelles Backup zur Verfügung gehabt hätte.
Aber wie das so im worst case üblich ist, hatte ich kein aktuelles Backup in der Hinterhand und 24 h Arbeit wäre für die Katz gewesen.
Zum Glück lies sich das Problem aber über die Konsole wie folgt lösen:
mysql -u root -p Enter password: MariaDB [(none)]> use director; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed MariaDB [director]> select * from icinga_service_inheritance where service_id = parent_service_id; +------------+-------------------+--------+ | service_id | parent_service_id | weight | +------------+-------------------+--------+ | 21 | 21 | 1 | +------------+-------------------+--------+ 1 row in set (0.00 sec) MariaDB [director]> delete from icinga_service_inheritance where service_id = 21; Query OK, 1 row affected (0.00 sec) MariaDB [director]> exit; Bye
Danach konnte ich den fehlerhaften Service-Check entfernen und ein aktuelles Datenbank-Backup erstellen. 🙂 Der Tag und meine Arbeit war gerettet – zum Glück.
Schreibe den ersten Kommentar