Skip to content
This repository has been archived by the owner on Sep 20, 2022. It is now read-only.

Anleitung zum Betrieb von Icinga auf einem Uberspace

Notifications You must be signed in to change notification settings

HeikoBornholdt/uberspace-icinga

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 

Repository files navigation

Icinga auf einem Uberspace betreiben

Diese Anleitung beschreibt die Installation von Icinga innerhalb eines Uberspaces.

Installation

Zuerst wird der Quelltext auf dem Uberspace herunterladen und anschließend entpackt:

mkdir ~/src
cd ~/src/
wget https://github.com/Icinga/icinga-core/releases/download/v1.11.7/icinga-1.11.7.tar.gz
tar xzf icinga-1.11.7.tar.gz

cd icinga-1.11.7/
./configure --prefix=/home/$USER/opt/icinga \
--with-icinga-user=$USER \
--with-icinga-group=$USER \
--with-command-user=$USER \
--with-command-group=$USER \
--with-web-user=$USER \
--with-web-group=$USER \
--with-httpd-conf=/home/$USER/opt/icinga/etc/apache2 \
--with-init-dir=/home/$USER/opt/icinga/etc/init.d \
--with-cgiurl=/cgi-bin/icinga \
--disable-idoutils

Trotz des angegebenen Benutzers/der angegebenen Gruppe müssen wir noch händisch die Datei Makefile anpassen.

In Zeile 58, bei INIT_OPTS muss root gegen den eigenen Benutzer-/Gruppennamen ausgetauscht werden.

sed -i "/^INIT_OPTS=/s/root/$USER/g" Makefile

Jetzt müssen noch ein paar Verzeichnisse/Symlinks erstellt werden, damit die Dateien direkt in den vorgesehenen Verzeichnissen landen:

mkdir -p ~/opt/icinga/var/{rw,lock}
mkdir -p ~/opt/icinga/etc/{apache2,init.d}
mkdir /var/www/virtual/$USER/html/icinga
mkdir /var/www/virtual/$USER/cgi-bin/icinga
ln -s /var/www/virtual/$USER/cgi-bin/icinga ~/opt/icinga/sbin
ln -s /var/www/virtual/$USER/html/icinga ~/opt/icinga/share

Jetzt können wir Icinga kompilieren:

make all
make fullinstall

Im Falle einer Neuinstallation muss die Konfigration erzeugt werden:

make install-config

Damit suEXEC die Ausführung der .cgi-Dateien nicht verweigert, müssen deren Zugriffsrechte angepasst werden:

chmod -R 755 /var/www/virtual/$USER/cgi-bin/icinga

Nun muss die Datei /home/$USER/opt/icinga/etc/icinga.cfg angepasst werden:

use_syslog ist dabei auf 0 zu setzen

sed -i '/use_syslog=1/s/1/0/' /home/$USER/opt/icinga/etc/icinga.cfg

/home/$USER/opt/icinga/etc/init.d/icinga benötigt ebenfalls eine Anpassung:

IcingaLockDir ist dabei auf ${prefix}/var/lock/subsys zu setzen.

sed -i '/^IcingaLockDir=/s/=/=${prefix}/' /home/$USER/opt/icinga/etc/init.d/icinga

Nun wird die Weboberfläche von Icinga noch gegen unbefugte Zugriffe abgesichert. Damit deine Zugangsdaten nicht unverschlüsselt übertragen werden, wird SSL forciert:

htpasswd -s -c /var/www/virtual/$USER/html/icinga/.htpasswd icingaadmin
cat <<__EOF__ > /var/www/virtual/$USER/html/icinga/.htaccess
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{ENV:HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

AuthName "Icinga Access"
AuthType Basic
AuthUserFile /var/www/virtual/$USER/html/icinga/.htpasswd
Require valid-user
__EOF__

Die CGI-Skripte von Icinga sollten auch geschützt werden:

cp /var/www/virtual/$USER/html/icinga/.htaccess /var/www/virtual/$USER/cgi-bin/icinga/

Jetzt noch Icinga ausführbar machen:

chmod  x ~/opt/icinga/etc/init.d/icinga 

Icinga selber ist nun fertig installiert und kann auch schon gestartet werden:

  • Icinga-Konfiguration prüfen: ~/opt/icinga/etc/init.d/icinga checkconfig
  • Icinga steuern: ~/opt/icinga/etc/init.d/icinga {start|stop|restart|reload|force-reload|status|checkconfig|show-errors}

Icinga ist nun unter der URL https://USERNAME.HOSTNAME.uberspace.de/icinga/ erreichbar.

Damit Icinga beim Neustart des Servers ebenfalls mitgestartet wird, muss ein daemon eingerichtet werden. Das run-Skript kann dabei wie folgt aussehen:

#!/bin/sh

# These environment variables are sometimes needed by the running daemons
export USER=DEIN_USERNAME
export HOME=/home/DEIN_USERNAME

# Include the user-specific profile
. $HOME/.bash_profile

# Now let's go!
exec ~/opt/icinga/bin/icinga ~/opt/icinga/etc/icinga.cfg 2>&1

Nagios Plugins

Die ganzen Skripte mit den Prüfroutinen (check_xyz) müssen separat installiert werden:

cd ~/src/

wget wget https://www.nagios-plugins.org/download/nagios-plugins-2.0.tar.gz
tar xzf nagios-plugins-2.0.tar.gz

cd nagios-plugins-2.0/
./configure --prefix=/home/$USER/opt/icinga \
--with-nagios-user=$USER \
--with-nagios-group=$USER 

make
make install

NRPE

Wer andere Server via NRPE überwachen möchte benötigt check_nrpe:

cd ~/src/
wget http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz/download -O nrpe-2.15.tar.gz
tar xzf nrpe-2.15.tar.gz

cd nrpe-2.15/
./configure --prefix=/home/$USER/opt/icinga \
--with-nagios-user=$USER \
--with-nagios-group=$USER \
--with-nrpe-user=$USER \
--with-nrpe-group=$USER

make
make install

About

Anleitung zum Betrieb von Icinga auf einem Uberspace

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published