Meine kleine HowTo Ecke
Meine kleine HowTo Ecke

Icinga2 Director – Installation

Inhalte

Der Icinga Director ist ein Tool mit dem sich die Konfiguration Host, Service, Contact, Notification über den Browser erledigen lässt.
Zusätzlich speichert er jede Änderungen in einer Datenbank, so dass man bei einer Fehlkonfiguration einfach auf einen funktionierenden Strand zurück kehren kann.

Vorbereitung

sudo apt-get install php7.0-curl

Installation

Director runterladen

cd /usr/share/icingaweb2/modules
sudo git clone https://github.com/Icinga/icingaweb2-module-director.git director

Der Director benötigt noch weitere Abhänigkeiten (ipl, incubator und reactbundle)

ipl installation:

MODULE_NAME=ipl
MODULE_VERSION=v0.5.0
REPO="https://github.com/Icinga/icingaweb2-module-${MODULE_NAME}"
MODULES_PATH="/usr/share/icingaweb2/modules"
git clone ${REPO} "${MODULES_PATH}/${MODULE_NAME}" --branch "${MODULE_VERSION}"
icingacli module enable "${MODULE_NAME}"

incubator installation:

MODULE_NAME=incubator
MODULE_VERSION=v0.5.0
REPO="https://github.com/Icinga/icingaweb2-module-${MODULE_NAME}"
MODULES_PATH="/usr/share/icingaweb2/modules"
git clone ${REPO} "${MODULES_PATH}/${MODULE_NAME}" --branch "${MODULE_VERSION}"
icingacli module enable "${MODULE_NAME}"

reactbundle installation:

MODULE_NAME=reactbundle
MODULE_VERSION=v0.8.0
REPO="https://github.com/Icinga/icingaweb2-module-${MODULE_NAME}"
MODULES_PATH="/usr/share/icingaweb2/modules"
git clone ${REPO} "${MODULES_PATH}/${MODULE_NAME}" --branch "${MODULE_VERSION}"
icingacli module enable "${MODULE_NAME}"

Datenbank für Director anlegen

sudo mysql -u root -p

danach

CREATE DATABASE icinga2director;
GRANT ALL PRIVILEGES ON icinga2director.* TO 'icinga2director'@'localhost' IDENTIFIED BY 'icinga2directorpw';
FLUSH PRIVILEGES;
EXIT

nun wird die Datenbankstruktur angelegt

mysql -u icinga2director -p icinga2director < /usr/share/icingaweb2/modules/director/schema/mysql.sql

icinga API aktivieren

sudo icinga2 api setup
information/cli: Generating new CA.
information/base: Writing private key to '/var/lib/icinga2/ca//ca.key'.
information/base: Writing X509 certificate to '/var/lib/icinga2/ca//ca.crt'.
information/cli: Generating new CSR in '/var/lib/icinga2/certs//ubuntu.csr'.
information/base: Writing private key to '/var/lib/icinga2/certs//ubuntu.key'.
information/base: Writing certificate signing request to '/var/lib/icinga2/certs//ubuntu.csr'.
information/cli: Signing CSR with CA and writing certificate to '/var/lib/icinga2/certs//ubuntu.crt'.
information/pki: Writing certificate to file '/var/lib/icinga2/certs//ubuntu.crt'.
information/cli: Copying CA certificate to '/var/lib/icinga2/certs//ca.crt'.
information/cli: Adding new ApiUser 'root' in '/etc/icinga2/conf.d/api-users.conf'.
information/cli: Enabling the 'api' feature.
Enabling feature api. Make sure to restart Icinga 2 for these changes to take effect.
Done.

Now restart your Icinga 2 daemon to finish the installation!

bevor wir den Icinga Dienst neustarten, passen wir noch ein paar Config-Dateien an.

Config-Dateien anpassen

  • /etc/icinga2/conf.d/api-users.conf
object ApiUser "director" {
  password = "R3Ueyl4 generiere hier einen langen zufälligen String AkbjEX9YLCM"
  permissions = [ "*" ]
}
  • /etc/icinga2/constants.conf
/* Secret key for remote node tickets */
const TicketSalt = "OyysbMw5INfwo3rvc49iQiI1Bb4 hier wieder etwas einzigartiges pNGgmY08bjfYD1VkGLhpMYb"
  • /etc/icinga2/zones.conf
object Zone "director-global" {
        global = true
}

nun können wir den Dienst Neustarten

sudo service icinga2 restart

Nun wird eine weitere Ressource im Icinga-Webinterface angelegt

Im Anschluss können wir das Director-Modul aktivieren.

Nachdem das Modul aktiviert ist kann man über den Reiter Configuration die gerade angelegte Ressource zuweisen.

Bei den Kickstart Assistent tragen wir folgende Werte ein:

  • Name des Endpoints: Name der CA die beim Aufruf von icinga2 api setup  verwendet wurde
  • Icinga-Host: localhost
  • Port: 5665
  • API-Benutzer: director
  • Passwort: das generierte Passwort aus /etc/icinga2/conf.d/api-users.conf

Im Anschluss kann der Import ausgeführt und die Konfiguration gespeichert werden.

Aktualisierung des Directors

mit dem folgenden Scriptt lässt sichd er Director einfach auf den „latest stable Release“ bringen

cd /usr/share/icingaweb2/modules/director
git fetch --tags
latestTag=$(git describe --tags `git rev-list --tags --max-count=1`)
git checkout $latestTag

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

27 Gedanken zu “Icinga2 Director – Installation”