4b42 Logo

Wissensdatenbank

Benutzerbild
12 August 2015
17 August 2017
11.422

Icinga 2 Monitoring Installation unter Debian 8 Jessie & 9 Stretch

Vorwort


Icinga ist eine System- und Netzwerküberwachungs-Anwendung. Welche Hosts und Services überwacht und alarmiert Sie, wenn sich der Status verschlechtert oder (wieder) verbessert.

Da Icinga ein Fork (eine Abspaltung) von Nagios ist, sind alle Plugins für Nagios vollständig kompatibel. Die Icinga-Entwickler haben sich als Ziel gesetzt die Kompatibilität mit Nagios beizubehalten. Vorteile von Icinga gegenüber Nagios sind über 400 Patches (Nachbesserungen).

Installation


Icinga2


Jessie


Öffnen Sie die Datei mit den Paketquellen und fügen Sie folgende Zeilen ein:
nano /etc/apt/sources.list
deb http://debmon.org/debmon debmon-jessie main

Laden Sie nun den Schlüssel herunter und stufen Sie die Pakete des Mirros als vertrauenswürdig ein:
wget -O - http://debmon.org/debmon/repo.key 2>/dev/null | apt-key add -

Stretch


Öffnen Sie die Datei mit den Paketquellen und fügen Sie folgende Zeilen ein:
nano /etc/apt/sources.list
deb http://packages.icinga.com/debian icinga-stretch main
deb-src http://packages.icinga.com/debian icinga-stretch main

Laden Sie nun den Schlüssel herunter und stufen Sie die Pakete des Mirros als vertrauenswürdig ein:
wget -O - https://packages.icinga.com/icinga.key --no-check-certificate|apt-key add -



Bringen Sie Ihr System auf den neusten Stand:
apt-get update
apt-get -y upgrade

Nach der aktualisierung des Systems können Sie Icinga2 installieren:
apt-get install icinga2

Nun können Sie Icinga2 starten:
/etc/init.d/icinga2 start


Monitoring Plugins


Nach der Installation sollte Sie noch die Monitoring-Plug-Ins installierten:
apt-get install nagios-plugins



Konfiguration


Livestatus


icinga2 feature enable livestatus
Enabling feature livestatus. Make sure to restart Icinga 2 for these changes to take effect.

Damit das Livestatus Feature aktviert wird, müssen Sie Icinga2 neustarten:
/etc/init.d/icinga2 restart

Nun können die Livedaten mit folgendem Befehl ausgelesen werden:
echo -e "GET hosts\n" | unixcat /var/run/icinga2/cmd/livestatus

Wenn Sie diese Daten von einem anderen Host auslesen möchten, öffnen Sie die Datei livestatus.conf und fügen Sie die folgenden Zeilen ein:
nano /etc/icinga2/features-available/livestatus.conf

object LivestatusListener "livestatus-tcp" {
socket_type = "tcp"
bind_host = "127.0.0.1"
bind_port = "6558"
}

oder
object LivestatusListener "livestatus-unix" {
socket_type = "unix"
socket_path = "/var/run/icinga2/cmd/livestatus"
}

echo -e "GET hosts\n" |netcat 127.0.0.1 6558

Nach der Konfigurationsänderung müssen Sie Icinga2 neustarten:
/etc/init.d/icinga2 restart



Prüfbefehle


check_mysql


nano /etc/icinga2/conf.d/commands.conf

object CheckCommand "mysql" {
import "plugin-check-command"
command = [ PluginDir + "/check_mysql" ]
arguments = {
"-H" = "$mysql_address$"
"-P" = "$mysql_port$"
"-u" = "$mysql_user$"
"-p" = "$mysql_pass$"
"-d" = "$mysql_db$"
}

vars.mysql_address = "$address$"
}


swap_by_ssh


object CheckCommand "check_by_ssh" {
import "plugin-check-command"
command = [ PluginDir + "/check_by_ssh" ]
arguments = {
"-H" = "$by_ssh_address$"
"-p" = "$by_ssh_port$"
"-C" = "$by_ssh_command$"
"-l" = "$by_ssh_logname$"
"-i" = "$by_ssh_identity$"
"-q" = {
set_if = "$by_ssh_quiet$"
}
"-w" = "$by_ssh_warn$"
"-c" = "$by_ssh_crit$"
"-t" = "$by_ssh_timeout$"
"-o" = "UserKnownHostsFile=/dev/null"
"-o" = "StrictHostKeyChecking=no"
}
vars.by_ssh_address = "$address$"
vars.by_ssh_quiet = false
}