Icinga 2: Dashing
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
Ü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?
4 Kommentare
Von:
2016-03-08 12:21:50 +0100
Hallo,
das Dashing funktioniert laut deiner Anleitung bei mir nicht richtig.
Ich bekomme das Dashing angezeigt, kann die kacheln verschieben aber in den Kacheln werden keine Werte/Informationen angezeigt.
Hattest du dieses Problem auch mal oder weißt eine Lösung?
Gruß Tim
Von: Marianne M. Spiller
2016-03-08 19:53:22 +0100
Das haben wir tatsächlich auch festgestellt: mein Chef verwendet Firefox, und da sind einfach alle Kacheln grün - und leer (wir nennen es deshalb den "Chef-View"). Ich nutze Chrome, und mit dem geht es.
Hast du das mal probiert?
Viele Grüße!
Von: Ben
2018-01-12 13:10:07 +0100
"Geschmacksache /usr/share"
.....
geht dann aber weiter in /usr/src/dashing-icinga2
Danke wie auch immer für den tollen Artikel.
Von: Marianne M. Spiller
2018-01-14 14:38:11 +0100
Vielen Dank für den Hinweis, ist korrigiert!
Hinterlasse einen Kommentar
Ich freue mich über jeden Kommentar, es sei denn, er ist blöd.
Deshalb sind die Kommentare auf dieser Seite auch generell moderiert.