Anmerkung | |
---|---|
Anstatt Icinga von Grund auf zu installieren möchten Sie vielleicht ein Paket benutzen, das es möglicherweise für Ihr Betriebssystem gibt. Bitte werfen Sie einen Blick auf die Tabelle der Pakete. Bitte bedenken Sie, dass die Upstream-Pakete evtl. relativ alt sind, so dass die Verwendung von Backports-Paketen ein Weg ist, eine aktuelle Version zu bekommen. Falls Sie aus den Sourcen installieren möchten, dann benutzen Sie bitte die offiziellen Release-Tarballs. |
Wichtig | |
---|---|
Bitte benutzen Sie keine GIT-Snapshots, solange Sie kein Problem haben, das in der aktuellen Entwicklerversion ggf. gelöst ist. |
Diese Schnellstartanleitung ist dazu gedacht, Ihnen einfache Anweisungen zu liefern, wie Sie Icinga innerhalb von 30 Minuten aus dem Quellcode installieren und Ihren lokalen Rechner damit überwachen.
Hier werden keine fortgeschrittenen Installationsoptionen vorgestellt - lediglich die Grundlagen, die für 95% aller Benutzer funktionieren, die anfangen wollen.
Diese Anleitung enthält Anweisungen für drei verschiedene Linux-Distributionen: Fedora, Ubuntu und openSuSE. Ähnliche Distributionen werden wahrscheinlich auch funktionieren, darunter RedHat, CentOS, Debian und SLES.
Wichtig | |
---|---|
Wenn Sie planen, Icinga OHNE IDOUtils zu nutzen, dann lesen Sie statt dessen Abschnitt 2.4, „Icinga-Schnellstart auf Linux“! |
Was dabei herauskommt
Wenn Sie diesen Anweisungen folgen, werden Sie am Ende folgendes haben:
Icinga und die Plugins werden unterhalb von /usr/local/icinga installiert sein
Icinga wird so konfiguriert sein, dass es einige Dinge auf Ihrem lokalen System überwacht (CPU-Auslastung, Plattenbelegung, usw.)
Das klassische Icinga-Web-Interface ist erreichbar unter http://localhost/icinga/
Eine Datenbank, die von Icinga mit Hilfe von IDOUtils gefüllt wird
Während einiger Teile der Installation benötigen Sie root-Zugang zu Ihrer Maschine.
IDOUtils benutzt die libdbi und die libdbi-Treiber für verschiedene Datenbanken. Die Development-Libraries werden ebenfalls benötigt. Die folgenden Beispiele zeigen, wie die IDOUtils mit libdbi für MySQL oder PostgreSQL installiert werden.
Stellen Sie sicher, dass die folgenden Pakete installiert sind, bevor Sie fortfahren.
Apache
GCC-Compiler
C/C++ development libraries
GD-Development-Libraries
libdbi/libdbi-Treiber, eine Datenbank wie z.B. MySQL oder PostgreSQL
Anmerkung | |
---|---|
PostgreSQL: Aufgrund von Änderungen an Insert-Statements funktioniert PostgreSQL 8.1 nicht länger (und ist auch bereits "End-of-life" seit November 2010), also benutzen Sie bitte 8.2 oder besser noch 8.4. String escaping mit PostgreSQL 9.x befindet sich noch in einem experimentellen Stadium. |
Optional
Zu irgendeiner Zeit möchten Sie wahrscheinlich SNMP-basierte Prüfungen verwenden, so dass es eine gute Idee ist, die benötigten Pakete gleich zu installieren. Anderenfalls werden die Plugins nicht kompiliert und sind nicht verfügbar, wenn Sie diese brauchen.
SSL-Verschlüsselung zwischen idomod und ido2db
Wenn Sie SSL-Verschlüsselung verwenden möchten, werden zusätzlich die Pakete openssl und openssl-devel/libssl-dev benötigt!
Anmerkung | |
---|---|
SSL muss auch bei allen idomod-Clients aktiviert werden, sonst gehen Daten verloren!!! |
Oracle-Datenbankunterstützung
Wenn Sie Oracle als RDBMS einsetzen möchten, müssen Sie installieren:
die Oracle Libraries und SDK (zum Beispiel den Oracle Instantclient)
installieren Sie statt des libdbi-Treibers den ocilib-Treiber
Stellen Sie sicher, dass die Libraries in der Path-Variablen enthalten sind. Oder setzen Sie die den Oracle Library Path mit --with-oracle-lib=/path/to/instantclient
Download des ocilib-Treiber von http://orclib.sourceforge.net/ und verweisen Sie beim configure auf Ihre Oracle-Libraries und die Header-Files, z.B. die des Oracle Instant-Client:
#> ./configure --with-oracle-headers-path=/path/to/instantclient/sdk/include \ --with-oracle-lib-path=/path/to/instantclient/ #> make #> make install
Icinga 1.4
Seit Icinga 1.4 wird mindestens Oracle 10gR2 benötigt. Ältere Versionen funktionieren möglicherweise, werden
aber nicht unterstützt. Die Oracle-Skripte wurden geändert, um für Daten, Indexe und LOBs nun unterschiedliche Tablespaces zu
nutzen. Aus diesem Grund gibt es die Notwendigkeit, den Tablespace-Namen anzugeben, den Sie benutzen möchten. Wenn Sie eine kleine
Umgebung haben, dann können Sie für alle "defines" den gleichen Tablespace angeben. Sie müssen das neue Skript
icinga_defines.sql
auf Ihre Bedürfnisse anpassen, bevor Sie das Skript oracle.sql
ausführen. Um Ihnen ein wenig Arbeit abzunehmen, gibt es ein neues Skript create_oracle_sys.sql
, das Ihnen
helfen soll, die benötigten Tablespaces und einen Icinga-Applikations-Benutzer anzulegen, das als SYS ausgeführt werden muss.
Es benutzt außerdem icinga_defines.sql
. Die Erzeugung von Objekten wurde von oracle.sql
in
das Skript create_icinga_objects_oracle.sql
verlagert. Das alte oracle.sql
wurde in ein
"Master"-Skript umgewandelt und enthält per "include" Verweise auf alle anderen Skripte, die im aktuellen Verzeichnis erwartet
werden. Aus diesem Grund sollten Sie sqlplus
in diesem Verzeichnis starten, um oracle.sql
auszuführen. Auf diese Weise erfolgt die Erzeugung von Benutzer und Tablespaces sowie die Erzeugung der Icinga-Tabellen in
einem Schritt. Als ein All-in-one-Beispiel gibt es das neue Skript db/scripts/create_oracledb.sh
. Passen Sie
die Variablen auf Ihre Bedürfnisse an und freuen Sie sich. Wenn Sie es vorziehen, die Schritte als SYS selbst zu erledigen, dann
entfernen Sie den Kommentar vor create_oracle_sys.sql
und stellen Sie sicher, dass Ihr
Icinga-Datenbankbenutzer und die Tabellen existieren und (mindestens) mit den gleichen Rechten definiert sind und dass die
korrekten Einstellungen in icinga_defines.sql
vorhanden sind.
Alle Zeit-/Datumsinformationen werden als lokale Zeitstempel in der Datenbank gespeichert. Als Datentypen werden TIMESTAMP für MySQL, LOCAL TIMESTAMP (0) für Oracle und TIMESTAMP WITH TIME ZONE für PostgreSQL benutzt. IDO2DB wird die Sitzungszeitzone auf UTC setzen und alle Unix-Timestamps (die per Definition UTC sind) als UTC-basierte Werte speichern. Bitte stellen Sie sicher, dass Ihr System Unix-Timestamps als UTC-basierte Werte ausgibt (wie "date -u '+%s'").
Anmerkung | |
---|---|
Stellen Sie sicher, dass Ihre Datenbanksitzung in der gleichen Zeitzone läuft, in der die existierenden Zeit-/Datumsinformationen gespeichert wurden (überprüfen Sie Ihre lokale Zeitzone, z.B. Oracle: "select sessiontimezone from dual;"), wenn Sie das Upgrade-Script laufen lassen. Zusätzlich für Ihre Bequemlichkeit sollten Sie in Oracle das Format der Sitzungszeitstempel auf den Wert zu setzen, den Sie wünschen, z.B. "alter session set nls_timestamp_format='YYYY-MM-DD HH24:MI:SS'; oder etwas ähnliches. Nun können Sie Einträge von verschiedenen Icinga-Installationen in unterschiedlichen Zeitzonen ansehen, die in der gleichen Datenbank gespeichert wurden, und unabhängig davon, von woher Sie darauf zugreifen, werden sie in Ihrer lokalen Zeitzone angezeigt. |
Sie können diese Pakete mit Hilfe der folgenden Befehle installieren (als root oder mit sudo).
Anmerkung | |
---|---|
Unglücklicherweise ändern sich manchmal die Paketnamen zwischen verschiedenen Ausgaben der gleichen Distribution, so dass Sie die Suchoption Ihres Paket-Managers nutzen sollten, falls Sie die Fehlermeldung bekommen, dass eins der Pakete nicht gefunden wurde.
|
Fedora / RedHat / CentOS:
#> yum install httpd gcc glibc glibc-common gd gd-devel #> yum install libjpeg libjpeg-devel libpng libpng-devel
Anmerkung | |
---|---|
ggf. sind libjpeg-turbo bzw. libjpeg-turbo-devel zu installieren |
MySQL:
#> yum install mysql mysql-server libdbi libdbi-devel libdbi-drivers libdbi-dbd-mysql
PostgreSQL:
#> yum install postgresql postgresql-server libdbi libdbi-devel libdbi-drivers libdbi-dbd-pgsql
Debian / Ubuntu:
#> apt-get install apache2 build-essential libgd2-xpm-dev #> apt-get install libjpeg62 libjpeg62-dev libpng12 libpng12-dev
Anmerkung | |
---|---|
Die Zahlen <62/12> können je nach Distribution abweichen |
Anmerkung | |
---|---|
Ab Debian 6.0/Ubuntu 10.10 heißen die Pakete libpng12-0 und libdbi0, Debian 6.0 verwendet zudem libdbi0-dev, Debian 7.0 wird hingegen libdbi-dev benötigen. |
MySQL:
#> apt-get install mysql-server mysql-client libdbi1 libdbi-dev libdbd-mysql
PostgreSQL:
#> apt-get install postgresql libdbi1 libdbi-dev libdbd-pgsql libpq-dev
openSuSE:
Bitte nutzen Sie YaST für die Installation der Pakete gd, gd-devel, libjpeg, libjpeg-devel, libpng, libpng-devel und -optional- net-snmp, net-snmp-devel und perl-Net-SNMP.
Die Nutzung von zypper sollte ebenfalls funktionieren:
#> zypper install gd gd-devel libjpeg libjpeg-devel libpng libpng-devel #> zypper install net-snmp net-snmp-devel perl-Net-SNMP
Anmerkung | |
---|---|
Die devel-Pakete sind ggf. auf den SDK-DVDs zu finden. |
MySQL:
Benutzen Sie yast zur Installation der Pakete für das RDBMS, das Sie verwenden möchten, also "mysql", "mysql-devel" sowie
die libdbi-Pakete "libdbi", "libdbi-devel", "libdbi-drivers" und "libdbi-dbd-mysql" oder alternativ
zypper
#> zypper install mysql mysql-devel libdbi libdbi-devel libdbi-drivers libdbi-dbd-mysql
Bei OpenSuSE 11 (SLES 11) lautet der Name des Packages statt "mysql-devel" nun "libmysqlclient-devel".
PostgreSQL:
Benutzen Sie yast zur Installation der Pakete für das RDBMS, das Sie verwenden möchten, also "postgresql",
"postgresql-devel" und "postgresql-server" sowie die libdbi-Pakete "libdbi", "libdbi-devel" und "libdbi-drivers" oder alternativ
zypper>
.
#> zypper install postgresql postgresql-devel postgresql-server #> zypper install libdbi libdbi-devel libdbi-drivers libdbi-dbd-mysql
Bei alten OpenSuSE-/(SLES) Versionen einschließlich Version 10 ist es ziemlich wahrscheinlich, dass es keine libdbi-Packages gibt, so dass Sie die Sourcen herunterladen und kompilieren müssen. Ersetzen Sie dabei <rdbm> durch Ihr RDBM wie mysql oder pgsql. Bitte beachten Sie, dass der Oracle-Treiber noch nicht funktioniert. Lesen Sie daher den entsprechenden Abschnitt zu ocilib (anstatt libdbi).
Laden Sie die tar.gz-Dateien herunter und entpacken Sie diese
http://libdbi.sourceforge.net/download.html
http://libdbi-drivers.sourceforge.net/download.html
#> tar xvzf libdbi-0.8.3.tar.gz #> tar xvzf libdbi-drivers-0.8.3-1.tar.gz
Installieren Sie die libdbi. Möglicherweise brauchen Sie beim configure weitere Optionen (set --prefix=/usr ... )
#> cd libdbi-0.8.3 #> ./configure --disable-docs #> make #> make install
Installieren Sie die libdbi-Treiber
#> cd libdbi-drivers-0.8.3-1 #> ./configure --with-<rdbm> --disable-docs #> make #> make install
Anmerkung | |
---|---|
Bei den 64-bit-Versionen müssen Sie die Pfade zu den include- und lib-dir-Verzeichnissen explizit angeben: #> ./configure --with-<rdbm> \ --with-<rdbm>-incdir=/usr/include/<rdbm>/ \ --with-<rdbm>-libdir=/usr/lib64/ --disable-docs |
Werden Sie zum root-Benutzer.
$> su -l
Erstellen Sie ein neues Benutzerkonto icinga und vergeben Sie ein Passwort:
#> /usr/sbin/useradd -m icinga #> passwd icinga
Bei einigen Distributionen müssen Sie die Gruppe in einem gesonderten Schritt anlegen:
#> /usr/sbin/groupadd icinga
Damit Sie über das klassische Web-Interface Befehle an Icinga senden können, legen Sie noch eine neue Gruppe icinga-cmd an und fügen Sie den Webbenutzer und den Icingabenutzer dieser Gruppe hinzu.
#> /usr/sbin/groupadd icinga-cmd #> /usr/sbin/usermod -a -G icinga-cmd icinga #> /usr/sbin/usermod -a -G icinga-cmd www-data
(oder www, wwwrun, apache je nach Distribution)
Anmerkung | |
---|---|
Bei einigen usermod-Versionen (z.B. OpenSuSE 11 bzw. SLES 11) fehlt die Option -a. In diesen Fällen kann sie entfallen. |
Wichtig | |
---|---|
Solaris unterstützt nur Gruppennamen bis max. 8 Zeichen, verwenden Sie icingcmd anstelle von icinga-cmd. |
Wechseln Sie in Ihr lokales Source-Verzeichnis, z.B. /usr/src
#> cd /usr/src
Laden Sie die Sourcen von der Icinga Website.
Vergessen Sie nicht die Monitoring Plugins.
Entpacken Sie das Icinga-Archiv
#> cd /usr/src/ #> tar xvzf icinga-1.14.tar.gz #> cd icinga-1.14
Anmerkung | |
---|---|
Dieser absolute Pfad ist gemeint, wenn im Nachfolgenden von '/path/to/icinga-src/' die Rede ist. |
Führen Sie das Icinga-configure-Script aus. Durch die Nutzung des --help-Flags erhalten Sie Hilfe zu den Optionen.
Anmerkung | |
---|---|
Beginnend mit Icinga 1.9 hat sich der Default geändert, so dass die IDOUtils automatisch kompiliert werden, wenn Sie dies nicht explizit verhindern. |
#> ./configure --with-command-group=icinga-cmd
Anmerkung | |
---|---|
Beginnend mit Apache 2.4 hat sich der Standard-Konfigurationsordner von #> ./configure --with-httpd-conf=/etc/apache2/conf-available |
Wichtig | |
---|---|
Das Kompilieren auf Solaris kann wegen unerfüllten Bibliotheksabhängigkeiten von gethostbyname fehlschlagen. Wenn dies der Fall ist, führen Sie folgenden Befehl vor configure aus: #> export LIBS=-lsocket -lnsl |
Anmerkung | |
---|---|
Auch mit PostgreSQL sollten Sie nicht den Parameter |
Mit SSL-Verschlüsselung:
#> ./configure --with-command-group=icinga-cmd --enable-idoutils --enable-ssl
Mit Oracle-Datenbankunterstützung:
#> ./configure --with-command-group=icinga-cmd \ --enable-idoutils --enable-oracle
Wenn Ihre Oracle Libraries nicht in der Path-Variablen enthalten sind, können Sie sie im configure angeben:
#> ./configure --with-command-group=icinga-cmd \ --enable-idoutils --enable-oracle \ --with-oracle-lib=/path/to/instantclient
Wenn Sie die ocilib nicht im Standardpfad (/usr/local) installiert haben, können Sie configure die lib/inc Verzeichnisse angeben:
#> ./configure --with-command-group=icinga-cmd \ --enable-idoutils --enable-oracle \ --with-ocilib-lib=/path/to/ocilib/lib --with-ocilib-inc=/path/to/ocilib/include
Anmerkung | |
---|---|
Wenn Sie von einer Oracle-Datenbank auf ein anderes RDBMS wechseln möchten, dann müssen Sie die IDOUtils erneut kompilieren und installieren! |
#> make distclean #> ./configure --enable-idoutils
Kompilieren Sie den Icinga-Source-Code. Es gibt auch eine extra Option für IDOUtils (make idoutils), wenn Sie nur dieses Module erneut kompilieren möchten. Um mögliche Optionen zu sehen, rufen Sie lediglich "make" auf.
#> make all
Installieren Sie die Binaries, das Init-Script, Beispiel-Konfigurationsdateien und setzen Sie die Berechtigungen für das External-Command-Verzeichnis.
#> make install #> make install-init #> make install-config #> make install-eventhandlers #> make install-commandmode #> make install-idoutils
oder kürzer
#> make fullinstall #> make install-config
Anmerkung | |
---|---|
Ab Icinga 1.5.0 ist |
Anmerkung | |
---|---|
Ab Icinga 1.7.0 werden mit |
Anmerkung | |
---|---|
Installieren Sie die IDOUtils und andere Ereignis-Broker-Module nur mit dem primären Ziel make install. Manuelles Kopieren und Überschreiben des vorhandenen Moduls erzeugt einen Segfault des Icinga-Kerns mit Hilfe von idomod.so, da eine Verwendung einer temporären Kopie explizit verhindert werden soll. Dies ist nützlich für OMD |
Bitte starten Sie Icinga noch nicht - es gibt noch ein paar Dinge zu tun...
Beispiel-Konfigurationsdateien werden durch
#> make install-config
in /usr/local/icinga/etc/ installiert.
Ändern Sie die /usr/local/icinga/etc/objects/contacts.cfg-Konfigurationsdatei mit Ihrem bevorzugten Editor und passen die e-Mail-Adresse in der icingaadmin-Kontaktdefinition an, so dass sie die Adresse enthält, die im Falle von Alarmen benachrichtigt werden soll.
#> vi /usr/local/icinga/etc/objects/contacts.cfg
#> cd /usr/local/icinga/etc #> mv idomod.cfg-sample idomod.cfg #> mv ido2db.cfg-sample ido2db.cfg
Wenn Sie die IDOUtils mit ssl kompiliert haben, aktivieren Sie ssl in der idomod.cfg
mit
use_ssl=1 output_type=tcpsocket output=127.0.0.1
(Passen Sie die IP-Adresse an, wenn sich Ihre Datenbank nicht auf localhost befindet!) und der ido2db.cfg
mit
use_ssl=1 socket_type=tcp
Anmerkung | |
---|---|
Vergessen Sie nicht, alle anderen idomod-Clients auch neu zu kompilieren und auf ssl umzustellen, anderenfalls werden Sie Daten verlieren!!! |
Wichtig | |
---|---|
Unter normalen Umständen gibt es im define module{ module_name ido_mod path /usr/local/icinga/lib/idomod.so module_type neb args config_file=/usr/local/icinga/etc/idomod.cfg } Das bedeutet auch, dass ein entsprechender broker_module-Eintrag nicht aktiviert werden darf! |
Anmerkung | |
---|---|
Wenn Sie wie weiter oben beschrieben das Datenbanksystem neu installiert haben, dann müssen Sie den Datenbank-Server starten,
bevor Sie eine Datenbank anlegen können. Im Falle von MySQL erfolgt der Start z.B. mit |
MySQL:
Anlegen von Datenbank, Benutzer und Berechtigungen:
# mysql -u root -p mysql> CREATE DATABASE icinga; GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga'; quit
Anmerkung | |
---|---|
Ab Icinga 1.8 benötigt der icinga-User zusätzlich die Rechte EXECUTE. |
Importieren des Datenbankschemas für MySQL:
#> cd /path/to/icinga-src/module/idoutils/db/mysql #> mysql -u root -p icinga < mysql.sql
Editieren der DB-Konfigurationsdatei, um die IDOUtils anzupassen
#> vi /usr/local/icinga/etc/ido2db.cfg
db_servertype=mysql db_port=3306 db_user=icinga db_pass=icinga
PostgreSQL:
Anlegen von Datenbank und Benutzer
#> su - postgres $ psql postgres=# CREATE USER icinga; postgres=# ALTER USER icinga WITH PASSWORD 'icinga'; postgres=# CREATE DATABASE icinga; postgres=# \q $ createlang plpgsql icinga;
Beginnend mit PostgreSQL 9.1 ist "createlang ..." obsolet.
Debian:
#> vi /etc/postgresql/8.x/main/pg_hba.conf
Fedora / RedHat / CentOS:
#> vi /var/lib/pgsql/data/pg_hba.conf
Editieren Sie die Konfiguration z.B. wie folgt (dem lokalen Benutzer muss vertraut werden)
# database administrative login by UNIX sockets local all postgres ident # TYPE DATABASE USER CIDR-ADDRESS METHOD #icinga local icinga icinga trust # "local" is for Unix domain socket connections only local all all trust # IPv4 local connections host all all 127.0.0.1/32 trust # IPV6 local connections host all all ::1/128 trust
Neuladen und konfigurieren des Datenbankschemas
#> /etc/init.d/postgresql-8.x reload
#> cd /path/to/icinga-src/module/idoutils/db/pgsql/ #> psql -U icinga -d icinga < pgsql.sql
Editieren der DB-Konfigurationsdatei, um die IDOUtils anzupassen
#> vi /usr/local/icinga/etc/ido2db.cfg
db_servertype=pgsql db_port=5432 db_user=icinga db_pass=icinga
Oracle:
Erstellen Sie ein Datenbank-Schema und eine username/password-Kombination (lesen Sie dazu die Oracle-Dokumentation unter
http://www.oracle.com oder fragen Sie Ihren DBA). Importieren Sie das Datenbank-Schema mit sqlplus (oder Ihrer bevorzugten Methode). Kopieren
Sie module/idoutils/db/oracle/*
nach $ORACLE_HOME und ändern Sie in icinga_defines.sql
die
Werte zu Tablespace-Namen und Benutzerdaten.
#> su - oracle $ sqlplus dbuser/dbpass SQL> @oracle.sql
Editieren Sie das DB-Config-File, um die IDOUtils anzupassen. Denken Sie daran, dass Oracle den DB-Host ignoriert, nutzen Sie statt dessen db_name, um auf //DBSERVER/DBNAME zu verweisen
#> vi /usr/local/icinga/etc/ido2db.cfg
db_servertype=oracle db_port=1521 db_user=icinga db_pass=icinga
Icinga stellt das klassische Web-Interface zur Verfügung ("Classic Web", "die CGIs"). Sie können dieses wie folgt installieren:
#> cd /path/to/icinga-src #> make cgis #> make install-cgis #> make install-html
Wenn Sie (zusätzlich) das neue Icinga-Web installieren wollen, lesen Sie bitte Installation des Web-Interface.
Installieren Sie die Icinga-Web-Konfigurationsdatei im Apache conf.d-Verzeichnis.
#> cd /path/to/icinga-src #> make install-webconf
Anmerkung | |
---|---|
Ab Icinga 1.9 installiert der Befehl 'make install-webconf-auth' zusätzlich die Datei
|
Anmerkung | |
---|---|
Beginnend mit Apache 2.4 (testing-Versionen von Debian / Ubuntu) müssen Sie die Konfiguration aktivieren #> a2enconf icinga |
Legen Sie ein icingaadmin-Konto an, um sich am klassischen Web-Interface anmelden zu können. Merken Sie sich das Passwort, das Sie diesem Konto geben - Sie brauchen es später.
#> htpasswd -c /usr/local/icinga/etc/htpasswd.users icingaadmin
Anmerkung | |
---|---|
Abhängig von der Apache-Version müssen Sie ggf. htpasswd2 verwenden. |
Wenn Sie das Passwort später ändern oder einen weiteren Benutzer hinzufügen möchten, verwenden Sie den folgenden Befehl:
#> htpasswd /usr/local/icinga/etc/htpasswd.users <USERNAME>
Starten Sie Apache neu, damit die Änderungen wirksam werden.
Fedora / RHEL / CentOS:
#> service httpd restart
Ubuntu / openSuSE:
#> service apache2 restart
Debian:
#> /etc/init.d/apache2 reload
Anmerkung | |
---|---|
Prüfen Sie die Implementierung der verbesserten CGI-Sicherheitsmaßnahmen wie hier beschrieben, um sicherzustellen, dass Ihre Web-Authentifizierungsinformationen nicht kompromittiert werden. |
Entpacken Sie die Plugins-Quellcode-Archivdatei.
#> cd /usr/src #> tar xzf nagios-plugins-2.1.tar.gz #> cd nagios-plugins-2.1
Kompilieren und installieren Sie die Plugins.
#> ./configure --prefix=/usr/local/icinga --with-cgiurl=/icinga/cgi-bin \ --with-nagios-user=icinga --with-nagios-group=icinga #> make #> make install
RHEL und ähnliche Distributionen wie Fedora oder CentOS werden mit installiertem SELinux (Security Enhanced Linux) ausgeliefert und laufen im "Enforcing"-Modus. Dies kann zu "Internal Server Error"-Fehlern führen, wenn Sie versuchen, die Icinga-CGIs aufzurufen.
Schauen Sie, ob SELinux im Enforcing-Modus läuft.
#> getenforce
Setzen Sie SELinux in den "Permissive"-Modus.
#> setenforce 0
Damit diese Änderung dauerhaft wird, müssen Sie diese Einstellung in /etc/selinux/config anpassen und das System neustarten.
Statt SELinux zu deaktivieren oder es in den Permissive-Modus zu versetzen, können Sie den folgenden Befehl benutzen, um
die CGIs im Enforcing/Targeted-Modus laufen zu lassen. Der semanage-Befehl wird automatisch Einträge in die Datei
/etc/selinux/targeted/contexts/files/file_contexts.local
einfügen:
#> semanage fcontext -a -t httpd_sys_script_exec_t '/usr/local/icinga/sbin(/.*)?' #> semanage fcontext -a -t httpd_sys_content_t '/usr/local/icinga/share(/.*)?' #> semanage fcontext -a -t httpd_sys_rw_content_t '/usr/local/icinga/var(/.*)?'
Sobald Sie die notwendigen Kontexte definiert haben, müssen die Einträge aktiviert werden.
#> chcon -R /usr/local/icinga/sbin #> chcon -R /usr/local/icinga/share #> chcon -R /usr/local/icinga/var
Einzelheiten finden Sie unter http://www.linuxquestions.org/questions/blog/sag47-492023/selinux-and-icinga-34926/ (englisch).
IDOUtils muss vor Icinga gestartet werden
IDOUtils starten
Fedora / openSuSE/Ubuntu:
#> service ido2db start
Debian:
#> /etc/init.d/ido2db start
IDOUtils beenden
Fedora / openSuSE/Ubuntu:
#> service ido2db stop
Debian:
#> /etc/init.d/ido2db stop
Fügen Sie IDOUtils zu der Liste der System-Services hinzu und sorgen Sie für einen automatischen Start, wenn das System hochfährt (stellen Sie sicher, dass Sie vorher das Init-Script installiert haben).
Fedora / openSuSE:
#> chkconfig --add ido2db #> chkconfig ido2db on
Debian / Ubuntu:
#> update-rc.d ido2db defaults
Icinga starten:
Start von Icinga
Überprüfen Sie die Icinga-Beispielkonfigurationsdateien.
#> /usr/local/icinga/bin/icinga -v /usr/local/icinga/etc/icinga.cfg
Wenn es dabei keine Fehler gibt, starten Sie Icinga.
Fedora / openSuSE/Ubuntu:
#> service icinga start
Debian:
#> /etc/init.d/icinga start
Automatischer Start von Icinga
Fügen Sie Icinga zu der Liste der System-Services hinzu und sorgen Sie für einen automatischen Start, wenn das System hochfährt (stellen Sie sicher, dass Sie vorher das Init-Script installiert haben).
Fedora / openSuSE:
#> chkconfig --add icinga #> chkconfig icinga on
Debian / Ubuntu:
#> update-rc.d icinga defaults
Sie sollten nun auf das klassische Icinga-Web-Interface zugreifen können. Sie werden nach dem Benutzernamen (icingaadmin) und Passwort gefragt, das Sie vorhin angegeben haben.
http://localhost/icinga/
oder
http://yourdomain.com/icinga/
Klicken Sie auf den "Service Detail"-Verweis in der Navigationsleiste, um Details darüber zu erhalten, was auf Ihrer lokalen Maschine überwacht wird. Es wird ein paar Minuten dauern, bis Icinga alle mit Ihrer Maschine verbundenen Services geprüft hat, weil die Prüfungen über eine gewisse Zeit verteilt werden.
Stellen Sie sicher, dass die Firewall-Einstellungen Ihrer Maschine einen Zugriff auf das klassische Web-Interface ermöglichen, wenn Sie von anderen Rechnern darauf zugreifen wollen.
#> iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Die Konfiguration von e-Mail-Benachrichtigungen ist nicht Gegenstand dieser Anleitung. Icinga ist konfiguriert, um e-Mail-Benachrichtigungen zu versenden, aber möglicherweise ist auf Ihrem System noch kein Mail-Programm installiert bzw. konfiguriert. Schauen Sie in Ihre Systemdokumentation oder suchen Sie im Web nach genauen Anweisungen, wie Ihr System konfiguriert werden muss, damit es e-Mail-Mitteilungen an externe Adressen versendet. Mehr Informationen zu Benachrichtigungen finden Sie hier
Glückwunsch! Sie haben erfolgreich Icinga installiert. Ihre Reise in die Überwachung hat gerade begonnen. Sie werden ohne Zweifel mehr als nur Ihre lokale Maschine überwachen wollen, so dass Sie u.a. das folgende Kapitel lesen sollten...
© 1999-2009 Ethan Galstad, 2009-2017 Icinga Development Team, https://www.icinga.com