# ConSol Monitoring > The ConSol monitoring portfolio ## Releases -------------------------------------------------------------------------------- title: "Das war der Open-Source-Monitoring-Workshop 2025" date: "2025-07-05" -------------------------------------------------------------------------------- ## Spoiler: Schee war's Das 16. Treffen der deutschsprachigen Open-Source-Monitoring-Community fand am 2. und 3. Juli in München statt. Gastgeber war die [collaboration Factory GmbH](https://www.cplace.com/), die ihren Loft in der neuen Hopfenpost am Hauptbahnhof (sogar mit Tribüne) zur Verfügung stellte. Beziehungen muss man haben... Der Workshop brachte wie immer Monitoring-Admins und Software-Autoren zusammen, die sich in ihren Vorträgen über neue Entwicklungen und Anwendungen in die Karten schauen lassen. In München bieten sich natürlich Biergartenbesuche zum geselligen Austausch an, auch davon wurde mehrmals Gebrauch gemacht. --- ## Tag 1 - 2. Juli - 34,3 °C Nach der Begrüßung der ca. 50 Teilnehmer folgte die Keynote von Marco Pasti von der collaboration Factory GmbH. Er stellte **cplace** vor, das Flaggschiff des Unternehmens, das sich zunehmend auch als Bezeichnung für die gesamte Firma etabliert. Basierend auf einem flexiblen Datenmodell wird cplace von namhaften Konzernen für Projekt-, Portfolio- und Ressourcenplanung eingesetzt. Marco erläuterte, wie cplace durch drei Schichten unterschiedlicher Komplexität an beliebige Szenarien angepasst werden kann: - **No-Code**: Konfigurationseinstellungen und mitgelieferte Widgets ermöglichen einfache Anpassungen ohne Programmierkenntnisse. - **Low-Code**: Ergänzung der Basissoftware mit JavaScript-Funktionen, z.B. für Prozessautomatisierung und Datenimport. - **Pro-Code**: Implementierung gänzlich individueller Features direkt im Java-Code von cplace, z. B. für nicht standardmäßige API-Abfragen und Anbindungen von Fremdsystemen. Die Software kann On-Premise, aber der Trend geht klar zu gehosteten Installationen, denn der Betrieb der Plattform durch die cplace-Kunden selbst bedeutet für diese Aufwand in Form von Zeit und Hardware und geht zu Lasten des Kerngeschäfts. Man merkte, dass bei cplace Technikbegeisterung herrscht, genau wie bei den Workshopteilnehmern. --- **Softwareentwicklung in einem Open-Source-Unternehmen - Blerim Sheqa, NETWAYS** Blerim Sheqa von NETWAYS gab Einblicke in die Softwareentwicklung in einem Open-Source-Unternehmen. NETWAYS lagerte nach dem Fork von Icinga die Entwicklung in ein eigenes Unternehmen aus. Blerim erzählte von der Herausforderung, individuelle Kundenwünsche in Benefits für die Gesamtheit der Anwender umzuwandeln und sich dem Prinzip „wer zahlt schafft an“ zu verweigern, um glaubhaft zu bleiben. Die Balance zwischen Kundenwünschen und Community-Interessen zu halten ist nicht leicht. Blerim unterstrich, was man nicht oft genug betonen kann: Open-Source ist gratis, aber nicht kostenlos. Irgendjemand muss das ja alles entwickeln und supporten und hätte am Monatsende gern ein Gehalt auf dem Konto. --- **Monitoring bei cplace - Sebastian Weitzel, cplace** Sebastian Weitzel, unterstützt von Martin Rauch und Frank Büttner, alle drei von cplace, stellte die Herausforderungen und die Erkenntnisse beim Monitoring der Plattform vor. Der Vortrag zeigte, wie wichtig eine enge Zusammenarbeit zwischen Entwicklung und Betrieb ist. An mehreren Beispielen wurde verdeutlicht, wie das Bereitstellen von Metriken durch die Applikation hilft, die Performance zu verbessern und Fehlern auf die Spur zu kommen. Insbesondere als Anbieter einer gehosteten Applikation as-a-service hilft Monitoring, Probleme bei Softwareupdates zu erkennen, bevor dieses auf alle Kundeninstallationen ausgerollt wird. ![Monitoring cplace](monitoring-cplace.jpg) --- **Mittagessen im Augustiner Biergarten** Das Foto sagt wohl alles. Es war ein ziemlich heißer Sommertag. ![Augustiner Biergarten](mittag-2-7.jpg) --- **Umbrella Monitoring - Jens Michelsons, Allgeier** Jens Michelsons, Produktmanager von openITCOCKPIT, ließ Bastlerherzen höher schlagen. Er monitort sein Balkonkraftwerk wie andere ihr Rechenzentrum, mit detaillierten Metriken und Dashboards. Dazu zapft er die Api seines Home Assistant mit openITCOCKPIT an. Balkone sind weit verbreitet, Balkonkraftwerke mittlerweile auch immer mehr, aber wer Monitoring-Know-How besitzt, kann mehr draus machen. Was dem einen die Geranienkästen, sind dem anderen die Dashboards. Jens hatte am Abend viele neugierige Fragen zu beantworten. --- **Cloud-Monitoring bei einem Elektrokonzern - Ulrike Klusik, ConSol** Ulrike Klusik präsentierte eine beeindruckende Monitoringplattform, die sie bei einem großen deutschen Elektrokonzern aufgebaut hat. Applikationen, die in beliebigen EKS-Clustern deployed werden, können diese ohne großen Aufwand nutzen. Operators erstellen dazu die nötigen Ressourcen in den Kunden-Deployments, um Metriken und Logs zu einem hochverfügbaren Loki- und VictoriaMetrics-Cluster des Monitoring-Teams zu senden. Die Plattform basiert zu 100% auf Open-Source-Komponenten (läuft auf AWS, vermeidet aber dessen teure Builtin-Produkte) und nimmt Kunden das Problem, sich selbst um einen Langzeitspeicher und Guis für ihre Monitoringdaten kümmern zu müssen. Wie immer, wenn Ulrike Einblick in ihre Setups gibt, klappten die Kinnladen runter. ![Ulrike@Siemens](ulrike-siemens.jpg) --- **Grußwort vom CEO - Dr. Rupert Stuffer, cplace** Nach Ulrike Klusiks Vortrag sorgte Dr. Rupert Stuffer, CEO von cplace, für einen herzlichen Moment. Er war in seinem Büro auf die vielen Menschen aufmerksam geworden, die sich quasi in seinem Wohnzimmer breit gemacht hatten. Er ließ es sich nicht nehmen, ein paar wertschätzende Worte an die Teilnehmer zu richten. Er hatte wohl gespürt, daß es sich um Leute handelte, die sich getroffen hatten, um durch offenen Austausch unter Gleichgesinnten neue Ideen zur Verbesserung ihrer Arbeit mitzunehmen. ![Dr. Rupert Stuffer](rupert.jpg) --- **Monitoring bei der Freiwilligen Feuerwehr München - Basti Schubert** Basti Schubert, beruflich Solutions Engineer bei Grafana, engagiert sich seit frühester Jugend bei der Freiwilligen Feuerwehr München, wo er die EDV-Infrastruktur betreut. Sein Vortrag fokussierte auf einfache, nachvollziehbare und robuste Setups, die mit wenig Aufwand wartbar sind. Nachvollziehbar, da all das ehrenamtlich in der knappen Freizeit gemacht wird. Beeindruckend war, wie Basti eine IT-Infrastruktur aufgebaut hat, welches nicht mal Berufsfeuerwehren mit zigfachem Budget hinbekommen. --- **Lightning Talk: Wie man einen Synthetic Test mit dem Robot Framework entwickelt - Simon Meggle, elabit** Simon erzählte die Geschichte von armen Rudi, der für das Beschwerdeformular eines Webauftritts verantwortlich ist, bei dem etwas faul ist. Immer wieder kommt es vor, daß Beschwerden nach dem Absenden im Nirvana verschwinden. Eigentlich sollten sie alle in einer Liste im Admin-Webinterface sichtbar sein. Rudis Chef setzt ihn stark unter Druck, aber Rudi findet Hilfe in Form des Robot Frameworks. Mit diesem kann man auch ohne tiefgreifende Programmierkenntnisse sog. synthetische Tests erstellen. Rudi schreibt einen Test, der einen wütenden Kunden simuliert, welcher eine Beschwerde abschickt und sodann prüft, ob sie in der Admin-GUI angekommen ist. Mit derlei Scripts lassen sich webbasierte Interaktionen rund um die Uhr automatisiert ausführen, um Fehlern auf die Spur zu kommen. --- Am Ende des ersten Tages schlug beim Verlassen der Neuen Hopfenpost erneut die erbarmungslose Sommerhitze zu. Wir marschierten Richtung Löwenbräukeller am Stiglmairplatz, wo das Bier in ausgedörrte Kehlen rann und dabei ein Geräusch verursachte, das so ähnlich wie „coshsh“ klang. Ich kann die Schweinshaxn dort empfehlen. ## Tag 2 - 3. Juli - 23 °C --- **Netdisco und Icinga im Team - Hajo Kessener, Uni Hannover** Hajo Kessener, ein IT-Urgestein von Leibniz Universität Hannover IT Services, präsentierte, wie er die Netzwerklandschaft der Universität mit Netdisco automatisch kartographiert. Hajo pumpt anschließend per Skript diese Daten, aufbereitet als Hosts und Services, zum Icinga-Director, um sein Monitoring stets aktuell zu halten. Sein Ansatz zeigt, wie Open-Source-Tools kombiniert werden können, um komplexe Netzwerke zuverlässig zu überwachen. Netdisco findet alle IP-Adressen, bohrt dann tiefer und kann mit Hilfe der Mac-Adressen sagen, wer mit wem kommuniziert bzw. welches Gerät an welchem Switch/Controller angeschlossen ist. Mit Hilfe solcher Informationen lassen sich sogar vermisste oder auch geklaute Endgeräte aufspüren. Eine weitere Erkenntnis nach Zuruf aus dem Publikum: "Python ist älter als Perl". Ich hatte mich gefreut, dachte "Wenn mir nochmal einer blöd kommt...". Genauere Recherchen belegen aber, daß leider doch Perl die ältere Sprache ist. (Es gibt Spekulationen, daß Python anfangs intern und undokumentiert entwickelt wurde und mindestens so alt ist wie Perl, Belege dafür gibt es aber nicht) --- **Prometheus und SNMP - Gerhard Laußer, ConSol** Ich wollte ursprünglich zeigen, wie Netzwerkgeräte vorab auf bestimmte Mibs/Tables/OIDs gescannt werden, um Module für den snmp_exporter zu erstellen, die nur die nötigsten SNMP-Walks/Gets ausführen. Leider scheiterte die Demo: Der verwendete SNMP-Simulator benötigte 15 Sekunden pro Request und war unbrauchbar. Plan B, ein Setup zu zeigen, bei dem Windows-Eventlogs mit Alloy an einen Loki gesendet werden, scheiterte an fehlendem Nested KVM auf Hetzner-VMs. Plan C, dasselbe mit Linux-Logs zu zeigen, scheiterte am Vortragstag um 02:00 morgens, da der Linux-Server ein Container mit SNClient als Prozess 1 und ohne Journald – und somit ohne Logs – war. (Klar hätte man etwas mit loki.source.file basteln können, aber das hätte insgesamt zu wenig Substanz gehabt) Nachdem die Demo-Pläne nicht funktionierten, entschloss ich mich dazu, das wenige zu zeigen, das entstanden war und ansonsten ohne festgelegtes Ziel und Fokus zu improvisieren. Tatsächlich entstand eine überraschend informative Plauderei mit dem Publikum, unterstützt von Sören und Basti, bei der die Zeit im Nu verging. Ein Appell von Basti, den man im Hinterkopf behalten sollte: "Finger weg von Streaming Telemetry!" --- **Mittagessen im Augustiner Biergarten** Wie schon am Vortag gingen wir wieder zum Augustiner, diesmal bei sehr angenehmen Temperaturen. Angesichts der üppigen Portionen gab es große Augen. ![Augustiner Biergarten](mittag-3-7.jpg) --- **Icinga Notifications - Eric Lippmann, Icinga** Eric Lippmann, CTO von Icinga, stellte „Icinga Notifications“ vor, eine Lösung für die Konfiguration von Benachrichtigungen, die außerhalb des Monitoring-Cores stattfindet. Die Einrichtung von Kontakten, Eskalationen, Bereitschaften und Zeiten ist oft aufwendig, erfordert manchmal Neustarts und ist für Anwender schwer selbstständig umzusetzen. Icinga Notifications bietet eine GUI, in der Benutzer einfach selbst festlegen können, wer, wie, wann und bei welchen Störungen benachrichtigt wird. --- **Lightning Talk: Performance Data Graphs - Thilo Wening, NETWAYS** Zum Abschluss des zweiten Tages präsentierte Thilo Wening eine Alternative zu den eingebetteten Grafana-Panels in Icinga Web, welche sich in einem IFrame befinden müssen und zu denen die Authentifizierung durchgereicht werden muss. Das Web-Modul Performance Data Graphs umgeht diesen Schritt und bietet eine direkte und leichtgewichtige Integration in die Gui. --- **Fazit** Der 16. Open-Source-Monitoring-Workshop 2025 hat viel Spaß gemacht und viel Know How zusammengebracht. Wir sehen uns im nächsten Jahr! [Read more](https://omd.consol.de/blog/2025/07/05/das-war-der-open-source-monitoring-workshop-2025/) ----------------------------------------------------------------------------------- title: "Die Agenda für den Open-Source-Monitoring-Workshop 2025" date: "2025-06-26" -------------------------------------------------------------------------------- ## Vortag - 1.7.25 - **18:00 - 22:00** **Vorabendtreffen im Parkcafe** ## Workshop Tag 1 - 2.7.25 - **09:00 - 09:30** **Eintreffen/Registrierung** - **09:30 - 10:00** **Begrüßung und Keynote** - **10:00 - 10:45** **Softwareentwicklung in einem Open-Source-Unternehmen** - Blerim Sheqa, Icinga - **10:45 - 11:00** **Pause** - **11:00 - 11:45** **Monitoring bei cplace** - Sebastian Weitzel, cplace - **11:45 - 11:50** **Ankündigung Mittagessen und Wegbeschreibung** - **11:50 - 13:15** **Mittagessen im Augustiner Biergarten** - **13:15 - 14:00** **Umbrella Monitoring** - Jens Michelsons, it-novum - **14:00 - 14:45** **Cloud-Monitoring bei einem großen Elektrokonzern** - Ulrike Klusik, Consol - **14:45 - 14:55** **Pause** - **14:55 - 15:40** **Monitoring bei der Freiwilligen Feuerwehr München** - Basti Schubert - **15:40 - 16:00** **Lightning Talks...** - **18:00 - 22:00** **Löwenbräukeller** ## Workshop Tag 2 - 3.7.25 - **09:00 - 09:15** **Eintreffen** - **09:15 - 10:00** **Netdisco2 und Icinga im Team** - Hajo Kessener, Leibnitz Universität Hannover - **10:00 - 10:45** **Prometheus und SNMP** - Gerhard Laußer, Consol - **10:45 - 11:55** **Pause** - **10:55 - 11:40** **Icinga Notifications** - Eric Lippmann, Icinga - **11:40 - 13:10** **Mittagessen im Augustiner Biergarten** - **13:10 - 14:10** **Lightning Talks...** - **14:10 - 00:00** **Resümee** [Read more](https://omd.consol.de/blog/2025/06/26/die-agenda-f%C3%BCr-den-open-source-monitoring-workshop-2025/) ----------------------------------------------------------------------------------- title: "Mein Besuch beim openITCOCKPIT Community Meetup 2025 in Fulda" date: "2025-06-06" -------------------------------------------------------------------------------- ### Mein Besuch beim openITCOCKPIT Community Meetup 2025 in Fulda Am 6. Juni 2025 blicke ich zurück auf das [**openITCOCKPIT Community Meetup**](https://it-services.it-novum.com/termine/openitcockpit-community-meetup-2025/) in Fulda, an dem ich auf Einladung von it-novum teilgenommen habe – eine interessante Veranstaltung für Monitoring-Profis. Wir bei ConSol setzen auf unsere Open Monitoring Distribution, aber der Austausch mit der „Konkurrenz“ war spannend, denn ohne Scheuklappen lassen wir uns gegenseitig in die Karten schauen. Hier meine Eindrücke von Dienstagabend und Mittwochvormittag. #### Dienstagabend: Netter Start im Brauhaus Wiesenmühle Am Dienstag, den 3. Juni, trafen wir uns im Brauhaus Wiesenmühle in Fulda. Bei Bier und Essen – in Fulda isst man „Rucksack“, das wusste ich nicht – sprachen wir über Arbeitsalltag, Homeoffice und Projekte und stellten fest: Ob ConSol/OMD, Netways/Icinga, it-novum/openITCOCKPIT oder OpenNMS, unsere Themen ähneln sich, sei es Skalierung, Integration oder Performance. Das Beisammensein war angenehm, der Zusammenhalt der Community spürbar. Danke an it-novum für die Gastfreundschaft! {{< figure src="./wiesenmuehle.jpeg" width="50%" alt="Gravel Calls" class="left" >}} #### Mittwoch Vormittag: Informativer Round Table Der Mittwochvormittag, den 4. Juni, fand in einem beeindruckenden Aufnahmestudio statt, das it-novum mit einem Green Screen ausgestattet hatte – man merkte, dass sie ordentlich technischen Aufwand betreiben, um solche Events professionell zu übertragen. Zuerst präsentierte Jens Michelsons den **Live-Release von openITCOCKPIT V5** mit neuen Features – ein solider Start, und der Chat war aktiv. Danach kam der **Monitoring Round Table**, für mich das Highlight. Da saßen wir: Eric Lippmann, der CTO von Icinga, Ronny Trommer von OpenNMS, ich von ConSol und Markus und Jens von it-novum. Wir sind Konkurrenten, aber keine Rivalen. Wir tauschten uns über Themen wie CMDB, Cloud, Plugins aus und kamen überein, dass Autodiscovery zu Problemen führen kann und eine solide Datenbasis als Grundlage für das Monitoring einen vor unangenehmen Überraschungen schützt. Konfigurationen generieren tun wir alle, jeder hat da sein bevorzugtes Tool, um Datenquellen anzuzapfen. Ein weiterer Punkt, bei dem wir uns einig waren: Cloud-Umgebungen, speziell Kubernetes und Co., in ein Host-Service-Korsett zwingen zu wollen, ist ein Unding. Deshalb stellen wir neben unsere bewährten statusgetriebenen Monitoring-Cores üblicherweise Prometheus, dann wird’s in diesem Umfeld wieder stimmig. Unsere Kundenprojekte ähneln sich, und die Kooperation passt zum Open-Source-Geist. Respekt an Eric, Ronny und die anderen – das war ein guter Austausch unter Leuten, die Monitoring nicht nur als Job sehen, sondern mit Begeisterung und Herzblut bei der Sache sind, angetrieben, unseren Kunden die beste Umgebung hinzustellen. {{< figure src="./roundtable.jpeg" width="50%" alt="Gravel Calls" class="left" >}} Es folgten zwei Vorträge, der API-Deep-Dive mit Markus Stollwerk und die Modulentwicklung mit Jan Gleim. Für jemanden, der das Innenleben von openITCOCKPIT nicht so gut kennt wie ich, war deutlich erkennbar, welcher Entwicklungsaufwand da betrieben wird. #### Mein Fazit Der Dienstagabend im Brauhaus Wiesenmühle war ein netter Auftakt, und der Round Table hat gezeigt, wie fair wir in der Monitoring-Community zusammenarbeiten – trotz unterschiedlicher Firmen stehen wir vor ähnlichen Herausforderungen in unseren Projekten, haben mehr Gemeinsamkeiten bei der Umsetzung und den Projektumgebungen als Unterschiede, die rein technisch durch unsere verschiedenen Monitoring-Plattformen bedingt sind. Wer diese Atmosphäre selbst erleben will, für den haben wir demnächst zwei Tage voller Vorträge und Fachsimpelei: Der **Open-Source-Monitoring-Workshop 2025** wartet auf euch – meldet euch hier an: https://eveeno.com/osmw2025. [Read more](https://omd.consol.de/blog/2025/06/06/mein-besuch-beim-openitcockpit-community-meetup-2025-in-fulda/) ----------------------------------------------------------------------------------- title: "Die Anmeldung für den Monitoring-Workshop 2025 ist geöffnet" date: "2025-04-23" -------------------------------------------------------------------------------- Die Registrierungsseite für den Workshop 2025 ist offen: [Open-Source-Monitoring-Workshop 2025](https://eveeno.com/osmw2025). Anmelden! Die ersten Vorträge stehen auch schon fest: * Netdicso und Icinga2 im Team, Discovery und Provisionierung von Netzwerkgeräten im Monitoring - Hajo Kessener, Leibnitz Universität Hannover * Cloud-Monitoring bei einem großen deutschen Elektrokonzern (VictoriaMetrics, Loki, Alloy, kube-prometheus, eks-cluster) - Ulrike Klusik, ConSol * Prometheus und SNMP, MIB Discovery und Generierung von Konfigs für den snmp_exporter - Gerhard Laußer, ConSol * Monitoring in der cplace-Cloud, Zusammenarbeit zwischen Cloud Operations und SW-Entwicklung zur Definition praxisnaher Metriken - Sebastian Weitzel, cplace * Monitoring bei der Freiwilligen Feuerwehr München (Prometheus, Alertmanager und Grafana on Top) - Basti Schubert, Grafana * Softwareentwicklung in einem Open-Source Unternehmen - Blerim Sheqa, Icinga * Umbrella Monitoring – Integration von Systemen mittels APIs am Beispiel von Smart Home - Jens Michelsons, it-novum Weitere Referenten sind willkommen. Schlagt eure Präsentation im Channel **#themen** des [monitoring-portal Discord Servers](https://discord.gg/jDfPZ63FcJ) vor. Dauer eine halbe bis dreiviertel Stunde für reguläre Vorträge, zehn Minuten für Lightning Talks, egal. Hauptsache Monitoring. Erzählt, was ihr so treibt, wie ihr Probleme gelöst habt, woran ihr bastelt. [Read more](https://omd.consol.de/blog/2025/04/23/die-anmeldung-f%C3%BCr-den-monitoring-workshop-2025-ist-ge%C3%B6ffnet/) ----------------------------------------------------------------------------------- title: "SNClient 0.33 was released" date: "2025-04-11" -------------------------------------------------------------------------------- A new version of SNClient was released. ### Breaking Changes * none ### Features * check_pdh: added windows performance counter check ### Changed * check_service: fix case insensitive excludes * check_pagefile: fix crash if there is no pagefile * update windows exporter to 0.30.5 * update node exporter to 1.9.1 * check_dns: fix crash without any nameserver * change handling exporter arguments and keep quotes * change handling allias/script arguments and keep quotes * check_os_version: add kernel version/arch/hostname * change minimum golang requirement to 1.23.8 ### Bugfixes * fix timeout race condition when rebooting windows service * fix checking for allowed arguments / nasty characters for web api requests * fix checking for allowed arguments / nasty characters from external scripts (#158) ### Download [Read more](https://omd.consol.de/blog/2025/04/11/snclient-0.33-was-released/) ----------------------------------------------------------------------------------- title: "Lebenszeichen vom Monitoring-Workshop 2025" date: "2025-04-06" -------------------------------------------------------------------------------- Wir sind dieses Jahr spät dran. Bis zuletzt sah es nicht so aus, als würde sich ein Gastgeber bzw. Veranstaltungsort finden, aber dann kam der Zufall ins Spiel. Anwender und Autoren von Open-Source-Monitoring-Software und alle, die von der ehemaligen Anlaufstelle der deutschsprachigen Monitoring-Szene nagios-portal.de übrig geblieben sind, bekommen wieder Gelegenheit zum Austausch. ### Breaking Changes: * Wir ändern nichts, es soll ja so toll bleiben wie immer. ### Features * Vorträge über neue Entwicklungen * Vorstellung bestehender Installationen * Fachsimpeln * Praxis und Hilfestellung * Wirtshausbesuch Für die konkreten Themen und dem Termin bitte dem Download-Link folgen. Dort wird sich nach und nach eine Agenda formen. Und damit was vorangeht, ist jeder zum Mitmachen aufgefordert. Bitte anmelden, sich kurz vorstellen und im Kanal #themen laut rufen "ich möchte einen Vortrag über ... halten!". ### Changed * Veranstaltungsort ist wieder mal München. Der Gastgeber ist die collaboration Factory GmbH (die Fima hinter der Softwareplattform Cplace). Der Workshop wird in der neuen Hopfenpost gleich neben dem Hauptbahnhof stattfinden. Der Workshop geht über zwei Tage und zwar am 2. und 3. Juli 2025. ### Bugfixes * - ### Download ### Past Releases * 2024 - Neckarsulm, Schwarz IT * 2019 - München, ConSol * 2018 - Braunschweig, TU * 2017 - Düsseldorf, ConSol * 2016 - Kiel, Fachhochschule * 2014 - Berlin, CGI * 2013 - Hamburg, Seminarzentrum Südring * 2012 - München, ConSol * 2011 - Hannover, Kassenärztliche Vereinigung Niedersachsen * 2010 - Nürnberg, qSkills * 2009 - Kassel, Signet * 2008 - Oldenburg, BTC AG * 2007 - Karlsruhe, Forschungszentrum * 2006 - Erlangen, RZ der Friedrich-Alexander-Universität * 2005 - Kassel,Verlag Dierichs [Read more](https://omd.consol.de/blog/2025/04/06/lebenszeichen-vom-monitoring-workshop-2025/) ----------------------------------------------------------------------------------- title: "SNClient 0.32 was released" date: "2025-03-13" -------------------------------------------------------------------------------- A new version of SNClient was released. ### Breaking Changes * none ### Features * add alpine support * add new slike operator which is case sensitive * add support for str() operator * add 'snclient config check' command ### Changed * change like operator to be case insensitive * check_process: make process filter case insensitive * check_service: make service filter case insensitive * managed exporter: passthrough all urls, not just /metrics ### Bugfixes * fix check_process when empty-state is set to OK ### Download [Read more](https://omd.consol.de/blog/2025/03/13/snclient-0.32-was-released/) ----------------------------------------------------------------------------------- title: "SNClient 0.31 was released" date: "2025-02-12" -------------------------------------------------------------------------------- A new version of SNClient was released. ### Breaking Changes * none ### Features ### Changed * update windows exporter to 0.30.2 * chore: update dependencies * change minimum golang requirement to 1.23 ### Bugfixes * fix check_files thresholds on total_size ### Download [Read more](https://omd.consol.de/blog/2025/02/12/snclient-0.31-was-released/) ----------------------------------------------------------------------------------- title: "OMD 5.50 was released" date: "2024-12-19" -------------------------------------------------------------------------------- A new version of OMD was released. ### Changelog * omd: * add -y/--yes option to accept some dialogs automatically * add build support for ubuntu 24.04 * fix bash completion for services * fix dropping root privileges on omd disable command * omd cleanup: add --dry-run / -n option * omd cleanup: add --keep / -k option * omd start -N/--no-verify to set CORE_NOVERIFY=yes * thruk: * thruk: [3.20.2](https://github.com/sni/Thruk/blob/master/Changes) * lmd: [2.2.5](https://github.com/sni/lmd/blob/master/Changes) * naemon: * naemon: [1.4.3](https://github.com/naemon/naemon-core/blob/master/NEWS) * livestatus: [1.4.3](https://github.com/naemon/naemon-livestatus/releases) * plugins: * check_dell_health: [1.1.0.2](https://github.com/lausser/check_dell_health/blob/master/ChangeLog) * check_hpasm: [4.10](https://github.com/lausser/check_hpasm/blob/master/ChangeLog) * check_mssql_health: [2.7.8](https://github.com/lausser/check_mssql_health/blob/master/ChangeLog) * check_nwc_health: [12.0.3.2](https://github.com/lausser/check_nwc_health/blob/master/ChangeLog) * check_pdu_health: [3.0.2.1](https://github.com/lausser/check_pdu_health/blob/master/ChangeLog) * check_printer_health: [1.2.0.1](https://github.com/lausser/check_printer_health/blob/master/ChangeLog) * check_rittal_health: [4.1](https://github.com/lausser/check_rittal_health/blob/master/ChangeLog) * check_ups_health: [4.3.2](https://github.com/lausser/check_ups_health/blob/master/ChangeLog) * check_vsphere: [0.3.11](https://github.com/ConSol-Monitoring/check_vsphere/blob/main/CHANGES.md) * check_wut_health: [4.1.2.2](https://github.com/lausser/check_wut_health/blob/master/ChangeLog) * mod_prometheus_status apache module: [0.3.2](https://github.com/ConSol-Monitoring/apache_mod_prometheus_status/blob/master/Changelog) * omdnotificationforwarder: [2.6.2.1](https://github.com/lausser/noteventificationforhandlerwarder/releases) * gearman: * mod-gearman: [5.1.7](https://github.com/sni/mod_gearman/blob/master/Changes) * mod-gearman-worker-go: [1.5.6](https://github.com/ConSol-Monitoring/mod-gearman-worker-go/blob/master/Changes) * grafana: * grafana: [11.2.5](https://github.com/grafana/grafana/blob/main/CHANGELOG.md) * loki: [3.3.1](https://github.com/grafana/loki/blob/main/CHANGELOG.md) * pnp-datasource: [2.1.0](https://github.com/sni/grafana-pnp-datasource/blob/master/CHANGELOG.md) * thruk-datasource: [2.1.1](https://github.com/sni/grafana-thruk-datasource/blob/master/CHANGELOG.md) * apache: * add UnsafeAllow3F if required * snmptrapd: * improve the trap_logger * Go builds updated to 1.22.10 * coshsh: [10.2.3](https://github.com/lausser/coshsh/blob/master/Changelog) * histou: [0.5.4](https://github.com/ConSol-Monitoring/histou/blob/master/CHANGELOG.md) * icinga2: [2.13.10](https://github.com/Icinga/icinga2/blob/master/CHANGELOG.md) * mod_prometheus_status apache module: [0.3.2](https://github.com/ConSol-Monitoring/apache_mod_prometheus_status/blob/master/Changelog) * monitoring-plugins: [2.4.0](https://github.com/monitoring-plugins/monitoring-plugins/blob/master/NEWS) * nagflux: [0.5.2](https://github.com/ConSol-Monitoring/nagflux/blob/master/CHANGELOG.md) * node: 20.6.1 * omdnotificationforwarder: [2.6.1.3](https://github.com/lausser/noteventificationforhandlerwarder/releases) [Read more](https://omd.consol.de/blog/2024/12/19/omd-5.50-was-released/) ----------------------------------------------------------------------------------- title: "SNClient v0.29 was released" date: "2024-11-17" -------------------------------------------------------------------------------- A new version of SNClient was released. ### Breaking Changes * none ### Features ### Changed * show error if shared ports use different ssl configuration ### Bugfixes * fix vbs wrapper in default config (#170) * fix empty performance data when using perf-config units * fix fix process state filter on windows (#169) ### Download [Read more](https://omd.consol.de/blog/2024/11/17/snclient-v0.29-was-released/) ----------------------------------------------------------------------------------- title: "SNClient 0.28 was released" date: "2024-10-21" -------------------------------------------------------------------------------- A new version of SNClient was released. ### Breaking Changes * none ### Features * add check_ping plugin * add exporter to inventory list * add /api/v1/inventory/{module} rest endpoint to get specific inventory * add /api/v1/admin/updates/install endpoint to trigger update ### Changed * update windows exporter to 0.29.1 * wmi: always set en_US language in query (#156) * check_eventlog: fix time offset parsing (#157) * check_files: add version macro support for .exe/.dll files * check_process: check default empty-state to critical ### Bugfixes * fix updates from custom urls * fix agent not starting if exporter_modules folder does not exist * fix missing thresholds when using perf-syntax ### Download [Read more](https://omd.consol.de/blog/2024/10/21/snclient-0.28-was-released/) ----------------------------------------------------------------------------------- title: "SNClient 0.27 was released" date: "2024-09-02" -------------------------------------------------------------------------------- A new version of SNClient was released. ### Breaking Changes * none ### Features * none ### Changed * do not use empty-state if warn/crit conditions contain check on 'count' * check_memory: distinguish between committed and swap memory * check_memory: change default type on linux to physical,swap * update windows exporter to 0.28.1 ### Bugfixes * fix evaluating nested filter conditions * fix check_drivesize missing performance data when using free_bytes threshold (#136) * fix check_http/check_tcp/check_dns help (#135) * fix using condition alias on nested filters * fix check_tasksched memory leak (#122) ### Download [Read more](https://omd.consol.de/blog/2024/09/02/snclient-0.27-was-released/) ----------------------------------------------------------------------------------- title: "SNClient 0.26 was released" date: "2024-07-17" -------------------------------------------------------------------------------- A new version of SNClient was released. ### Breaking Changes * none ### Features * none ### Changed * update node exporter to 1.8.2 * chdir windows service into to shared-path folder * fill unused $ARGx$ macros with empty space (#110) ### Bugfixes * fix check_os_version windows build version (#134) * fix escaping arguments in windows ps1 scripts * fix if/else expression evaluation (#126) ### Download [Read more](https://omd.consol.de/blog/2024/07/17/snclient-0.26-was-released/) ----------------------------------------------------------------------------------- title: "OMD 5.40 was released" date: "2024-07-15" -------------------------------------------------------------------------------- A new version of OMD was released. ### Changelog * OMD: - remove /etc/init.d/omd, all systems use systemd now * Thruk: - Thruk: [3.16](https://github.com/sni/Thruk/blob/master/Changes) - LMD: [2.2.1](https://github.com/sni/lmd/blob/master/Changes) * Naemon: - Naemon: [1.4.2](https://github.com/naemon/naemon-core/blob/master/NEWS) - Livestatus: [1.4.2](https://github.com/naemon/naemon-livestatus/releases/tag/v1.4.2) * Plugins: - check_dell_health: [1.1.0.1](https://github.com/lausser/check_dell_health/blob/master/ChangeLog) - check_hpasm: [4.9.0.1](https://github.com/lausser/check_hpasm/blob/master/ChangeLog) - check_mssql_health: [2.7.7](https://github.com/lausser/check_mssql_health/blob/master/ChangeLog) - check_nsc_web: [0.7.2](https://github.com/ConSol-Monitoring/check_nsc_web/blob/master/Changes) - check_ntp_health: [1.5.0.1](https://github.com/lausser/check_ntp_health/blob/master/ChangeLog) - check_nwc_health: [11.4.0.2](https://github.com/lausser/check_nwc_health/blob/master/ChangeLog) - check_printer_health: [1.2](https://github.com/lausser/check_printer_health/blob/master/ChangeLog) - check_rittal_health: [4.0](https://github.com/lausser/check_rittal_health/blob/master/ChangeLog) - check_ups_health: [4.2.1](https://github.com/lausser/check_ups_health/blob/master/ChangeLog) - check_vsphere: [0.3.10](https://github.com/ConSol-Monitoring/check_vsphere/blob/main/CHANGES.md) - check_wut_health: [3.2.1](https://github.com/lausser/check_wut_health/blob/master/ChangeLog) * Gearman: - Mod-gearman-worker-go: [1.5.1](https://github.com/ConSol-Monitoring/mod-gearman-worker-go/blob/master/Changes) * Grafana: - Grafana: [10.4.2](https://github.com/grafana/grafana/blob/main/CHANGELOG.md#1042-2024-04-10) - Thruk datasource: [2.0.8](https://github.com/sni/grafana-thruk-datasource/blob/master/CHANGELOG.md) * Prometheus: - Prometheus: [2.53.1](https://github.com/prometheus/prometheus/blob/main/CHANGELOG.md#2531--2024-07-10) * Victoriametrics: [1.101.0 (LTS)](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.1) * Coshsh: [10.2.1.3](https://github.com/lausser/coshsh/blob/master/Changelog) * omdeventhandler: [1.1.0.1](https://github.com/lausser/noteventificationforhandlerwarder/releases/tag/e1.1.0.1) * omdnotificationforwarder: [2.6.1.1](https://github.com/lausser/noteventificationforhandlerwarder/releases/tag/n2.6.1.1) * pnp4nagios: [f4a831e](https://github.com/ConSol-Monitoring/pnp/commits/master/) * promxy: [0.0.86](https://github.com/jacksontj/promxy/releases/tag/v0.0.86) ### Download [Read more](https://omd.consol.de/blog/2024/07/15/omd-5.40-was-released/) ----------------------------------------------------------------------------------- title: "Das war der Open-Source-Monitoring-Workshop 2024" date: "2024-05-19" -------------------------------------------------------------------------------- Der Open-Source-Monitoring-Workshop, der vergangene Woche in Neckarsulm stattfand, blickt auf eine lange Tradition zurück. Seit seiner Premiere, damals noch als Wochenendtreffen von Nagios-Anwendern, im Jahr 2005 wird er jährlich in einer anderen Stadt veranstaltet. Aufgrund Covid gab es jedoch eine vierjährige Unterbrechung, aber ab diesem Jahr wird der Workshop wieder regelmäßig stattfinden. Gastgeber der diesjährigen Veranstaltung war die Schwarz IT, ein Unternehmen der Schwarz Gruppe, dem Konzern, der hinter den bekannten Einzelhandelsketten Lidl und Kaufland steht. Die Veranstaltung begann mit einer Begrüßung durch Timo Schumacher, der in seiner Präsentation Einblicke in die Schwarz Gruppe bot. Wachstums-, Mitarbeiter- und Geschäftszahlen unterstrichen die immense Bedeutung des Konzerns, der auch weitaus mehr als Supermärkte zu bieten hat. Nach der Einführung folgte Simon Meggle, der das ROBOT Framework vorstellte. Dieses auf den ersten Blick unscheinbare Tool wird von einer beachtlichen Anzahl von Entwicklern getrieben und umfasst unzählige Module zur Testautomatisierung. Simon benutzt es, um Checkmk für End-to-End-Checks fit zu machen. Anschließend führte Frank Aigner von der Schwarz IT in das Thema "End-2-End-Webseiten-Monitoring" mit dem SPACE-Tool ein, das innerhalb der Schwarz Gruppe genutzt wird, um die Performance und Verfügbarkeit von Webseiten zu überwachen. Es basiert auf dem Framework Playwright von Microsoft und wurde mittels Containerisierung in die OMD-Landschaft integriert. Nach einer kurzen Pause berichteten H. Bogner, S. Rauh und O. Gnapp über ihre Reise zum Aufbau eines Cloud-Observability-Services. Die drei gehören zum Geschäftsbereich StackIT, dem Cloud-Angebot von Schwarz. Mittel der Wahl beim Monitoring der Cloud und des physikalischen Unterbaus ist Prometheus. Die darauf folgende Mittagspause verbrachten wir in der tollen Kantine von Lidl Digital. Vielen Dank nochmal dafür, daß wir eingeladen waren. Gerhard Laußer gab einen Einblick in die Komponenten des Konfigurationsgenerators Coshsh. Tobias Kempf erzählte von der Implementierung von OMD Labs als Monitoring-Lösung für die Schwarz Gruppe und zeigte mit aktuellen Zahlen das immense Wachstum der Landschaft. {{< figure src="./osmw2024-schwarz-omd.jpg" width="50%" alt="Gravel Calls" class="left" >}} Sven Nierlein schloss den Tag mit einem Vortrag über Windows-Monitoring mit SNClient ab. Dieses Tool schafft die Securityprobleme mit dem Vorgänger NSClient++ aus der Welt und hat auch in Sachen Features und Performance mehr zu bieten. Der zweite Tag begann mit einer Übersicht über versteckte Kosten im IT-Monitoring. Martin Hirschvogel von Checkmk hatte hierfür das Kleingedruckte in den Preislisten der Cloud-Anbieter unter die Lupe genommen. Ingrida Tamošaitytė-Ehrig und Eduard Schander von Novatec setzten das Programm mit einem Vortrag über Application Performance Monitoring bei der VHV fort. Dieses basiert auf dem Tool InspectIT Ocelot, welches Java-Klassen automatisch instrumentiert. Michael Kraus entwickelt Monitoring bei Witty, einem Hersteller von Schwimmbadtechnik. Er zeigte, wie Wartungsaufwände dank Telemetriedaten reduziert werden können. Anschließend fanden Lightning Talks statt, bei denen mehrere kurze, prägnante Präsentationen zu verschiedenen Monitoring-Themen gehalten wurden. Darunter war Marc Lückert aus der Schweiz, der mit Naemon und Prometheus die IT des Nahrungsmittelverarbeitungsmaschinenherstellers Bühler überwacht. Frank Aigner zeigte noch einmal das E2E-Monitoring der Schwarz Gruppe, speziell die Grafana-Dashboards. Nach der Mittagspause gab Matthias Gallinger einen Überblick über die Verarbeitung und Analyse von Zeitreihenmetriken innerhalb von OMD. PNP, InfluxDB und Victoriametrics sind die Produkte, welche von Naemon und Prometheus mit Meßwerten befüllt und von Grafana wieder ausgelesen werden. Zwei Tage hatten Entwickler und Anwender zum regen Austausch genutzt und das sicher nicht zum letzten Mal. Wer hat Lust, 2025 Gastgeber zu sein? Wir brauchen dazu Räumlichkeiten (wenn möglich nicht in Bayern, wir waren schon zu oft an der Reihe) und eine Kaffeemaschine. Bei der Organisation des Anmeldeprozesses können wir behilflich sein. [Read more](https://omd.consol.de/blog/2024/05/19/das-war-der-open-source-monitoring-workshop-2024/) ----------------------------------------------------------------------------------- title: "SNClient 0.24 was released" date: "2024-05-12" -------------------------------------------------------------------------------- A new version of SNClient was released. ### Breaking Changes * none ### Features * add native aarch64 (arm64) packages for windows * add support for extending default filter/warn/crit ### Changed * update node exporter to 1.8.0 * check_service: use cgroup pids if no main pid available ### Bugfixes * fix memory leak in check_service on windows * fix memory leak in check_drivesize on windows * fix missing scripts in inventory ### Download [Read more](https://omd.consol.de/blog/2024/05/12/snclient-0.24-was-released/) ----------------------------------------------------------------------------------- title: "SNClient 0.20 was released" date: "2024-03-15" -------------------------------------------------------------------------------- A new version of SNClient was released. ### Breaking Changes * check_drivesize: does not use parent folder anymore automatically. Use folder=...if required ### Features * add support for perf-syntax * add regexp replacement macro post processor * add if/else conditionals to \*-syntax templates * check_ntp_offset: add support for other languages ### Changed * check_wmi: add performance data * check_wmi: add support for empty-syntax * update check_nsc_web to v0.7.1 * update windows build framework to wix 3.14 * improve wmi stability ### Bugfixes * check_service: fix json error * fix windows ps1 wrapped scripts * fix timeout for checks over nrpe ### Download [Read more](https://omd.consol.de/blog/2024/03/15/snclient-0.20-was-released/) ----------------------------------------------------------------------------------- title: "Die Anmeldung für den Monitoring-Workshop 2024 ist geöffnet" date: "2024-03-07" -------------------------------------------------------------------------------- Es ist soweit! Wir haben jetzt eine Registrierungsseite für den Workshop: [Open-Source-Monitoring-Workshop 2024](https://eveeno.com/292154783). Haut in die Tasten! Mittlerweile sind auch einige tolle Vorträge zusammengekommen: * Telemetriedatenerfassung und Überwachung von Schwimmbädern - Michael Kraus * Application Performance Monitoring - Sascha Brechmann * SNClient - Sven Nierlein * Coshsh - Gerhard Laußer * SPACE - "End-2-End-Webseiten-Monitoring" bei der Schwarz Gruppe - Frank Aigner * STACKIT Argus, wie wir einen Cloud-Monitoring-Service gebaut haben - H. Bogner, S. Rauh, O. Gnapp * Einsatz von OMD Labs als Monitoring Lösung für die Schwarz Gruppe - Tobias Kempf Weitere Referenten sind natürlich willkommen. Schlagt eure Präsentation im Channel **#vorträge** des [monitoring-portal Discord Servers](https://discord.gg/jDfPZ63FcJ) vor. Halbe Stunde, zehn Minuten, egal. Hauptsache Monitoring. [Read more](https://omd.consol.de/blog/2024/03/07/die-anmeldung-f%C3%BCr-den-monitoring-workshop-2024-ist-ge%C3%B6ffnet/) ----------------------------------------------------------------------------------- title: "SNClient 0.19 was released" date: "2024-02-28" -------------------------------------------------------------------------------- A new version of SNClient was released. ### Breaking Changes * none ### Features * add check_os_updates ### Changed * write startup errors to default logfile * check_drivesize: add freespace-ignore-reserved option ### Bugfixes * fix wrapped scripts not found * fix check_drivesize using random volume for sub path * fix check_drivesize using root folder when checking non-existing path * fix perf-config when using REST API * fix timeout handling (fixes #96) * fix check_files skipping folder to early * fix check_eventlog using event id ### Download [Read more](https://omd.consol.de/blog/2024/02/28/snclient-0.19-was-released/) ----------------------------------------------------------------------------------- title: "SNClient 0.17 was released" date: "2024-02-01" -------------------------------------------------------------------------------- A new version of SNClient was released. ### Breaking Changes * none ### Features * support += operator in config files ### Changed * create logfile folder unless it exists * update windows exporter to 0.25.1 ### Bugfixes * fix check_process username being empty sometimes * fix check_cpu_utilization calculation * fix automatic log rotation on windows ### Download [Read more](https://omd.consol.de/blog/2024/02/01/snclient-0.17-was-released/) ----------------------------------------------------------------------------------- title: "OMD 5.30 was released" date: "2024-01-29" -------------------------------------------------------------------------------- A new version of OMD was released. ### Changelog * Thruk: update to [3.12](https://github.com/sni/Thruk/blob/master/Changes) * LMD: update to [2.1.9](https://github.com/sni/lmd/blob/master/Changes) * Monitoring-Plugins: update to [2.3.5](https://github.com/monitoring-plugins/monitoring-plugins/blob/master/NEWS) * Gearman: - Mod-Gearman module: update to [5.1.3](https://github.com/sni/mod_gearman/blob/master/Changes) - Mod-gearman-worker-go: update to [1.3.8](https://github.com/ConSol-Monitoring/mod-gearman-worker-go/blob/master/Changes) * VictoriaMetrics: update to [1.93.1 (LTS)](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.1) * Prometheus: - Prometheus: [2.45.2](https://github.com/prometheus/prometheus/blob/main/CHANGELOG.md#2450--2023-06-23) - Alertmanager: [0.26.0](https://github.com/prometheus/alertmanager/blob/main/CHANGELOG.md#0260--2023-08-23) - Pushgateway: [1.6.0](https://github.com/prometheus/pushgateway/blob/master/CHANGELOG.md#160--2023-05-25) * Grafana: - Grafana: [10.2.3](https://github.com/grafana/grafana/blob/main/CHANGELOG.md#1023-2023-12-18) - Thruk datasource: update to [2.0.4](https://github.com/sni/grafana-thruk-datasource/blob/master/CHANGELOG.md) - Enable wal for internal sqlite db * Histou: update to [0.5.1](https://github.com/Griesbacher/histou/blob/master/CHANGELOG.md#v051---02102023) * Go builds: update to [1.21.6](https://tip.golang.org/doc/go1.21) ### Download [Read more](https://omd.consol.de/blog/2024/01/29/omd-5.30-was-released/) ----------------------------------------------------------------------------------- title: "SNClient 0.16 was released" date: "2024-01-10" -------------------------------------------------------------------------------- A new release of SNClient was released. ### Breaking Changes * none ### Features * add check_ntp_offset * add check_mailq * add check_connections * add check_process cpu metrics * add reload support for systemd service * add metrics to check_os_version * add metrics to check_snclient_version ### Changed * improve check_process output * improve check_service linux performance * use state from metric checks for final result * check_service: adjust default warn/crit condition if service argument is used (#72) ### Bugfixes * fix using arguments in aliased checks (#69) * fix metrics order when using check_nsc_web * fix wrong path in logrotation on linux * fix check_drivesize using percent thresholds ### Download [Read more](https://omd.consol.de/blog/2024/01/10/snclient-0.16-was-released/) ----------------------------------------------------------------------------------- title: "SNClient 0.15 was released" date: "2023-12-16" -------------------------------------------------------------------------------- A new release of SNClient was released. ### Breaking Changes * none ### Features ### Changed * improve counter memory consumption * change internal wmi library ### Bugfixes * fix check_temperature default thresholds * fix check_kernel_stats listing processes and threads * fix wmi based checks memory usage * fix check_eventlog memory usage ### Download [Read more](https://omd.consol.de/blog/2023/12/16/snclient-0.15-was-released/) ----------------------------------------------------------------------------------- title: "SNClient 0.14 was released" date: "2023-12-12" -------------------------------------------------------------------------------- A new release of SNClient was released. ### Breaking Changes * none ### Features * add cli inventory mode * add duration / age / date / human number macro post processors * add support for %{} macros and $() as well * add timeout to check_drivesize for hanging mounts * add check_cpu_utilization * add check_mount * add check_temperature * add check_kernel_stats * add fmt macro operator to formt numbers * add automatic retries to wmi querys * add /api/v1/admin/reload rest endpoint to initialize config changes * add /api/v1/admin/certs/replace rest endpoint to replace certificates ### Changed * check_service (linux): add rss/vms/cpu/task metric and remove generic mem metric * check_service: add more metrics * support different allowed hosts settings for each web handler ### Bugfixes * fix cpu check on osx not returning metrics ### Download [Read more](https://omd.consol.de/blog/2023/12/12/snclient-0.14-was-released/) ----------------------------------------------------------------------------------- title: "Monitoring-Workshop 2024 ist hiermit angekündigt" date: "2023-12-05" -------------------------------------------------------------------------------- So, Herrschaften, es geht wieder los! Die Tradition des jährlichen Monitoring-Workshops der deutschsprachigen Community (*ja, ja, ich weiß, der Satz ist feinstes Denglish*) wird wiederbelebt. 2019 fand das letzte Treffen statt und seitdem hat sich eine Menge getan. Wer Monitoring-Software schreibt ist hier genauso richtig wie jemand, der sich Rat zum Betrieb seiner Landschaft holen will. ### Breaking Changes: * Nix, es wird so toll wie eh und je. ### Features * Vorträge über neue Entwicklungen * Vorstellung bestehender Installationen * Fachsimpeln * Praxis und Hilfestellung * Wirtshausbesuch Für die konkreten Themen und dem Termin bitte dem Download-Link folgen. Dort wird sich nach und nach eine Agenda formen. Und damit was vorangeht, ist jeder zum Mitmachen aufgefordert. Bitte anmelden, sich kurz vorstellen und im Kanal #themen laut rufen "ich möchte einen Vortrag über ... halten!". ### Changed * Veranstaltungsort ist diesmal Neckarsulm (An der Stadtgrenze zu Heilbronn). Wir sind zu Gast bei der Schwarz IT (Die IT hinter Lidl und Kaufland). Der genaue Ort ist bei [Lidl Digital in der Rötelstraße 36](https://maps.app.goo.gl/NN1Uq1cgL3bxjqug9). Der Workshop geht über zwei Tage und zwar am 16. und 17. Mai 2024. ### Bugfixes * - ### Download ### Past Releases * 2019 - München, ConSol * 2018 - Braunschweig, TU * 2017 - Düsseldorf, ConSol * 2016 - Kiel, Fachhochschule * 2014 - Berlin, CGI * 2013 - Hamburg, Seminarzentrum Südring * 2012 - München, ConSol * 2011 - Hannover, Kassenärztliche Vereinigung Niedersachsen * 2010 - Nürnberg, qSkills * 2009 - Kassel, Signet * 2008 - Oldenburg, BTC AG * 2007 - Karlsruhe, Forschungszentrum * 2006 - Erlangen, RZ der Friedrich-Alexander-Universität * 2005 - Kassel,Verlag Dierichs [Read more](https://omd.consol.de/blog/2023/12/05/monitoring-workshop-2024-ist-hiermit-angek%C3%BCndigt/) ----------------------------------------------------------------------------------- title: "check_nwc_health 11.2.2 was released" date: "2023-11-30" -------------------------------------------------------------------------------- A new version of check_nwc_health was released. ### Breaking Changes: * - ### Features * The \-\-mode interface-errdisabled will show you if an interface was forcibly disabled (Cisco and Arista only) Errdisable is a feature of most switches running IOS. When a port is in err-disabled state, it is shut down and traffic can no longer pass thru. Reasons for this are numerous, it will be shown in the plugin output. The same feature was also implemented by Arista. You might find it under different names like "ErrDisabled", "Error Disabled", "Errdisable State" and so on... ``` ... --mode interface-errdisabled CRITICAL - GigabitEthernet5/0/28 (alias IP Phone)/vlan 0 is disabled, reason: stormControl, GigabitEthernet4/0/45 (alias User Port)/vlan 0 is disabled, reason: bpduGuard ... --mode interface-errdisabled --name GigabitEthernet5/0/28 CRITICAL - GigabitEthernet5/0/28 (alias IP Phone)/vlan 0 is disabled, reason: stormControl ``` ### Changed * - ### Bugfixes * - ### Download [Read more](https://omd.consol.de/blog/2023/11/30/check_nwc_health-11.2.2-was-released/) ----------------------------------------------------------------------------------- title: "SNClient 0.13 was released" date: "2023-11-23" -------------------------------------------------------------------------------- A new release of SNClient was released. ### Breaking Changes: * - ### Features * Add node exporter to osx packages * Add check_load plugin * Add folder size support to check_files (#38) * Add basic promethes metrics * check_eventlog: finish implementing ### Changed * Drop privileges when running node exporter * Update node exporter to 1.7.0 * Improve docs and help pages ### Bugfixes * Fix reading empty config files (#58) * Fix packaging for debian <= 12 ### Download [Read more](https://omd.consol.de/blog/2023/11/23/snclient-0.13-was-released/) ----------------------------------------------------------------------------------- title: "SNClient 0.12 was released" date: "2023-11-07" -------------------------------------------------------------------------------- A new release of SNClient was released. ### Breaking Changes: * - ### Features * Add built-in check_http / check_tcp / check_dns * Add check_omd check ### Changed * - ### Bugfixes * MSI windows installer: - do not change windows service during updates ### Download [Read more](https://omd.consol.de/blog/2023/11/07/snclient-0.12-was-released/) ----------------------------------------------------------------------------------- title: "SNClient 0.11 was released" date: "2023-10-27" -------------------------------------------------------------------------------- A new release of SNClient was released. ### Breaking Changes: * - ### Features * Add (prometheus) node/windows exporter and custom exporters * Support filter regex syntax: attr ~~ /value/ ### Changed * Return error if using unknown check arguments ### Bugfixes * Fix check_drivesize showing wrong disk on linux * Fix windows installer removing snclient.ini on update ### Download [Read more](https://omd.consol.de/blog/2023/10/27/snclient-0.11-was-released/) ----------------------------------------------------------------------------------- title: "SNClient 0.10 was released" date: "2023-10-22" -------------------------------------------------------------------------------- A new release of SNClient was released. ### Breaking Changes: * Windows: add firewall on program, not ports ### Features * Add prometheus exporter exporter listener * Add support for shared listeners * Add on demand macros ### Changed * - ### Bugfixes * - ### Download [Read more](https://omd.consol.de/blog/2023/10/22/snclient-0.10-was-released/) ----------------------------------------------------------------------------------- title: "SNClient 0.09 was released" date: "2023-10-07" -------------------------------------------------------------------------------- A new release of SNClient was released. ### Breaking Changes: * - ### Features * check_network: add name/exclude and speed ### Changed * Use shared_path as working directory when running * check_process: fix showing all processes * check_drivesize: do not apply default filter if disk is specified ### Bugfixes ### Download [Read more](https://omd.consol.de/blog/2023/10/07/snclient-0.09-was-released/) ----------------------------------------------------------------------------------- title: "check_nwc_health 11.2 was released" date: "2023-09-15" -------------------------------------------------------------------------------- A new version of check_nwc_health was released. ### Breaking Changes: * - ### Features * The \-\-mode interface-status will now output the configured VLANs on an interface. ``` ... --mode interface-status --name GigabitEthernet0/0/32 OK - GigabitEthernet0/0/32 (alias Uplink S+, vlan(s): vlan209) is up/up ``` ### Changed * The mode hardware-health for Huawei devices caches the contents of the hwEntityTable for an hour and only requests a few rows from the hwEntityStateTable, so that the runtime is significantly reduced. (Ths also avoids hitting a rate limit) ### Bugfixes * - ### Download [Read more](https://omd.consol.de/blog/2023/09/15/check_nwc_health-11.2-was-released/) ----------------------------------------------------------------------------------- title: "SNClient 0.08 was released" date: "2023-09-07" -------------------------------------------------------------------------------- A new prerelease of SNClient was released. ### Breaking Changes: * - ### Features * Powershell and BAT scripts no longer need a wrapping. ### Changed * - ### Bugfixes * Some common cmd.exe errors are caught. * Fix restart after an update from the cli. * Installation creates a logfile folder. ### Download [Read more](https://omd.consol.de/blog/2023/09/07/snclient-0.08-was-released/) ----------------------------------------------------------------------------------- title: "SNClient 0.06 was released" date: "2023-07-27" -------------------------------------------------------------------------------- A new prerelease of SNClient was released. ### Breaking Changes: * - ### Features * relative include paths are now considered to be in the parent ini-file ### Changed * - ### Bugfixes * wmi: improve error handling ### Download [Read more](https://omd.consol.de/blog/2023/07/27/snclient-0.06-was-released/) ----------------------------------------------------------------------------------- title: "SNClient 0.05 was released" date: "2023-07-21" -------------------------------------------------------------------------------- A new prerelease of SNClient was released. You can now install the MSI, put an additional ini-file with your customizations in the install directory and therefore don't have to modify anything in the download package. Any local settings are made in separate from it. ### Breaking Changes: * - ### Features * add configuration dialog to .msi installer * setup windows firewall rules during installation * add wildcard support for includes * add conf.d directory support for includes * added check_tasksched * added nrpe mode to test cmd ### Changed * - ### Bugfixes * fix osx installer (#27) * fix linux check_drivesize (#14) * fix missing byte in nrpe response (#21) ### Download [Read more](https://omd.consol.de/blog/2023/07/21/snclient-0.05-was-released/) ----------------------------------------------------------------------------------- title: "Naemon 1.4.1 is here" date: "2023-02-02" -------------------------------------------------------------------------------- [statt oben als description: ist die Kurzbeschreibung besser hier aufgehoben, denn sonst wird das formatierte Zeugs da unten in unformatierter Form als Vorschau angezeigt. Der Inhalt von description: wird erst angezeigt, wenn man den Post anklickt]:: Today we released the version 1.4.1 of naemon-core and naemon-livestatus. This release includes bugfixes only and fixes a memory leak along with some packaging cleanup. ### Features * None ### Changed * Use /run/naemon instead of /var/run/naemon ### Bugfixes * Fix bashisms in scripts * Fix fg: no job control output * Fix memory leak in cmd parser * Fix closing worker filehandles ### Livestatus * Fix service parents to be always a list of host,service tupels * Fix g_tree_foreach: assertion `tree != NULL’ in logs table [Read more](https://omd.consol.de/blog/2023/02/02/naemon-1.4.1-is-here/) ----------------------------------------------------------------------------------- title: "Naemon 1.4.0 is here" date: "2022-11-11" -------------------------------------------------------------------------------- Today we released the version 1.4.0 of naemon-core and naemon-livestatus. This release includes a new internal command to expire acknowledgements, and a few bugfixes. Due to object structure changes, NEB modules should be re-built when upgrading to 1.4.0 ### Breaking Changes: * Due to object structure changes, it is recommended to recompile any NEB mobules when upgrading to 1.4.0 ### Features * Support for expiring acknowledgments ### Changed * Improvements to Debian packaging, including multiarch installs ### Bugfixes * Fix a crash for external command: CHANGE_CONTACT_HOST_NOTIFICATION_TIMEPERIOD * Fix a crash for external command: CHANGE_HOST_CHECK_TIMEPERIOD ### Livestatus * Allow multiline output when submitting passive checks by allowing escaped newlines [Read more](https://omd.consol.de/blog/2022/11/11/naemon-1.4.0-is-here/) --- ## Insights -------------------------------------------------------------------------------- title: "Forwarding Windows Eventlogs to Loki with Alloy" date: "2025-02-27" -------------------------------------------------------------------------------- ### Forwarding Windows Eventlogs to a central log console In system monitoring, logs are a valuable source for detecting upcoming or existing issues. Especially for Windows, collecting all logs in one place has not been easy. Forwarding Windows event logs to a syslog server, which then writes the logs to files, was one approach—but this is quite outdated. Here, you will set up a modern solution based on state-of-the-art observability tools. On the client side, you will use the agent [SNClient](/docs/snclient) with its helper, [Grafana Alloy](https://grafana.com/oss/alloy-opentelemetry-collector/). On the monitoring side, you will use the [Open Monitoring Distribution](/docs/omd) with [Loki](https://grafana.com/oss/loki/). ![event forwarding](./snclient-alloy-omd-loki.drawio.png) ### Step one - Install OMD and open the Loki API. To keep things short, I assume that you already have OMD installed and have created a site. In this example, use the site name *demo*. (And the OMD server is called *omd-server*) Loki is not enabled by default, so you need to run the following commands: ```bash omd stop omd config set GRAFANA on omd config set LOKI on ``` In an OMD setup, Loki listens by default only on the loopback interface. To make it accessible from Windows servers, create the file *~/etc/apache/conf.d/loki.conf* with the following content: ```apache LoadModule proxy_module /usr/lib64/httpd/modules/mod_proxy.so LoadModule proxy_http_module /usr/lib64/httpd/modules/mod_proxy_http.so ProxyPassInterpolateEnv on ProxyPass http://127.0.0.1:${CONFIG_LOKI_HTTP_PORT}/loki ProxyPassReverse http://127.0.0.1:${CONFIG_LOKI_HTTP_PORT}/loki RequestHeader set X-WEBAUTH-USER %{REMOTE_USER}e ErrorDocument 503 /503.html?LOKI=on ``` The Loki API is now accessible externally via *https://omd-server/demo/loki/api/v1/push*. Access is controlled via the Thruk login page. Using basic authentication makes the login transparent, so the client believes it is communicating directly with the API. It means, would you open this url in a browser, you would see a login page presented by OMD's default gui, Thruk. Alloy will add credentials when sending POST requests to the API and Thruk will immediately let them pass. A dedicated user and its password are created like this: ```bash htpasswd ~/etc/htpasswd loki L0k1 ``` Finally start the OMD site. ```bash omd start ``` Loki is now ready to receive Windows events. (Or any other data sent by Alloy/journald, Open Telemetry Logs, Fluent Bit, Docker, Promtail,...) ### Step two - Install the SNClient on the Windows server For the base installation, follow the instructions [here](/docs/snclient/install/windows/). Next, change the default password by creating a new file *C:\Program Files\snclient\snclient_local_auth.ini* with the following content: ```ini [/settings/default] allowed hosts = 127.0.0.1, 10.0.1.2 password = SHA256:9f86d081884... ``` The password is stored as a hashed value. Refer to the [Security page](https://omd.consol.de/docs/snclient/security/) for instructions. (*allowed hosts* restricts access to the snclient agent, i suggest you edit the list so that it consists of 127.0.0.1 and yout omd-server's ip address) After saving the file, restart the service **snclient** using the service manager or by running ```powershell net stop snclient net start snclient ``` At this point, you can monitor the Windows host with *Naemon* and the *check_nsc_web* plugin, but this article focuses on log forwarding. ### Step three - Add Alloy to SNClients exporters Create a file *C:\Program Files\snclient\snclient_local_alloy.ini* with the following contents: ```ini [/modules] ManagedExporterServer = enabled [/settings/ManagedExporter/alloy] ;password = agent path = ${shared-path}/exporter/alloy-windows-amd64.exe agent args = run ./alloy agent address = 127.0.0.1:12345 ;;agent max memory = 256M url prefix = /alloy port = ${/settings/WEB/server/port} ``` This config instructs snclient to start (and eventually restart) Grafana Alloy. Next, go to the [Grafana Alloy release page](https://github.com/grafana/alloy/releases), download *alloy-windows-amd64.exe.zip*, unpack it and move the extracted *alloy-windows-amd64.exe* to *C:\Program Files\snclient\exporter*. Then, create a folder *C:\Program Files\snclient\alloy* and add the file *windows_event.alloy* with the following content: ```alloy loki.source.windowsevent "application" { eventlog_name = "Application" use_incoming_timestamp = true exclude_event_data = true forward_to = [loki.process.windows_eventlog.receiver] labels = { job = "windows_eventlog", instance = constants.hostname, } } loki.source.windowsevent "security" { eventlog_name = "Security" use_incoming_timestamp = true forward_to = [loki.process.windows_eventlog.receiver] labels = { job = "windows_eventlog", instance = constants.hostname, } } loki.source.windowsevent "system" { eventlog_name = "System" use_incoming_timestamp = true forward_to = [loki.process.windows_eventlog.receiver] labels = { job = "windows_eventlog", instance = constants.hostname, } } loki.source.windowsevent "setup" { eventlog_name = "Setup" use_incoming_timestamp = true forward_to = [loki.process.windows_eventlog.receiver] labels = { job = "windows_eventlog", instance = constants.hostname, } } loki.process "windows_eventlog" { // In rare cases the message is empty (either empty string or nil) // To avoid fill it with "empty_message" stage.template { source = "message" template = `{{- $message := .Value -}} {{- if eq $message "" -}}empty_message {{- else if eq $message nil -}}empty_message {{- else -}}{{- $message -}}{{- end -}}` } // Loki has a builtin parser for windows messages. If it finds a field // in the message which already existed, then it will overwrite its value // instead of creating a new label. stage.eventlogmessage { source = "message" overwrite_existing = true } // at this moment stage.windowsevent is experimental, but soon it will // replace the deprecated stage.eventlogmessage //stage.windowsevent { // source = "message" // overwrite_existing = true //} // Select (as few as possible) fields in an event which should be used // as labels for Loki. // Syntax is: // The symbol on the left side will be a key name in the json. // The symbol on the right side is the name of an existing event field. // "" means, that you expect a field with the same name as the left side // and that you copy its value the the json key. // xy = "abc" means that you expect a field "abc" in the event and you // want key "xy" in the event to get its value. stage.labels { values = { // One of Application, System, Security, Setup // This could also be hard-coded in the loki.source.windowsevent channel = "", // For example, source = Windows-Security-Auditing // If you expect very few sources, you can create a label. // But usually in a normal Windows environment they are so numerous // that they have an impact on Loki's performance. // source = "", } } // We don't want to see Alloy's own logs stage.drop { source = "source" value = "Alloy" drop_counter_reason = "source_alloy" } // By default, an event's timestamp is the time when it was first // ingested by Alloy. This might not be exact enough, // so we parse the original time from the event data and // update the timestamp. stage.timestamp { source = "timeCreated" format = "2025-02-27T17:45:00.0000000Z" } forward_to = [loki.write.endpoint.receiver] } loki.write "endpoint" { endpoint { // CHANGE THIS URL // Use the hostname of your OMD server and // replace the sitename. url ="https://YOUR-OMD-SERVER/YOUR-SITE/loki/api/v1/push" tls_config { insecure_skip_verify = true } basic_auth { // These are the credentials we created with // the htpasswd command. // CHANGE THEM! RUN htpasswd AGAIN! username = "loki" password = "L0ki" } } } ``` When you have saved the file, you have to restart snclient again with **net stop snclient** and **net start snclient**. Now, your Windows event logs are forwarded to Loki via Grafana Alloy. ### Step four - Testing and Searching On the Windows server, open a PowerShell and run the command ```powershell eventcreate /t INFORMATION /id 100 /so MyApp /d "Application started successfully" ``` In Grafana, go to Explore, select the Loki data source, and then enter a LogQL query like {job="windows_eventlog", instance="YOUR_WINDOWS_SERVER_HOSTNAME"} in the query field. The url is *https://YOUR-OMD-SERVER/YOUR-SITE/grafana*. And here is your event! ![loki view](./snclient-alloy-omd-loki-grafana.png) #### Troubleshooting Logs not appearing in Grafana? Check the *C:\Program Files\snclient\snclient.log*, verify the Loki URL, and ensure the SNClient service is running. Make sure there is no firewall blocking the traffic between Windows and OMD. ### Conclusion This setup provides a modern and efficient solution for centralizing Windows Event Logs using state-of-the-art observability tools. By integrating SNClient, Grafana Alloy, and Loki within an OMD environment, logs can be seamlessly collected, processed, and analyzed in a scalable and structured way. This approach eliminates outdated methods such as simple syslog forwarding, offering a robust and future-proof logging pipeline for Windows environments. [Read more](https://omd.consol.de/blog/2025/02/27/forwarding-windows-eventlogs-to-loki-with-alloy/) ----------------------------------------------------------------------------------- title: "Duplicate users in the Grafana database" date: "2025-02-10" -------------------------------------------------------------------------------- This issue occurred on an OMD 5.40 system running Grafana 10.4.2. A customer reported that embedded Grafana panels in the Service Detail View of Thruk were not working. Instead of a graph, they were presented with the Grafana login page. In the *~/var/log/grafana/grafana.log*, the following messages appeared: ``` logger=user.sync t=2025-02-06T15:38:43.735173011+01:00 level=error msg="Failed to fetch user" error="Found a conflict in user login information. 3 users already exist with either the same login or email: [Sepp (email:Sepp, id:124), SEPP (email:SEPP, id:152), sepp (email:sepp, id:182)]." auth_module=authproxy auth_id=SEPP logger=authn.service t=2025-02-06T15:38:43.735241811+01:00 level=error msg="Failed to run post auth hook" client=auth.client.proxy id= error="[user.sync.internal] unable to retrieve user" ``` From the Thruk logs, we determined that users were logging in using different variations of their usernames - sometimes in lowercase, sometimes in uppercase, and occasionally mixed case. This was possible because Apache authenticated users via an LDAP backend that was case-insensitive. However, starting with Grafana 9.3, the software no longer treated differently cased usernames as the same user. (This issue had gone unnoticed for some time and was likely introduced with an OMD update.) ### Enforcing Lowercase Usernames in Thruk To address this, we enforced lowercase usernames in Thruk by setting: ``` make_auth_user_lowercase = 1 ``` _File: `~/etc/thruk/thruk_local.d/users_lowercase.conf`_ After restarting Thruk (`omd restart thruk`), all usernames were internally converted to lowercase, regardless of how users entered them. > **Note:** Login to an OMD monitoring system is done through a Thruk login page. If authentication is successful, the username (now converted to lowercase) is passed to Grafana via the HTTP header `X-WEBAUTH-USER`, and the user is even created in Grafana on the fly. ### Cleaning Up Conflicting Users in Grafana Next, we needed to sanitize the Grafana database by removing redundant user entries that contained uppercase letters. We followed the workflow documented [here](https://grafana.com/blog/2022/12/12/guide-to-using-the-new-grafana-cli-user-identity-conflict-tool-in-grafana-9.3/). First, we listed all conflicting user accounts: ```bash OMD[site1@tmonmuc]:~$ grafana cli \ --config=/omd/sites/site1/etc/grafana/grafana.ini \ --homepath=$HOME/share/grafana \ admin user-manager conflicts list ``` This displayed all users with login conflicts. *SEPP/Sepp/sepp* was one of them. The next step was to generate a conflict resolution file: ```bash OMD[site1@tmonmuc]:~$ grafana cli \ --config=/omd/sites/site1/etc/grafana/grafana.ini \ --homepath=$HOME/share/grafana \ admin user-manager conflicts generate-file ``` The generated file appeared as: ``` /tmp/conflicting_user_1310352894.diff ``` This file contained user conflicts in the following format: ``` conflict: sepp - id: 124, email: Sepp, login: Sepp, last_seen_at: 2024-11-15T11:15:42Z, auth_module: authproxy, conflict_email: true, conflict_login: true + id: 152, email: SEPP, login: SEPP, last_seen_at: 2024-10-22T05:43:19Z, auth_module: authproxy, conflict_email: true, conflict_login: true - id: 182, email: sepp, login: sepp, last_seen_at: 2024-10-22T05:43:19Z, auth_module: authproxy, conflict_email: true, conflict_login: true ``` We needed to edit this file so that each *conflict:* block contained exactly one line with a plus sign (`+`) for the user we wanted to keep (in our case, the lowercase entry with ID 182). The other entries were marked with a minus sign (`-`) to be deleted. Before applying changes, we validated the file: ```bash OMD[site1@tmonmuc]:~$ grafana cli \ --config=/omd/sites/site1/etc/grafana/grafana.ini \ --homepath=$HOME/share/grafana \ admin user-manager conflicts validate-file \ /tmp/conflicting_user_1310352894.diff ``` No errors were found, so we proceeded with the `ingest-file` command: ```bash OMD[site1@tmonmuc]:~$ grafana cli \ --config=/omd/sites/site1/etc/grafana/grafana.ini \ --homepath=$HOME/share/grafana \ admin user-manager conflicts ingest-file \ /tmp/conflicting_user_1310352894.diff ``` ### Unexpected Error and Solution However, after confirming *Proceed with operation?* with *Y*, we encountered an error: ``` Error: ✗ not able to merge with &{%!e(string=could not find intoUser: Found conflict in user login information. 3 users already exist with either the same login or email: [Sepp (email:Sepp, id:124), SEPP (email:SEPP, id:152), sepp (email:sepp, id:182)]}) ``` This indicated that Grafana still treated `sepp`, `Sepp`, and `SEPP` as the same user, likely due to internal case-insensitive handling. To resolve this, we explicitly configured Grafana to respect case differences by adding the following line to *grafana.ini*: ```ini [users] case_insensitive_login = false # Temporarily enforce case sensitivity allow_sign_up = false default_theme = light ``` _File: `~/etc/grafana/grafana.ini`_ With this setting in place, we successfully ingested the conflict resolution file: ```bash OMD[site1@tmonmuc]:~$ grafana cli \ --config=/omd/sites/site1/etc/grafana/grafana.ini \ --homepath=$HOME/share/grafana \ admin user-manager conflicts ingest-file \ /tmp/conflicting_user_1310352894.diff ... conflicts resolved. ``` After the `ingest-file` command ran successfully, we removed the `case_insensitive_login = false` line from `grafana.ini` to restore the original setting. ### Conclusion By enforcing lowercase usernames in Thruk and making Grafana temporarily case-sensitive, we successfully eliminated duplicate user entries and restored embedded panel functionality. This issue highlights the importance of consistent username handling across authentication layers to avoid unexpected conflicts. [Read more](https://omd.consol.de/blog/2025/02/10/duplicate-users-in-the-grafana-database/) ----------------------------------------------------------------------------------- title: "Replacing NSClient++: A Comparison of Current Alternatives" date: "2025-01-13" -------------------------------------------------------------------------------- Many of you have probably wondered how to best replace NSClient++ with a modern tool. René Gau from ASFINAG has written a [bachelor’s thesis](https://onlinecampus.fernfh.ac.at/pluginfile.php/223278/mod_data/content/298735/Gau_Rene_00230036_SS24_Jungbauer_2024-06-10.pdf) on this very topic, providing a detailed analysis of the pros and cons of the most relevant alternatives. Here’s a little spoiler: if you want to avoid vendor lock-in and exorbitant migration or licensing costs, this [website](https://omd.consol.de/docs/snclient/) has all the information you need!" [Read more](https://omd.consol.de/blog/2025/01/13/replacing-nsclient-a-comparison-of-current-alternatives/) ----------------------------------------------------------------------------------- title: "missing perl module Digest::SHA1 under Rocky 9" date: "2025-01-10" -------------------------------------------------------------------------------- Some of you might have followed the instructions at [https://labs.consol.de/repo/testing/#_9](https://labs.consol.de/repo/testing/#_9) to install the labs.consol.de repository. If you're using a minimal setup of Rocky Linux 9, you might encounter this error message: ```bash # yum install omd-5.51.20250109-labs-edition.x86_64 Last metadata expiration check: 0:08:01 ago on Fri 10 Jan 2025 10:32:09 AM CET. Error: Problem: package omd-5.51.20250109-labs-edition-el9-1.x86_64 from labs_consol_testing requires perl-Net-SNMP, but none of the providers can be installed - conflicting requests - nothing provides perl(Digest::SHA1) >= 1.02 needed by perl-Net-SNMP-6.0.1-25.el8.1.noarch from epel (try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages) ``` The missing Perl module *Digest::SHA1* is included in the installation package *perl-Digest-SHA1*, which is not part of a minimal setup. Moreover, running ***yum search perl-digest-SHA1*** yields no results. To resolve this, you need to enable the *PowerTools* repository, which contains this RPM. You can do this either manually by editing the file */etc/yum.repos.d/Rocky-PowerTools.repo* and changing *enabled=0* to *enabled=1*, or by running the following command: ```bash # yum config-manager --enable powertools ``` [Read more](https://omd.consol.de/blog/2025/01/10/missing-perl-module-digestsha1-under-rocky-9/) ----------------------------------------------------------------------------------- title: "Removing old Naemon logfiles" date: "2024-06-05" -------------------------------------------------------------------------------- In an OMD environment Naemon writes its logfile to *var/naemon/naemon.log*. At midnight a logrotate job moves the logfile to the folder *var/naemon/archive*, renaming *naemon.log* to *naemon.log-YYYMMDD*. By default none of the archived logs is ever deleted. If your disk space is limited, you may want to discard old logs after some months or years. Create a file *~/local/bin/purge_naemon_archive* with the following content. ```bash #!/bin/bash archive_dir=$OMD_ROOT/var/naemon/archive today=$(date +%Y%m%d) days_to_keep=${CONFIG_NAEMON_ARCHIVES_RETENTION:-365} # the oldest day in yyyymmdd format cutoff_date=$(date -d "$today - $days_to_keep days" +%Y%m%d) for file in "$archive_dir"/naemon.log-* do # extract the date from the filename file_date=$(basename "$file" | cut -d '-' -f 2) # if the file's date is older than the cutoff date, delete it # (yyyymmdd format allows integer operations) if [[ "$file_date" -lt "$cutoff_date" ]] then rm "$file" fi done ``` Make it executable with: ```bash chmod 755 ~/local/bin/purge_naemon_archive ``` Then create a cronjob by writing this line into the file *~/etc/cron.d/purge_naemon_archive*: ``` 10 0 * * * $OMD_ROOT/local/bin/purge_naemon_archive ``` Finally, restart the cron daemon: ```bash omd restart crontab ``` Now archived logfiles will be deleted if they are older than a year. You can define your own retention period by setting the environment variable *CONFIG_NAEMON_ARCHIVES_RETENTION* to the number of days you want to keep the log files. (You can add the variable to *~/etc/environment*) [Read more](https://omd.consol.de/blog/2024/06/05/removing-old-naemon-logfiles/) ----------------------------------------------------------------------------------- title: "Replacing check_http by check_curl - Lessons Learned" date: "2023-07-28" -------------------------------------------------------------------------------- In a customer's installation we had the problem, that an http-check (using the plugin check_http) could not successfully connect to a website. ``` $ check_http -H cts-freq.cloud -t 120 --ssl -u "/" --ssl --onredirect follow -vvv CRITICAL - Cannot make SSL connection. 140484279109552:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:769: SSL initialized ``` A test with check_curl showed that this newer plugin was functioning as expected. ``` $ check_curl -H cts-freq.cloud -t 120 --ssl -u "/" --ssl --onredirect follow -vvv HTTP OK: HTTP/1.1 200 OK - 449 bytes in 0.605 second response time |time=0.604714s;;;0.000000;120.000000 size=449B;;;0 ``` As check_curl was designated as the successor for check_http, we decided to decommission check_http and use check_curl everywhere in the configs. Unfortunately, it turned out that it didn't go as smoothly as expected. This was the configuration we were starting with: ``` define command { command_name check_curl_ssl command_line $USER1$/check_curl -H $ARG1$ -t 120 --ssl -u "$ARG2$" $ARG3$ } define command { command_name check_http_ssl command_line $USER1$/check_http -H $ARG1$ -t 120 --ssl -u "$ARG2$" $ARG3$ } ``` The first problem that caught our attention was with a url containing a hostname that resolved to both an IPv4 and an IPv6 address through DNS. Since we were operating in a pure IPv4 environment and check_curl tool attempted to contact the IPv6 address, the result was an error. Adding the parameter _\-\-use-ipv4_ resolved this issue. The next problem was puzzling. The web server responded to a request through check_curl with the message *HTTP WARNING: HTTP/1.1 403 Forbidden*. However, a request through check_http returned the expected *HTTP OK: HTTP/1.1 200 OK*. It turned out that the web server was configured by its operators to only grant access to selected user agents. So we added _\-\-useragent "check_http"_ and the problem was solved. And here is the final configuration: ``` define command { command_name check_curl_ssl command_line $USER1$/check_curl \ -H $ARG1$ -t 120 \ --useragent "check_http" --use-ipv4 \ --ssl -u "$ARG2$" $ARG3$ } define command { command_name check_http_ssl command_line $USER1$/check_http \ -H $ARG1$ -t 120 \ --ssl -u "$ARG2$" $ARG3$ } ``` [Read more](https://omd.consol.de/blog/2023/07/28/replacing-check_http-by-check_curl-lessons-learned/) --- -------------------------------------------------------------------------------- title: "About Consol Monitoring" lastmod: "0001-01-01" -------------------------------------------------------------------------------- {{< blocks/cover title="About the Consol Monitoring Team and OMD" image_anchor="bottom" height="min" >}} {{< /blocks/cover >}} {{% blocks/lead %}} We are a team of monitoring consultants which exists since nearly 20 years. Our preferred tools are Naemon and Prometheus, both bundled along with other popular tools in the Open Monitoring Distribution OMD. Some of the worlds biggest monitoring environments were designed and implemented by us, all based on OMD. {{% /blocks/lead %}} {{< blocks/section >}}

The Open Monitoring Distribution started in 2010 as a collaboration project with several companies involved. Later we created our own fork, called "OMD Labs Edition", which allowed us to add innovative features at a high pace.

{{< /blocks/section >}} {{< blocks/section >}}

OMD is the basket of the most useful and popular tools from the Naemon (Nagios) and Prometheus ecosystems. We bundle these tools into one installation package which we release on a nightly basis. About twice a year there is also a stable version. (The nightly version can also be considered stable, as the build process ends with quite a lot of tests. The difference is mostly the format of the version number)

{{< /blocks/section >}} {{< blocks/section >}}

Besides some 3rd-party open source projects, OMD contains also a lot of tools written by ourselves.

{{< /blocks/section >}}