Authorbodo

Ein totes Pferd reiten

Eine angebliche Indianer Weisheit besagt: „Wenn Du entdeckst, dass Du ein totes Pferd reitest, steig ab!”

Hört sich doch so simpel an, oder? Aber statt vom toten Pferd abzusteigen wurden in unserem beruflichen Leben viele Methoden und Strategien – zum Teil bis zur Perfektion – entwickelt, um dem Unausweichlichen doch ausweichen zu können. Kommt Dir die eine oder andere der folgenden Strategien vielleicht bekannt vor?

  1. Wir besorgen uns eine stärkere Peitsche.
  2. Wir sagen: „So haben wir das Pferd schon immer geritten”.
  3. Wir gründen einen Arbeitskreis, um das Pferd zu analysieren.
  4. Wir besuchen andere Orte, um zu sehen, wie man dort tote Pferde reitet.
  5. Wir erhöhen die Qualitätsstandards für den Beritt toter Pferde.
  6. Wir bilden eine Task-Force, um das Pferd wiederzubeleben.
  7. Wir kaufen Leute von außerhalb ein, die angeblich tote Pferde reiten können.
  8. Wir schieben eine Trainingseinheit ein um besser reiten zu können.
  9. Wir stellen Vergleiche unterschiedlicher toter Pferde an.
  10. Wir ändern die Kriterien, die besagen, dass ein Pferd tot ist.
  11. Wir schirren mehrere tote Pferde gemeinsam an, damit wir schneller werden.
  12. Wir erklären: „Kein Pferd kann so tot sein, das wir es nicht mehr reiten können.”
  13. Wir machen eine Studie, um zu sehen, ob es bessere oder billigere Pferde gibt.
  14. Wir erklären, dass unser Pferd besser, schneller und billiger tot ist als andere Pferde.
  15. Wir bilden einen Qualitätszirkel, um eine Verwendung von toten Pferden zu finden.
  16. Wir richten eine unabhängige Kostenstelle für tote Pferde ein.
  17. Wir vergrößern den Verantwortungsbereich für tote Pferde.
  18. Wir entwickeln ein Motivationsprogramm für tote Pferde.
  19. Wir erstellen eine Präsentation in der wir aufzeigen, was das Pferd könnte, wenn es noch leben würde.
  20. Wir strukturieren um damit ein anderer Bereich das tote Pferd bekommt.
  21. Wir senden jemandem das tote Pferd als Geschenk. Geschenke darf man nicht zurücksenden.

Quelle: [leider unbekannt]

automatisch eine VM mit virt-install erstellen

Ab und an benötige ich eine Test VM um ein paar Dinge auszuprobieren.

Dank KVM kann ich das ganze auch ziemlich einfach auf meiner Monsterentwicklungsmaschine lokal machen ohne gleich den Computer anderer Leute (aka Cloud) zu nutzen.
Für bestimmte Sachen möchte ich aber so wenig wie möglich in einem automatischen Prozess eingreifen. In dem Falle … der Erstinstallation mit dem abfragen aller Parameter.

Dafür kann man fai (für debain) oder kickstart (für RedHat / CentOS) nutzen.

Continue reading

systemd, shutdown … What-the-fuck!?

Ich benutze seit Jahren einen Homerouter, der uns als zentraler Druckerservice oder als interner Nameserver zur Verfügung steht.

Auf normaler Hardware hätte ich da jetzt die Haus-und-Hof Distribution gentoo eingesetzt, aber der ist arg schwachbrüstig, also rennt dort ein einfaches debian. Und an sich bin ich damit zufrieden, die Kiste macht alles was sie soll.
Allerdings scheinen sich einige der systemd Spezifika (mal wieder?) anders zu verhalten, wie man es erwartet:
Um Strom zu sparen fuhr der Router jeden Abend gg. 23:00 runter und startete dann gg. 05:00 wieder (meine reguläre Zeit für das aufstehen).
Aus „Gründen“ funktioniert das aber nicht mehr. Selbst mit einem manuellen shutdown -h now war der Router nach ca. 2 Minuten wieder da.

Continue reading

Icinga2 im Docker Container – Warum oder Warum nicht?

Ich betreue jetzt seit Version 2.7.1 Docker Container, die man sich bei Dockerhub herunterladen kann.

Während ich Anfangs auf alpine als Basis setzte (klein und schlank) musste ich in der Zwischenzeit auf debian schwenken.
Die Paketbetreuer bei alpine waren – für meinen Releasezyklus – etwas zu langsam und in letzter Zeit gibt es größere Probleme mit der libc Implementierung (musl-lib), die bei alpine die Basis bildet.
Immer wieder stürzte der icinga2 Prozess ab und ich konnte dem ganzen nicht mit einem Debbuger beikommen. Dazu gibt es einen entsprechenden Thread im Monitoring Portal so wie einen Bugreport bei alpine.

Aber was unterscheidet jetzt meine Container Implementierung von der anderer (zum Beispiel Christoph Wiechert)?
Ich gebe es zu, ich bediene mich ab un an bei Christoph. Sein Container ist gut, auch wenn er CentOS benutzt. ;)

(Vorsicht, jetzt könnte eine Menge Eigenwerbung folgen! ;) )

Mein Container kann aktuell in zwei verschiedenen Flavours laufen:

  1. als Icinga2 Master
  2. als Icinga2 Satellite

Continue reading

Überwachung von Java-Anwendungen: Speichernutzung, Threads und andere JRE-Metriken

Intro

In diesem Blogpost möchte ich kurz anreissen, wie man die Java Runtime Environment (JRE) überwacht.
Es folgt eine Beschreibung, wie man die Leistung einer Java-Anwendung bewerten kann, in dem man den Speicherverbrauch, die Garbage-Collector-Metriken, die Überwachung von Java-Daemon- und User-Threads und andere grundlegende JRE-Metriken analysiert.

Wenn man an einer großen Java-Anwendung arbeitet, ist es wahrscheinlich, dass etwas irgend wann fehlschlägt, sich schlecht benimmt oder dass man eine (überraschende) OutOfMemoryException bekommt.

Und wenn man Java-Anwendung auch als Containerisierten Microservice einsetzt, kann die Überwachung von Java in Docker und Kubernetes neue und unerwartete Herausforderungen mit sich bringen.

Ich werde (leider) ein einigermaßen verständliches ‚Denglisch‘ benutzen, damit die Begrifflichkeiten erhalten bleiben. ;)

Continue reading

Perspektiven

Ich bin jetzt seit ~15 Jahren im Bereich (Unix|Linux)System Administration, Engineering, Architektur unterwegs.
Und wenn man noch mal so 8 Jahre drauf packt, kann man auch Softwareentwicklung dazu packen.
(Puuhhh, meine Wurzeln im Netz gehen tatsächlich bis ins Jahr 1995 zurück.)

Ich habe in der Zeit viel über Betrieb, Automatisierung, Sicherheit und Monitoring gelernt.
Aber auch über das erstellen kleinerer Programme, Scripte oder wie man all seine kleinen Helferlein so nennt (glaubt mir, eine gut gepflegte bash history ist Gold wert!). Continue reading

DevOps über alles?

Noch bevor man ‚DevOps‘ erfunden hatte, hab ich schon so ähnlich gearbeitet.

Halb Entwickler, halb Operations … oder, um Zitate zu bemühen, ‚Meine Hand für mein Produkt‘ oder neumodisch ‚you build it, you run it‘ …

Dabei ist DevOps kein Berufszweig den man erlernen kann, es ist vielmehr eine Philosophie oder ein Arbeitsumfeld auf das man sich einlassen muss.

Continue reading

PlageNoire 2018

Das M’era Luna Festival 2017 … damit fing alles an.
Da wir aktuell, auch aus Rücksicht auf unseren Zwerg, den Festivaltrubel meiden, sind wir auf die Livestreams dieser angewiesen.
Daher sind wir seit 2016 auch fester Bestandteil der sofagebundenen M’era Luna Festival Teilnehmer. :)

Und dabei viel uns die Werbung für das Plage Noire auf.
Ziemlich in der Nähe, es waren explizit Eltern mit Kindern erwünscht und es gab Appartements (ja, wir sind schon in die Jahre gekommen, wir brauchen eine Dusche und ein Bett!)

Spontan entschlossen wir uns daher uns Karten zu besorgen und dem Zwerg sein erstes Festival zu bieten.
Continue reading

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

OSMC 2017 – Automatisiertes und verteiltes Monitoring in einer CI Umgebung

Mein Vortrag auf der OSMC zum Thema Blackbox Monitoring in einer vollautomatischen Continuous Integration Umgebung.

 

Older posts
Mastodon