Icinga 2: Dashing

Diesen Beitrag schrieb ich 8 Jahre und 2 Wochen zuvor; die nachfolgenden Ausführungen müssen heute weder genau so nach wie vor funktionieren, noch meiner heutigen Meinung entsprechen. Behalte das beim Lesen (und vor allem: beim Nachmachen!) bitte stets im Hinterkopf.

Geschätzte Lesezeit: 2 Minuten

Das war ein langer Tag für mich: Boarding in Saarbrücken ab 6h00, Landung in Berlin-Tegel um 7h45, zum Hotel hetzen, zur Location hetzen. Und obgleich ich in der Zeit zwischen 10h00 und 17h30 überwiegend in den Talks saß, habe ich laut Garmin knappe 15.000 Schritte gemacht. Das erklärt die Müdigkeit.

Das war es also: das #icingacamp Berlin 2016! Unterhaltsam, lehrreich, spannend. Ich bin wahnsinnig froh, dass ich dabei sein durfte! In nächster Zeit werde ich mich an die Integration von Icinga 2 und Puppet machen, auch der Director hat es mir sehr angetan. Außerdem ist die Icinga 2 API definitiv etwas, das ich mir näher anschauen muss.

Als kleine Fingerübung – mit müden Beinen auf dem Hotelbett liegend und Berlin-Dokumentationen auf RBB schauend – habe ich mir das Dashing eingerichtet. Und ihr solltet das auch mal tun – es ist nämlich lustig ;-) Dazu musste ich im ersten Schritt einige Abhängigkeiten installieren:

$ apt-get install ruby ruby-dev nodejs
$ gem install bundle
$ gem install dashing
$ bundle install

Jetzt muss das API-Feature in Icinga 2 eingeschaltet und der Dienst anschließend durchgestartet werden:

$ icinga2 api setup
$ service icinga2 restart

Für das Dashing lege ich mir einen eigenen API-User an; ihn füge ich der /etc/icinga2/conf.d/api-users.conf hinzu:

[...]
object ApiUser "dashing" {
  password = "asdf1234"
  client_cn = "icinga2"
  permissions = [ "*" ]
}

Den GitHub-Master ziehe ich mir nach /usr/share – Geschmackssache…

$ cd /usr/share
$ git clone https://github.com/Icinga/dashing-icinga2.git
Cloning into 'dashing-icinga2'...
remote: Counting objects: 166, done.
remote: Total 166 (delta 0), reused 0 (delta 0), pack-reused 166
Receiving objects: 100% (166/166), 446.71 KiB | 56.00 KiB/s, done.
Resolving deltas: 100% (45/45), done.
Checking connectivity... done.

Hier muss eben angelegte API-User eingefüttert werden: dazu im eben ausgecheckten /usr/share/dashing-icinga2 die Datei jobs/icinga2.rb entsprechend anpassen:

[...]
$api_username = "dashing"
[...]
$api_password = "asdf1234"
[...]

Nun kann es für einen ersten Test gestartet werden – und ballert fröhlich die Konsole voll ;-)

$ cd /usr/share/dashing-icinga2
$ ./run.sh 
Thin web server (v1.6.4 codename Gob Bluth)
Maximum connections set to 1024
Listening on 0.0.0.0:3030, CTRL+C to stop

Icinga 2 Dashing Über Port 3030 ist das Interface nun erreichbar, und es eignet sich beispielsweise prima, den Usern einen Überblick zu geben – oder einfach mit der API zu spielen und rumzuprobieren. Und dass in meinem Testlauf so viele Checks auf CRITICAL stehen liegt einfach daran, dass ich lediglich eine geschrumpfte Icinga 2-Konfiguration zu Testzwecken auf dem Laptop habe. Wie fandet ihr die Veranstaltung? Was werdet ihr als nächstes in Angriff nehmen?

Alle Bilder dieser Seite: © Marianne Spiller – Alle Rechte vorbehalten
Hintergrundbild: Bild genauer anschauen – © Marianne Spiller – Alle Rechte vorbehalten

Eure Gedanken zu „Icinga 2: Dashing“

Ich freue mich über jeden Kommentar, es sei denn, er ist blöd. Deshalb behalte ich mir auch vor, die richtig blöden kurzerhand wieder zu löschen. Die Kommentarfunktion ist über GitHub realisiert, weshalb ihr euch zunächst dort einloggen und „utterances“ bestätigen müsst. Die Kommentare selbst werden im Issue-Tracker und mit dem Label „✨💬✨ comment“ erfasst – jeder Blogartikel ist ein eigenes Issue. Über GitHub könnt ihr eure Kommentare somit jederzeit bearbeiten oder löschen.