Installation von Icinga2 mit Icinga Web unter Ubuntu 14.04 LTS
Icinga2 ist nicht im Standard-Repository von Ubuntu vorhanden. Ein zusätzliches Launchpad Repository schafft hier Abhilfe:
Repository für Icinga2 hinzufügen
add-apt-repository ppa:formorer/icinga apt-get update
Icinga2 installieren
Jetzt kann Icinga2 ganz normal mit apt installiert werden:
apt-get install icinga2
Einrichtung des Web-Interfaces mit Icinta Web
Auch hier muss vorher ein zusätzliches Repository hinzugefügt werden:
add-apt-repository ppa:formorer/icinga-web apt-get update
Danach:
apt-get install mysql-server icinga2-ido-mysql
Hier bei der Abfrage nach der Datenbank-Konfiguration mit Yes bestätigen und das (bei der Installation von MySQL) hinterlegte root Passwort für MySQL eingeben.
Während der Installation von icinga2-ido-mysql wird das Feature bei Icinga2 schon aktiviert. Ansonsten:
icinga2-enable-feature ido-mysql service icinga2 restart
Jetzt installieren wir das Icinga Web Paket:
apt-get install icinga-web
Wichtig: Bei der Abfrage für die Datenbank-Konfiguration hier mit No antworten.
Jetzt legen wir die benötigte Datenbank an:
# mysql -u root -p CREATE DATABASE icinga_web; GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga_web.* TO 'icinga_web'@'localhost' IDENTIFIED BY 'icinga_web'; quit
Spielen das Datenbank-Schema ein:
mysql -u root -p icinga_web < /usr/share/dbconfig-common/data/icinga-web/install/mysql
Setzten die Berechtigungen für die Datenbank:
# mysql -u root -p GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga2idomysql.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga'; quit
Jetzt müssen wir noch die Datenbank-Konfiguration für Icinga2 anpassen. Dazu muss in der Datei /etc/icinga-web/conf.d/databases.xml
folgender Bereich auskommentiert werden:
<!-- comment this if you do not want to use debconf with dbconfig-common for the IDO database --> <!-- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="/etc/icinga-web/conf.d/database-ido.xml#xpointer(databases/node())"> <xi:fallback></xi:fallback> </xi:include> -->
Und die Kommentare um folgenden Bereich entfernt werden. Außerdem muss hier die Zeile <ae:parameter name="dsn">mysql://icinga:icinga@localhost:3306/icinga2idomysql</ae:parameter>
geändert werden.
<!-- Overwrite the default database conneciton for icinga data retrieval Make sure to use IcingaDoctrineDatabase, otherwise the use_retained parameter will be ignored EXAMPLE (oracle needs icingaOracle as the db driver) --> <db:database xmlns="http://agavi.org/agavi/config/parts/databases/1.0" name="icinga" class="IcingaDoctrineDatabase"> <ae:parameter name="dsn">mysql://icinga:icinga@localhost:3306/icinga2idomysql</ae:parameter> <ae:parameter name="prefix">icinga_</ae:parameter> <ae:parameter name="charset">utf8</ae:parameter> <ae:parameter name="use_retained">true</ae:parameter> <ae:parameter name="date_format"><![CDATA[YYYY-MM-DD HH24:MI:SS]]></ae:parameter> <ae:parameter name="manager_attributes"> <ae:parameter name="Doctrine_Core::ATTR_MODEL_LOADING">CONSERVATIVE</ae:parameter> </ae:parameter> <ae:parameter name="load_models">%core.module_dir%/Api/lib/database/models/generated</ae:parameter> <ae:parameter name="models_directory">%core.module_dir%/Api/lib/database/models</ae:parameter> <ae:parameter name="caching"> <ae:parameter name="enabled">false</ae:parameter> <ae:parameter name="driver">apc</ae:parameter> <ae:parameter name="use_query_cache">true</ae:parameter> </ae:parameter> </db:database> </xml>
Um Icinga-Web mit der Kommandozeile zu verbinden (um Aktionen aus dem Interface auszuführen), muss noch das Kommandozeilen-Feature aktiviert werden:
icinga2-enable-feature command
service icinga2 restart
Nun in der Datei /etc/icinga-web/conf.d/access.xml
(Zeile 33) den Pfad zu dem Kommandozeilen-Tool hinterlegen:
# vi /etc/icinga-web/conf.d/access.xml <resource name="icinga_pipe">/var/run/icinga2/cmd/icinga2.cmd</resource>
Danach den Cache leeren:
/usr/lib/icinga-web/bin/clearcache.sh
Die Dienste neustarten:
service mysql restart && service icinga2 restart && service apache2 restart
Icinga Web aufrufen
Danach ist die Installation von Icinga2 mit Icinga Web als Interface abgeschlossen. Nun können wir Icinga im Broser aufrufen: http://<IP>/icinga-web
.
Für den Login kann nach der Installation der Benutzername „root“ und das Passwort „password“ verwendet werden. Nachdem Login sollte man das Passwort und ggf. den Benutzernamen ändern.