pixel
Select Page

Trick 42 mit dem Director – Jobs in Reihenfolge

by | Sep 22, 2017 | Icinga

Nachdem wir unseren Trick 17 mit dem Director veröffentlichten, schiebe ich Trick 42 direkt hinterher. Wie im Blogpost von Markus beschrieben, sind Schnittmengen aus mehreren Importquellen eine geniale Lösung um beispielsweise Hosts aus mehreren Quellen mit Informationen anzureichern. Konfiguriert man nun eine Vielzahl solcher Importquellen die für die Schnittmenge dienen sollen, bekommt man evtl. im Ablauf gewisse Probleme mit der Reihenfolge.
Zur genauen Erklärung unser Ausgangsszenario:

  • CMDB 1: Quelle für die Basisdaten des Hosts (Name, IP, FQDN, …)
  • CMDB 2: Quelle für den OS-Type (CentOS, OpenSuSE, Debian, …)
  • CMDB 3: Quelle für den Ansprechpartner (Hr. Müller, Hr. Maier, …)

Damit die Hosts aus CMDB 1 angereichert erstellt (Import + Sync) werden können müssen zuerst CMDB 2 und CMDB 3 abgearbeitet werden. Logisch – wenn der OS-Type und der Ansprechpartner des Hosts dem Director nicht bekannt sind wird es mit Hilfe von Trick 17 auch nicht möglich sein den Host aus CMDB 1 mit Daten anzureichern.
Hauptsächlich fällt dieses Problem beim initialen Import + Sync der Daten auf. Je nachdem wie oft sich eure Importquellen ändern kann dies “gar nicht schlimm” (Hr. Müller ist für den Server 3 Jahre zuständig) oder auch “sehr unglücklich” (Ihr importiert die Kontaktdaten einer ständig wechselnden Rufbereitschaft) sein.
Für den Fall das die Reihenfolge der Importquellen wichtig ist gibt es eine denkbar simple Lösung.
Ihr legt für jeden Import und Sync einen Job im Director an…

 

…und notiert euch jeweils die ID des Director Jobs (die Zahl an der letzten Stelle der URL).

Mit Hilfe dieser ID könnt ihr nun die im Director konfigurierten Jobs von der Kommandozeile aus ausführen. Der Job mit der ID 1 (Import Job für CMDB1) kann mit dem Kommando “icingacli director jobs run 1” gestartet werden.
Am Ende bauen wir uns dazu noch ein kleines Skript:

#!/bin/bash
# set paths and vars
ICINGA_CLI=`which icingacli`
JOB_CMD=${ICINGA_CLI}" director jobs run"
# execute jobs
echo "import and sync..."
echo -e "\tcmdb1"
${JOB_CMD} 1
${JOB_CMD} 2
echo -e "\tcmdb2";
${JOB_CMD} 3
${JOB_CMD} 4
echo -e "\tcmdb3";
${JOB_CMD} 5
${JOB_CMD} 6

Und voilà – wir haben die Imports und Syncs in einer Reihenfolge 🙂

Tobias Redel
Tobias Redel
Head of Professional Services

Tobias hat nach seiner Ausbildung als Fachinformatiker bei der Deutschen Telekom bei T-Systems gearbeitet. Seit August 2008 ist er bei NETWAYS, wo er in der Consulting-Truppe unsere Kunden in Sachen Open Source, Monitoring und Systems Management unterstützt. Insgeheim führt er jedoch ein Doppelleben als Travel-Hacker und renoviert, baut und bastelt als Heimwerker an allem was er finden kann.
More posts on the topic Icinga

Die Icinga Repository Subscription

Icinga stellt für Red Hat Enterprise Linux (RHEL), Amazon Linux2 und SUSE Linux Enterprise Server (SLES) betriebssystemspezifische Pakete zur Verfügung, die wie das Icinga Director Branches Modul in der Subscription enthalten sind. Bei der Beratung zu Icinga...

FAQs zur Icinga DB

Nachfolgend möchte ich auf einige Fragen zur Icinga DB eingehen, die uns derzeit bei unseren Kunden begegnen: Was ist die Icinga DB? Icinga DB ist eigentlich ein Sammelbegriff für verschiedene Komponenten der Monitoringlösung Icinga. Vorwiegend bezieht sich Icinga DB...

Mit Icinga und NETWAYS 2023 durchstarten

Das Icinga Team war 2022 äußerst fleißig und wir bei NETWAYS haben somit einiges mit Icinga im Jahr 2023 zu bieten. Hier ein kurzer Überblick, was für eure Icinga Umgebung und die Icinga Community wichtig sein könnte: Icinga DB Die Icinga DB bietet ein komplett neues...

NEU: Icinga Developer Subscription

Icinga bietet seit einiger Zeit eine Subscription für den Zugang zu den Icinga Paketen für Linux Enterprise Umgebungen und neuerdings auch für die Icinga Director Branches an. In diesem Zuge haben Icinga immer wieder Anfragen erreicht, ob nicht auch eine kleinere...