Categorymonitoring

Der Monitoringstack bekommt ein UI …

APIs sind toll, ich mag APIs!
Allerdings sind diese nicht immer „Enduser“ kompatibel.

Ich arbeite bei CoreMedia seit einiger Zeit an (m)einem Monitoringstack um zu zeigen, was in einem produktiv betriebenen CoreMedia System für eine Bereitschaft umgesetzt werden kann (und sollte).
Dabei ist der ganze Stack so aufgebaut, dass er sich seine Informationen selber besorgt und dem entsprechende Grafanagraphen importiert und Systemchecks für Icinga2 anlegt.

Das ganze funktioniert bei uns in einer Jenkins Pipeline völlig automatisiert seit Monaten sehr zufriedenstellend.
Den Stack habe ich bei der letzten OSMC vorgestellt. (siehe den vorherigen Blogpost)
Continue reading

Auslesen und verarbeiten von MBeans

Es gibt viele Möglichkeiten, die Leistung und den Status eines Java Applikations Clusters zu überwachen.
Aus historischen Gründen ist dabei JMX (Java Management Extensions) weit verbreitet.

Um diese Daten auslesen zu können, gibt es verschiedene Tools, die ich einmal kurz vorstellen möchte:

jmx4perl ist ein Befehlszeilenprogramm für einen einfachen Zugriff auf einen Anwendungsserver.
check_jmx4perl ist ein NRPE Plugin für die Überwachung von Java Anwendungen.
jmxdump ist ein Bestandteil der CoreMedia Toolsuite
jolokia ist ein REST Service, der einen erweiterten Zugriff auf die JMX Daten bietet.
jconsole / jmc sind grafische Frontends, welche direkt mit einem oder mehreren JMX Endpunkten verbunden sein können.
j4psh ist ein Frontend zu JMX::Jmx4Perl. Es bietet eine interaktive Shell für den Zugriff auf die JMX MBeans.
Continue reading

OSMC 2017

Ich war 2015 das erste Mal bei der Open Source Monitoring Conference – kurz OSMC.

Die Vorträge waren ausgezeichnet, die Organisation sauber und sehr professionell.

Leider warf mich eine Männergrippe arg zurück, sodaß ich das 10 Jährige Jubiläum nicht mit feiern konnte, sondern mit Fieber im Hotelbett verbringen musste.

Aber einmal, ist auch keinmal und so war ich sehr erleichtert, dass mir CoreMedia die zweite Teilnahme an der OSMC 2016 ermöglichte.

Aber 2017 wird alles anders …
Continue reading

icinga certificate service

Ich möchte mal eben eine Idee herunter schreiben, die mich seit einiger Zeit beschäftigt und zu der ich – hoffentlich – eine Lösung anbieten kann.

Bei meinem Arbeitgeber beschäftige ich mich – neben Tools & Automatisierung – auch mit dem Thema Monitoring.
Ich habe über die Jahre in dem Bereich ein größeres Wissen aufgebaut und betrachte das, auch mit meiner Erfahrung aus mehreren Jahren 24/7 1st Level Bereitschaft, mit anderen Augen als Entwickler.

Continue reading

IcingaCamp – 2017

Nach dem ich letztes Jahr meinem 2. Stern bei der OSMC bekommen hatte, nahm ich mir vor, diesem ominösem IcingaCamp einen Besuch abzustatten.

Da ich völlig ohne Erwartungen nach Berlin fahren würde, konnte es nur ein guter Tag werden.

In meinem Tran hatte ich natürlich den Timeslot für die EarlyBird Registrierung verschlafen und musste nicht nur tiefer in die Tache greifen sondern auch noch um eine Unterbringung kämpfen.
(Zu meiner Entschuldigung, ich hatte wirklich viel um die Ohren und ich musste „meinem“ Projekt beim Arbeitgeber auch entsprechend Zeit zur Verfügung stellen.)
Zum Zeitpunkt der Konferenz fand wohl auch noch eine parallele Veranstaltung statt, in derem Zuge sämtliche Hotelzimmer in preisliche Regionen abdrifteten, die ich mir privat nicht mehr leisten konnte.
Doch letztendlich hatte alles geklappt und ich konnte sogar noch 2 erste Klasse Tickets für den ICE abstauben.

Berlin. Ist keine Reise wert. Finde ich.
Entweder, man baut schon seit Jahrzehnten an der Substanz oder man bereitet eine großangelegte Abrissaktion vor.
Grau und überall Baulärm. Ich könnte dort nicht leben.
Continue reading

Monitoring Docker Icinga2 Ruby hazzle

In letzter Zeit habe ich mich verstärkt mit Docker als App-Container auseinander gesetzt und damit einen kompletten Monitoring-Stack aufgebaut.
Dieser beinhaltet:

  • collectd
  • graphite
  • grafana
  • icinga2
  • icingaweb2
  • jolokia

Und doch ein paar andere Services drumherum.

Das ganze geschieht im Rahmen eines kleinen Projektes bei meinem Arbeitgeber um den Kunden mal zu zeigen, was so in dem Umfeld machbar ist.
Dabei liegt der Fokus (auch) auf der erstellten (Enterprise) Software.

Da ich dort nicht alles unterbringen kann, was so in meinem Kopf herum geistert, programmiere ich nebenbei und in meiner freien Zeit eine Ruby Klasse um einen sauberen Zugriff auf die Icinga2 API abstrahieren zu können.
Das ganze würde ich dann natürlich in eigenen Projekten weiter verwenden wollen.

Nebenbei beschäftigte ich mit dem dynamischen anlegen von Icinga Satelliten um hier einen Hauch mehr dynamik rein zu bekommen.

Und wenn das alles fertig ist, dann will ich das ganze bei der nächsten OSMC vorstellen.
Und wer mich kennt … das ist ein verdammt großer Schatten für mich!

monitoringlove #6 – icinga2 – Notifications mit Telegram

Wenn man einen icinga2 Service betreibt, möchte man irgendwann auch erfahren, wenn sich ein Status eines Service ändert.
Über Jahre hin etabliert und auch (in Grenzen) ausfallsicher ist und bleibt eine SMS. Vor allem, weil man damit unabhängig vom Netzzuganges seines ISPs bleibt.
Dafür reicht es, ein altes GSM-Handy mit einer SIM Karte auszurüsten und dieses über einen USB-Anschluss mit dem Monitoring-Host zu verbinden.
Die Softwareseitige Integration sollte dann nicht mehr so kompliziert sein.
Das kann man aber nur machen, wenn man dem Server im eigenen Zugriff hat.
Continue reading

monitoringlove #5 – icinga2 und der LiveStatus

Wenn man ein großes Setup betreut in dem häufig eine neue Software ausgerollt wird, wird es vor kommen, dass man Downtimes dynamisch definieren und ausrollen möchte.
Im Idealfall auch nicht per Hand sondern von außen angetriggert … man ist ja ein wenig faul. ;)

Vor Version 2.4.0 von Icinga2 musste man auf die Nutzung von LiveStatus zurückgreifen, das man ja noch von Nagios kennen sollte.

(Wie man den LiveStatus über puppet aktiviert hatte ich bereits in einem vorherigen Blogpost beschrieben)

Mit dem LiveStatus ist man allerdings auf ein Set festgelegter Kommandos beschränkt. Und hierbei ist beschränkt auch ernst zu nehmen.

Für das herumprobieren kann man sich die folgende Beispiele ansehen und damit herumprobieren. Continue reading

monitoringlove #4 – icingaweb2 mit puppet

Während wir unseren Icinga2-Core mittlerweile funktionsfähig haben, wollen wir auch mal einen Blick auf unsere Checks werfen.

Hier hat man dann die Wahl zwischen dem klassischen UI, welches man noch von Nagios oder Icinga1 kennt, oder dem moderneren IcingaWeb2.
Ich empfehle hier IcingaWeb2. Nicht nur wegen dem fancy Aussehen, sondern weil es auch noch ein CLI Tool mitbringt. :)

IcingaWeb2 ist eine PHP basierte Webanwendung.
Wir benötigen also neben dem reinen IcingaWeb Paket auch noch einen Webserver und PHP.
Da ich mich mittlerweile vom Apache abgewandt und vermehrt nginx einsetze, werde ich das auch hier nutzen.

Beim schreiben ist mir aufgefallen, dass dieser eine Part doch umfangreicher als gedacht geworden ist.
Ich werde also ggf. einen zweiten Teil schreiben müssen, da mir selbst ein paar Dinge fehlen.

Falls jemand Anregungen haben sollte, der kann gern die Kommentarfunktion nutzen, oder mir einfach eine EMail schreiben.

Continue reading

monitoringlove #3 – icinga2 checks mit puppet (update)

Aufbauend auf dem vorherigen Teil, möchte ich hier beschreiben, wie man Host- und Servicechecks über puppet definiert und ausrollt.

Das zusammenführen von Host- und Servicechecks ist mittels apply Regel in icinga2 geradezu kinderleicht geworden.
Da haben sich die Jungs echt was tolles ausgedacht!

Aber genug des Smalltalks!
Continue reading

Older posts