Eisenfaust
Well-Known Member
Hallo Liste.
Wir betreiben jüngst eine icinga2 Installation, die derzeit auf 12-CURRENT läuft. Zwei Platformen dienen als Testumgebung und sind unterschiedlich in ihrer Topologie: ein Host trägt sowohl die PostgreSQL Datenbank, icinga2 selbst sowie den Apache24 Webserver nebst icingaweb2 und den icinga2-director. Die anderen Umgebung spaltet die wesentlichen Dienste auf jails/hosts auf: Datenbankserver, Webserver, Icinga2 Server. Icingaweb2 und der icinga2-director sind selbstverständlich auf dem Webserver installiert.
Icinga2 arbeitet problemlos. Allerdings laufe ich auf beiden Platformen mit icinga2-director in ein und denselben Fehler, wenn ich das oberste, also "Toplevel" Menü im Icingaweb2 des Modules "Director" aufrufe: es haglet eine "Undefined offset: 0" Fehlermeldung, deren Nachverfolgung in den ersten Zeilen so ausschaut (auf beiden Host identisch):
[...]
#0 /usr/local/www/icingaweb2/modules/director/library/Director/Dashboard/Dashlet/Dashlet.php(233): Icinga\Application\ApplicationBootstrap->Icinga\Application\{closure}(8, 'Undefined offse...', '/usr/local/www/...', 233, Array)
#1 /usr/local/www/icingaweb2/modules/director/library/Director/Dashboard/Dashlet/Dashlet.php(163): Icinga\Module\Director\Dashboard\Dashlet\Dashlet->statSummary(false)
#2 /usr/local/www/icingaweb2/modules/director/library/Director/Dashboard/Dashlet/Dashlet.php(172): Icinga\Module\Director\Dashboard\Dashlet\Dashlet->getSummary()
#3 zend.view:///usr/local/www/icingaweb2/modules/director/application/views/scripts/dashlets/default.phtml(4): Icinga\Module\Director\Dashboard\Dashlet\Dashlet->getEscapedSummary()
#4 /usr/local/www/icingaweb2/library/Icinga/Web/View.php(231): include('zend.view:///us...')
#5 /usr/local/www/icingaweb2/library/vendor/Zend/View/Abstract.php(877): Icinga\Web\View->_run('/usr/local/www/...')
#6 /usr/local/www/icingaweb2/library/vendor/Zend/View/Helper/Partial.php(106): Zend_View_Abstract->render('dashlets/defaul...')
#7 [internal function]: Zend_View_Helper_Partial->partial('dashlets/defaul...', Array)
[...]
Der "Director" kann in beiden Konfigurationen Daten (Templates) in die Datenbank schreiben - sowohl auf dem Host, der die DB direkt auf derselben Maschine wie Icinga2/Icingaweb2 und Director betreibt, wie auch auf dem System mit dislozierten Hosts und Diensten - daraus schließe ich, daß kein Problem mit dem IDO Backend besteht.
Der "Director" kommuniziert mit Icinga2 über das "REST API 2" - sofern eine Konfiguration verteilt werden soll. Hier habe ich nur rudimentär - nach Anleitungen mittels Node-Wizard usw., die entsprechenden Konfigurationen auf beiden Systemen vervollständigt und mit "curl" die empfohlenen Tests auf den jeweilen Host gemacht - was auch funktioniert.
Wenn ich mittels "/usr/local/www/icingaweb2/bin/icingacli director host show" mit dem CLI etwas machen möchte, erhalte ich eine Fehlermeldung:
[...]
ERROR: Icinga\Exception\IcingaException in /usr/local/www/icingaweb2/library/Icinga/Cli/Command.php:141 with message: Director is not configured correctly
[...]
Nun, eigentlich ist diese Meldung schon weiterführend, denn sie sagt ja, was Sache ist. Nur: nach nunmehr zwei Tagen stoischem Abgleich und Studium der nicht gerade sehr platformunabhängigkeitsfreundlichen Doku zu "icinga2-director (sehr Linux-lastig) bin ich kurz vor der Verzweiflung.
PHP liefert leider keine Logs, die ich auswerten kann (ich kenne mich mit dieser Skriptsprache nicht aus). Die Logs des Apache werfen weder im Access noch im Error Log etwas aus, die DB protokolliert ebenfalls nichts Auffälliges.
Ich weiß auch nicht, was dem php-Gedöns in icinga2-director fehlen sollte - scheinbar ist ein (erwartetes) Array leer. Nur: wie finde ich heraus, was dem Kameraden fehlt?
Im Netz ist nicht viel zu finden - es gibt wohl einen FreeBSD Anwender, der ein Problem hatte, das sich allerdings nach genauerer Analyse und korrekter API Einrichtung in Wohlgefallen aufgelöst hat. Es trifft nicht auf meinen Fall.
ich prüfe gerade, ob die icinga2 Installation überhaupt korrekt ist - mir scheint, das Frickelpaket "vergißt" einfach die Einrichtung von verzeichnissen bzw. setzt gewisse Rechte nicht oder es wird nicht erläutert, daß bestimmte Dateien sicher gemacht werden müssen und dem Nutzer "icinga" (bzw. dem Nutzer, unter welchem icinga2 läuft) gehören müssen, wie zum Beispiel api-user.conf. Man tappt lange im Dunkeln. ich vermute - wohlwollend - daß es sich um ein relativ kleines Problem handelt, das mich hier wie beschrieben nervt, aber wie war das mit dem berühmten Sandkorn und dem Motor ...
ich danke im voraus für Hilfe ...
Wir betreiben jüngst eine icinga2 Installation, die derzeit auf 12-CURRENT läuft. Zwei Platformen dienen als Testumgebung und sind unterschiedlich in ihrer Topologie: ein Host trägt sowohl die PostgreSQL Datenbank, icinga2 selbst sowie den Apache24 Webserver nebst icingaweb2 und den icinga2-director. Die anderen Umgebung spaltet die wesentlichen Dienste auf jails/hosts auf: Datenbankserver, Webserver, Icinga2 Server. Icingaweb2 und der icinga2-director sind selbstverständlich auf dem Webserver installiert.
Icinga2 arbeitet problemlos. Allerdings laufe ich auf beiden Platformen mit icinga2-director in ein und denselben Fehler, wenn ich das oberste, also "Toplevel" Menü im Icingaweb2 des Modules "Director" aufrufe: es haglet eine "Undefined offset: 0" Fehlermeldung, deren Nachverfolgung in den ersten Zeilen so ausschaut (auf beiden Host identisch):
[...]
#0 /usr/local/www/icingaweb2/modules/director/library/Director/Dashboard/Dashlet/Dashlet.php(233): Icinga\Application\ApplicationBootstrap->Icinga\Application\{closure}(8, 'Undefined offse...', '/usr/local/www/...', 233, Array)
#1 /usr/local/www/icingaweb2/modules/director/library/Director/Dashboard/Dashlet/Dashlet.php(163): Icinga\Module\Director\Dashboard\Dashlet\Dashlet->statSummary(false)
#2 /usr/local/www/icingaweb2/modules/director/library/Director/Dashboard/Dashlet/Dashlet.php(172): Icinga\Module\Director\Dashboard\Dashlet\Dashlet->getSummary()
#3 zend.view:///usr/local/www/icingaweb2/modules/director/application/views/scripts/dashlets/default.phtml(4): Icinga\Module\Director\Dashboard\Dashlet\Dashlet->getEscapedSummary()
#4 /usr/local/www/icingaweb2/library/Icinga/Web/View.php(231): include('zend.view:///us...')
#5 /usr/local/www/icingaweb2/library/vendor/Zend/View/Abstract.php(877): Icinga\Web\View->_run('/usr/local/www/...')
#6 /usr/local/www/icingaweb2/library/vendor/Zend/View/Helper/Partial.php(106): Zend_View_Abstract->render('dashlets/defaul...')
#7 [internal function]: Zend_View_Helper_Partial->partial('dashlets/defaul...', Array)
[...]
Der "Director" kann in beiden Konfigurationen Daten (Templates) in die Datenbank schreiben - sowohl auf dem Host, der die DB direkt auf derselben Maschine wie Icinga2/Icingaweb2 und Director betreibt, wie auch auf dem System mit dislozierten Hosts und Diensten - daraus schließe ich, daß kein Problem mit dem IDO Backend besteht.
Der "Director" kommuniziert mit Icinga2 über das "REST API 2" - sofern eine Konfiguration verteilt werden soll. Hier habe ich nur rudimentär - nach Anleitungen mittels Node-Wizard usw., die entsprechenden Konfigurationen auf beiden Systemen vervollständigt und mit "curl" die empfohlenen Tests auf den jeweilen Host gemacht - was auch funktioniert.
Wenn ich mittels "/usr/local/www/icingaweb2/bin/icingacli director host show" mit dem CLI etwas machen möchte, erhalte ich eine Fehlermeldung:
[...]
ERROR: Icinga\Exception\IcingaException in /usr/local/www/icingaweb2/library/Icinga/Cli/Command.php:141 with message: Director is not configured correctly
[...]
Nun, eigentlich ist diese Meldung schon weiterführend, denn sie sagt ja, was Sache ist. Nur: nach nunmehr zwei Tagen stoischem Abgleich und Studium der nicht gerade sehr platformunabhängigkeitsfreundlichen Doku zu "icinga2-director (sehr Linux-lastig) bin ich kurz vor der Verzweiflung.
PHP liefert leider keine Logs, die ich auswerten kann (ich kenne mich mit dieser Skriptsprache nicht aus). Die Logs des Apache werfen weder im Access noch im Error Log etwas aus, die DB protokolliert ebenfalls nichts Auffälliges.
Ich weiß auch nicht, was dem php-Gedöns in icinga2-director fehlen sollte - scheinbar ist ein (erwartetes) Array leer. Nur: wie finde ich heraus, was dem Kameraden fehlt?
Im Netz ist nicht viel zu finden - es gibt wohl einen FreeBSD Anwender, der ein Problem hatte, das sich allerdings nach genauerer Analyse und korrekter API Einrichtung in Wohlgefallen aufgelöst hat. Es trifft nicht auf meinen Fall.
ich prüfe gerade, ob die icinga2 Installation überhaupt korrekt ist - mir scheint, das Frickelpaket "vergißt" einfach die Einrichtung von verzeichnissen bzw. setzt gewisse Rechte nicht oder es wird nicht erläutert, daß bestimmte Dateien sicher gemacht werden müssen und dem Nutzer "icinga" (bzw. dem Nutzer, unter welchem icinga2 läuft) gehören müssen, wie zum Beispiel api-user.conf. Man tappt lange im Dunkeln. ich vermute - wohlwollend - daß es sich um ein relativ kleines Problem handelt, das mich hier wie beschrieben nervt, aber wie war das mit dem berühmten Sandkorn und dem Motor ...
ich danke im voraus für Hilfe ...