Windows: One Framework to Monitor them all by Christian Stein | OSMC 2019

This entry is part of 4 in the series OSMC 2019 | Recap

 

At the Open Source Monitoring Conference (OSMC) 2019 in Nuremberg, Christian Stein captivated the entire conference room with his presentation “Windows: One Framework to Monitor them all”. His demo was the highlight of his presentation, which ended up with enthusiastic applause. You have missed him speaking? We have got something for you: Watch the video of Christian’s presentation and read a short summary (below).

At OSMC international monitoring experts meet annually to set and discuss future trends and objectives. Since 2006 the event takes place every autumn in Nuremberg, Germany. Leading specialists present the full scope of Open Source monitoring and are ready to answer your hardest questions. Discuss with top developers, exchange knowledge and learn wen techniques.

You want more? In-depth workshops the day prior to the conference and a Hackathon provide further possibilities to extend your skills and deepen your knowledge in IT monitoring and management.

The next OSMC takes place in 2021 in Nuremberg.

More information and tickets at osmc.de.


Windows: One Framework to Monitor them all

Christian Stein signed up with a talk titled “Windows: One Framework to Monitor them all” and the intention to turn the Windows side of Icinga upside down. After giving a short run down of the the current issue with “Icinga for Windows” and his attempts at fixing them, we get to the good stuff.

An Icinga PowerShell Framework supported by Powershell 4.0 or higher, but let‘s get into the juicy details: The framework comes with a lot of features, to easily extend it within your environment and to simplify monitoring on Windows as well. Additionally, there is a dev-toolkit, which offers plenty of possibilities for developers to give the framework their own tweak. As of now, there are four repositories beyond the framework itself. Up first and most important to mention is icinga-powershell-kickstart, which provides a basic PowerShell script to interactively install the framework. Also rather essential for the framework is the icinga-powershell-plugins repository, which provides a collection of Windows check plugins.

Want to run the framework as a service? Glad you asked. There is a repository for that as well. It’s also covered by the kickstart wizard. Check icinga-powershell-service to find out more or to give some feedback. If you’ve always asked yourself why you should run appliances as a service, there are several benefits. Like the service running before a user logs on and continuing to run, without a logged on user.

Last but not least, even most essential, the framework itself. If we look at the current ways to make Icinga work on windows, they are good, but not great. The icinga-monitoring-framework provides tools and configuration to make icinga monitoring on windows possible, almost natively, except for said repositories.

Having said all that and more, Christian went on with a live demo of the Framework, gave some installation advice and by that I mean, delved deeper into the kickstart script. He also showed off some features and gave some best practice advice. So, all that was left to say is… whats next?

Christian announced, that it will be available on PowerShell Gallery, which will not only help the project grow, but make it even more available as is. And of course, there will be more plugins. For those eagerly waiting for one of these, the next release hopefully provides MSSQL, Active-Directory, Exchange and Hyper-V plugins.

The community’s and the customer’s interest in better windows monitoring is undeniable, but we depend on your feedback and support on this, the respective repository is the place to be, and if you can’t figure, which one it fits, just post your issue at: https://github.com/Icinga/icinga-powershell-framework/issues

Alexander Stoll
Alexander Stoll
Junior Consultant

Alexander ist ein Organisationstalent und außerdem seit Kurzem Azubi im Professional Services. Wenn er nicht bei NETWAYS ist, sieht sein Tagesablauf so aus: Montag, Dienstag, Mittwoch Sport - Donnerstag Pen and Paper und ein Wochenende ohne Pläne. Den Sportteil lässt er gern auch mal ausfallen.

Current State of Icinga by Bernd Erk | OSMC 2019

This entry is part 1 of 4 in the series OSMC 2019 | Recap

 

 

At the Open Source Monitoring Conference (OSMC) 2019 in Nuremberg, Bernd Erk presented the „Current State of Icinga”. You have missed him speaking? We have got something for you: Watch the video of Bernd‘s presentation and read a summary (below).

The OSMC is the annual meeting of international monitoring experts, where future trends and objectives are set. Since 2006 the event takes place every autumn in Nuremberg, Germany. Leading specialists present the full scope of Open Source monitoring and are ready to answer your hardest questions. Learn new techniques, exchange knowledge and discuss with top developers.

In-depth workshops the day prior to the conference and a Hackathon provide further possibilities to extend your skills and deepen your knowledge in IT monitoring and management.

The next OSMC takes place November 16 – 19, 2020 in Nuremberg.

More information and tickets at osmc.de.


Current State of Icinga

In the talk „Current State of Icinga“ Bernd Erk shortly introduces himself and the team behind Icinga. Bernd’s presentation gives at first a quick overview over Icinga, followed by a really funny presentation with Emojis (Long story short: Icinga makes you happy!). After that Bernd explains the blog, the ongoing user survey, IcingaConf, Icinga Camp and Icinga partners all around the world. He also presents the reason why we don’t know most of the Icinga users: As it is an open-source product, anyone can download it and use it for free.

In the main part Bernd gives a product update for Icinga and everything connected to it. Thereupon he reports about what happened during summer 2019 regarding development. After that he goes deeper into the new features and innovations of Icinga version 2.11, which is the current major version as of November 2019. In the second part of the main presentation he illustrates Icinga Web 2 and the new features of the current version 2.7 (November 2019) and its accessibility features. vSphere version 1.1 is the third main theme and Bernd touches on its new features and improvements. The topic after vSphere is Icinga Director and its current version 1.7 (November 2019). Bernd discloses the new features of the Director and what it is capable of. He completes his talk with aspects of Icinga Business Process Monitoring in its newest version 2.2 (November 2019). Here the main components are the Drag & Drop feature, Export & Import and Usability. With regard to this Bernd presents the mentioned features and innovations in a short live demo.

After the live demo Bernd introduces Icinga for Windows. A short video of the installation of Icinga on Windows is shown. Christian Stein, a long-standing member of the Icinga team, is the main developer of this outstanding Icinga innovation. After having presented Windows monitoring, the focus moved on to Icinga for AWS (Amazon Web Services) version 1.0 (November 2019) and its possibilities. Thereafter Bernd goes in deep with the Icinga module for JIRA in version 1.0 (November 2019) and how it works.

Icinga DB is the last topic covered. For that a few last year’s slides were repeated, followed by a funny video about why it took so long. After this hilarious video a live demo of all the new features and innovations is given.

Bernd concludes his talk with a summary:

  • Icinga Director 1.7.2 is out now
  • Icinga Module for vSphere 1.1.0 is out now
  • Icinga Module for JIRA 1.0.1 is out now
  • Icinga 2.12 RC will be ready later

And that is basically Bernd’s entire talk, though highly compressed. If you are interested in the full talk with all its details and funny moments I recommend watching the whole video. It is worth every second, entertaining and highly informative.

Nathaniel Donahue
Nathaniel Donahue
Junior Consultant

Nathaniel hat 2019 die Wirtschaftsschule abgeschlossen. Wegen seinem Interesse am IT-Bereich entschied er sich dafür eine Ausbildung zum Fachinformatiker im Bereich Systemintegration zu machen und fing im September 2019 bei NETWAYS Professional Services an. Auch in seiner Freizeit sitzt er gerne am Computer, allerdings meistens zum Spielen, oder er unternimmt etwas mit seinen Freunden.

Vom Bordstein zur Skyline von Robert Waffen | OSMC 2019

This entry is part 2 of 4 in the series OSMC 2019 | Recap

 

Auf der Open Source Monitoring Conference (OSMC) 2019 in Nürnberg hat uns Robert Waffen mit seinem Vortrag “Vom Bordstein zur Skyline” in den Bann gezogen. Für den Fall, dass jemand nicht die Möglichkeit hatte, an seinem Vortrag teilzunehmen, haben wir hier etwas vorbereitet: Seht euch das Video von Roberts “Kriegsgeschichte” – wie er selbst es nennt – an und lest weiter unten eine Zusammenfassung.

Die OSMC ist das jährliche Treffen internationaler Monitoring-Experten, auf dem zukünftige Trends und Strategien festgelegt werden. Seit 2006 findet die Veranstaltung jedes Jahr im Herbst in Nürnberg, Deutschland, statt. Führende Spezialisten präsentieren die ganze Bandbreite des Open Source Monitorings und stehen bereit, um Fragen zu beantworten, und seien diese noch so schwierig. Lernt neue Techniken kennen, tauscht Wissen aus und diskutiert mit Top-Entwicklern.

Ausführliche Workshops am Tag vor der Konferenz und ein Hackathon bieten weitere Möglichkeiten, eure Fähigkeiten zu erweitern und euer Wissen im Bereich IT-Monitoring und -Management zu vertiefen.

Die nächste OSMC findet vom 16. bis 19. November 2020 in Nürnberg statt.
Weitere Informationen und Tickets unter osmc.de.


Vom Bordstein zur Skyline

Der Talk von Robert Waffen “Vom Bordstein zur Skyline” handelt von den Monitoring-Entwicklungsstufen des Unternehmens Publicis Pixelpark.

Wie war der bisherige Stand im Monitoring?

Bei Robert Waffen in der Firma war schon Xymon oder – noch früher – Zabbix im Einsatz, was nicht richtig gepflegt wurde. Und wenn, dann nur zum Teil. Das dadurch entstandene Wissen wurde abgewandelt und daraufhin auf zwei Elk-Instanzen umgestellt. Als Metriken wurden nur Default-Metriken verwendet, also das, was das System standardmäßig bereitstellt. Dazu gehörten Metriken in 5-Minuten-Intervallen.

Das ganze Monitoring war weder automatisiert noch teilautomatisiert. Konfigurationen oder Interfaces konnte man einchecken, wenn man sich durchklickte.

 

Xymon

Xymon hat natürlich wie jedes andere Monitoring-System Checks, wodurch Auswertungen gemacht werden, wie zum Beispiel Shell. Dabei wurde meistens sehr viel Output produziert. Und zwar nicht wie beispielsweise in Icinga eine Zeile, sondern ganze Prozesslisten. Das ganze Interface war nicht dynamisch und wurde in HTML vorgerendert, was wiederum eigene Vor- und Nachteile hatte. Bei HD-Grafen, die auch gerne ein bisschen größer werden, mussten diese gelöscht werden. Das eigentliche Problem war, dass es sehr hohe Check-Intervalle gab und keine Anbindung an Grafana oder sonstiges möglich war, da Xymon aus den 1990er-Jahren kommt. Zudem ein Thema, das immer wieder zu Problemen führte: Es gab keine richtige Verschlüsselung.

 

Zabbix

Bei Zabbix hingegen macht das GUI alles. Es gibt zwar ein Puppet-Modul, welches einen Server aufbauen kann, aber das Modul kann den Server nicht konfigurieren, was problematisch ist. Weiter war ein Update auf die neueste Version nicht möglich, weil interne Probleme auftraten. Das heißt, man ist bei einer älteren Version hängen geblieben.

Probleme wurden prinzipiell zwar immer angezeigt, aber nicht welcher Art. In einem Monitoring wurde der Alarm aktiviert. Daraufhin musste man in einem anderen System nachsehen und eventuell dort das Problem ausfindig machen. Man musste in mehreren Interfaces nachsehen, was sehr umständlich war.

Der Aufbau der GUI in Zabbix war auch nicht logisch, wenn man es mit anderen Monitoring-Systemen vergleicht. Es zeigte nur an, wenn ein Problem auftrat. Das Host-Objekt an sich gibt es in Zabbix gar nicht, an dem man sieht, dass der Host up ist und der Host folgende Daten hat… Das wird nicht angezeigt, man muss erst nach diesen Informationen suchen.

 

ELK

Zudem gibt es zwei verschiedene ELK-Stacks. Ein Stack ist schon etwas älter und beinhaltet sensible Daten eines langjährigen Kunden, die auch separat gehalten werden sollen. Daneben gibt es einen neueren Stack der Version 6 mit entsprechender Umgebung. Die Stacks sind alle manuell aufgesetzt und eine nachträgliche Automatisierung scheint nicht möglich, da sonst Indexe oder ganze Konfigurationen verworfen werden oder ähnliches. Deswegen wird hier ein Neuaufbau geplant.

 

Graylog

Als Alternative zum ELK gibt es auch noch Graylog. Das wird für neuere Kunden eingesetzt und funktioniert ganz gut.

 

Wie ist der aktueller Stand im Monitoring?

Aktuell sieht das Monitoring bei Robert so aus: Zabbix und Xymon dienen als Hauptmonitoring. Hier wurde ein Grafana mit diversen Quellen hinzugebaut, wie InfluxDB, Prometheus, Graphite oder ElasticSearch. Daneben existiert ein Proof of Concept für Icinga 2 und ELK 7.

 

Prometheus

Wir haben von null angefangen und ein Prometheus aufgesetzt. Wenn man sich damit beschäftigt, meint man erst, oh, ja, Kubernetes, da ist alles schön und toll. Da deployed man sein YAMLs und es ist alles schön und sicher – bis man von Systemen außerhalb von Kubernetes auf Metriken zugreifen möchte. Mit einem Reverse Proxy davorgebaut, mit einem Apache und HTTPS, und einem IP Require, so dass nur der Prometheus-Server den Node Exporter abfragen darf.

 

Icinga 2

Bei Icinga 2 hat man einen Pock aufgesetzt, der vollautomatisch aus dem Puppet generiert wird. Das heißt, wenn man den Host wegreißt und neu startet, werden alle Hosts, Konfigurationen, Checks wie vorher angezeigt.

So weiß man, woher der Check kommt. In Vergleich mit Zabbix und Xymon weiß man weißt nicht, woher die Checks kommen und warum etwas anspringt. Viele sagen, man brauche Automatisierung erst dann, wenn man mehrere Server hat. Aber es geht auch darum, nachvollziehbar zu arbeiten, um Konfigurationen einsehen zu können.

 

Wie soll Monitoring in Zukunft aussehen?

Host-Inventarisierung: Wir haben viele Hosts, die keine Puppet-Module haben, Puppet ausgeschaltet ist oder eine alte Puppet-Version installiert ist. Wir müssen diese updaten und installieren und das ist teilweise schwierig wegen Solaris.

Benachrichtigungsplan erstellen: Man muss man sich ein Konzept überlegen, über was wann benachrichtigt werden soll. Zum Beispiel wenn ein Server nur tagsüber wichtig ist, braucht man keine Notifications in der Nacht. Dies ist zum Beispiel bei Testmaschinen der Fall, wenn es in der Testumgebung Probleme gibt. Wenn es sich allerdings um eine Produktionsumgebung handelt, möchte man rund um die Uhr benachrichtigt werden.

 

Saeid Hassan-Abadi
Saeid Hassan-Abadi
Junior Consultant

Saeid hat im September 2019 seine Ausbildung zum Fachinformatiker im Bereich Systemintegration gestartet. Der gebürtige Perser hat in seinem Heimatland Iran Wirtschaftsindustrie-Ingenieurwesen studiert. Er arbeitet leidenschaftlich gerne am Computer und eignet sich gerne neues Wissen an. Seine Hobbys sind Musik hören, Sport treiben und mit seinen Freunden Zeit verbringen.

Tornado – Extend Icinga 2 for Active and passive Monitoring of complex heterogeneous IT Environments by Francesco Cina & Patrick Zambelli | OSMC 2019

This entry is part 3 of 4 in the series OSMC 2019 | Recap

 

At the Open Source Monitoring Conference (OSMC) 2019 in Nuremberg, Francesco Cina and Patrick Zambelli whirled up a „Tornado – Extend Icinga 2 for active and passive Monitoring of complex heterogeneous IT Environments”. If you missed their presentation: See the video of their introduction to Tornado and its use cases, and read a summary (below).

The OSMC is the annual meeting of international monitoring experts, where future trends and objectives are set. Since 2006 the event takes place every autumn in Nuremberg, Germany. Leading specialists present the full scope of Open Source monitoring and be ready to answer your hardest questions. Learn new techniques, exchange knowledge and discuss with top developers.

In-depth workshops the day prior to the conference and a Hackathon provide further possibilities to extend your skills and deepen your knowledge in IT monitoring and management.

The next OSMC takes place in 2021 in Nuremberg.
More information at osmc.de.


 

Tornado – Extend Icinga 2 for Active and passive Monitoring of complex heterogeneous IT Environments

Monitoring Challenges: Pool vs. Event.

First of all we have to explain the difference between Pool and Event approach. Icinga and nagios use the polling approach, which is scheduling monitoring or checks in a static time interval to get a specific state. You can derive from this state if the status from monitored device or service is critical or ok. That means, we know not only the results of monitoring but also the monitored systems. By Polling we have centralized configuration and control. This will be performed either agentless e.g. SHH, SNMP or through an agent for example Icinga, NSClient++.

Contrarily to this historical approach is the event based approach. On the one side we accept the matrix all the time from the remote system and we don’t know exactly what will come, but on another side we have to understand the incoming protocol and derive if there is a problem or not.

 

Advantages and disadvantages of polling and event:

Polling Pros

  • Control when a check should be executed
  • Get only the data which you are interested in
  • Knowing the context from the system you are interacting with (context = host, service, performance data)

Polling Cons

  • Static configuration for monitored architecture (not good for a changeable one e.g. micro services)
  • Continuously usage of resources day and night
  • Not all data is retrievable via polling

 

Event Pros

  • No delay to react when event happens
  • No need to know what to receive but understand it
  • Dynamic on fast changing architecture
  • Listen to channel => new added hosts are integrated

Event Cons 

  • Need to face large amount of data (peaks)
  • Lack for filtering at source. We can lose information specially when the protocol is not reliable e.g. UDP or SNMP
  • Risk to lose information
  • Not the right approach for host alive and service availability  

Combination of both Polling (Icinga 2) and event (Tornado) will definitive a winning:

With Icinga 2 we have the advantage to start a project very quickly and easily. We have a wide range of checks in the community. Through Templates we can create a reusable monitoring. We can adapt to changes in the architecture by interacting with CMDB or domain controller for example.

With Tornado we listen on the monitored host to the output of a service on a specific channel then we convert this output via collector to Json, which is the only recognized language by Tornado. After that we compare the flow with by regular expression created rules. In the end we forward an action to Icinga 2 – “Critical” for example. 

That means, when our infrastructure grows with new hosts we can monitor the availability from these hosts and their services with Icinga 2. We can control the output from services with Tornado.

 

How to handle the increased load?

01. Scale the monitoring system horizontally

When our servers and services grow, we can increase the number of monitoring instances. This is not good because it doesn’t work out of the box and too many problems will appear. Moreover the throughput does not go linearly. At a number of scaled nodes the overhead of communication and sycronization between them will take more time than analyzing the traffic itself.

02.  Use a big data system

We put a big data system between events and the monitoring system, for example kafka, spark, cassandra. The idea is, we reprocess the messages or the events and send only the important ones to the monitoring system. In this way we will reduce the flow against our monitoring system. This will definitely lead to reduce the load as well. It is a real solution but terribly expensive and needs a lot of knowledge with the used data system.

03. Tornado

Why is Tornado the solution?

  • Can handle millions of events per second per CPU
  • Stateless: the nodes don’t need to communicate to each other
  • Cloud-ready
  • Has collectors which translate events from format X to Tornado format (Json)
  • Take decision based on the event content
  • Cheap because it doesn’t need too much resources 

Tornado decides to pass the events to Icinga when they match the pipelines and the rules we defined in Tornado. Not suitable events will be dropped.

 

You liked this blog post and want to read more about different monitoring solutions? Then browse through our blog series, visit our YouTube channel or just contact us.

 

Afeef Ghannam
Afeef Ghannam
Support Engineer

Afeef hat seine Ausbildung Als Fachinformatiker in Richtung Systemintegration im Juli 2020 bei NETWAYS absolviert, seitdem unterstützt er die Kollegen im Support und bei der Betriebsunterstützung. Nach der Arbeit macht er gerne Sport, trifft Freunde oder mag es Filme zu schauen.