Skip to content

Visualization of historical Nagios data

At the end of this semesters "Data and Information Visualization" class, we had to group up, take some interesting data and make a fancy visualization out of it. Most of the teams decided to visualize some kind of geospatial data in the field of data visualization. The Fukushima incident, pandemics and earthquakes in general were very popular. My teammate and I decided to take a topic from the field of information visualization. As he is working as network administrator for our university we had a chance to get hold of the universities Nagios log files of the last three years.

Data

As mentioned in the previous section the data consisted of Nagios logs, starting at the end of 2009 till March 2012. In total 810 days and a total of 956 individual hosts. Each Nagios log file consists of a large number of host states seperated by linebreak and with the following (relevant) fields:

Field Meaning Characteristics
date (in epoch time) quantitative
service what was measured nominal
hostname where it was measured nominal
state OK or error ordinal

In order to reduce the data to a meaningful subset we decided to only use three different states, to indicate the health status of single host and the network:

  1. PING - indicates if the host is only
  2. SSH - checks if local superuser login is possible (host is in correct boot state)
  3. GSSD - indicates if users are able to log in an retrieve their roaming profile

After this we had to handle the preprocessing from log files to a more query-friendly storage (MySQL). Therefore I hacked some ruby code into a sophisticated log converter and you can trust me this part was really f**** up. Nagios logs are a mess ... you won't believe. But finally we had about 240.000 time spans in our DB, everyone representing a single fail state.

User

The user modeling was kind of the easiest part of this project. We decided to develop our visualization for the only user who already uses Nagios, the network administrator. This is directly related to the underlying problems of Nagios and the visualization goals as you will see in the next section. Later on, when we had decided for the first visualization technique, we identified a secondary user. As you will see, the chosen visualization is also able to assist management/human resources to identify weak spots, schedule holidays and hire additional staff.

Goals

The main problem with Nagios is that a user can only view a snapshot of the current state of his network, but as everyone who has ever worked in this field knows that operating a network makes it necessary to also have a historical view onto the data. For example may recurring problems with a single server lead to problems on a large number of hosts. Therefore the operator should be able to identify local problems in a global, historical context.

  1. global: overall health status in a long period (e.g. one year), support identification of recurring problems
  2. local: detailed long term development of health status of single hosts in selected time period

Many of these problems occur due to temporal effects:

  • seasonal effects 
    • e.g. winter, summer - problems with ir conditioning 
    • holidays
  • day of week 
    • e.g. weekdays vs. weekends 
    • patchdays (eg. Microsoft, every 2nd tuesday in month)

This resulted in the first sub-goal for our visualization. We needed a good overview on the health of the network as an entry for a more detailed analysis. At the same time it satisfies the first point of the Visual Information Seeking Mantra "Overview first, zoom and filter, then details-on-demand". To address this issues we decided to implement a techniques proposed by Rick Wicklin and Robert Allison from the SAS Institute. You can find a poster of their idea here. They used it to analyse flight patterns in the US airline traffic.

With two or three days left for the implementation phase of our own solution, I came up with this:

In order to support the user in detailed analysis, two more visualizations have been developed. These rely on traditional line graphs as they are known from similar tools. The final visualization look like the following screenshot, allowing the user to proceed as follows:

  1. The user selects the year he wants to work with. The program fetches the data from database and renders them. 
  2. After selecting a year from the drop down menu, the user can select a single day for further analysis from the calendar. The current selection is shown in 2b, the selected cell is highlighted and the detailed visualizations will be shown. 
  3. The UI presents a list of the top 10 problematic hosts on that day (permanent offline hosts are filtered!). He then can choose one of these hosts and will be presented with a line chart showing the long term development of the selected host. 
  4. Selecting a specific day in the line chart selects this day, all visualizations will be updated according to the selection.


Conclusion 

Does it represent the underlying phenomena?

In the operation of a network with a large number of computers recurring problems are very common. This may be seasonal effects, such as problems with cooling in the summer, or weekly / monthly conducted Patch Days. Various factors, such as network overload or unavailability of central servers (DNS, File Server, ...) can also lead to subsequent errors on the clients. The chosen visualisation for the annual overview supports the detection of recurring events significantly better than those in other software, that usually uses line charts, by the kind of arrangement and the chosen color scale. In contrast to this, line charts were used in the daily overview and in the visualization of the long-term development of a single host. Here the separation of individual services and the corresponding time dependent, detailed information is essential for a meaningful analysis by the user.

Does it help the user to understand the phenomena?

As already described, after the analysis of the underlying data we have identified a primary and a secondary user of the visualization. As a technical operator, the primary user knows the specific characteristics of the network and the associated hosts. On the global level the visualization allows him to quickly identify problematic time periods and his specific knowledge and the other two visualizations enable him to narrow down problems to individual hosts. The data obtained in this way can then be used to investigate a single day more accurately and to recognize coherences at the host level. Based on these findings the network operator may perform improvements to the network. The chosen workflow from a global perspective to a local one thus provides an intuitive way of exploring the given data and locating problems. For the secondary user, only the first visualization may be relevant, because of his lack of technical insight. However, it may be extremely helpful in the planning of human resources if the network is subject to seasonal fluctuations.

Realitätsabgleich Softwareentwickler

Der Koehntopp hat einen sehr lesenswerten Artikel darüber geschrieben, was einen da draußen in der echten Welt wirklich erwartet.

Wir erzählen diesen Leuten an der Uni, daß sie Technik zum Ausprobieren bekommen werden oder Wahlfreiheit haben werden in den Mitteln und Methoden, die sie einsetzen werden. Und wir machen Ihnen Hoffnung, daß sie neuen Code schreiben werden. Später, wenn diese Personen von der Uni abgehen, landen sie in einer Umgebung, die erstens eine Technik und die Best Practice zu ihrem Einsatz genau definiert und die zweitens einen Haufen existierenden Code hat, der läuft und Geld verdient, aber der zu verändern oder zu erweitern ist. 

Wem das zu lang ist, für den gibt es auch eine grafische Version.

Kunst?

Die Uni Paderborn baut im Moment wie verrückt. Das liegt wohl daran, dass sich viele Leute immer noch darüber beschweren, dass letzte Woche zwischen 13.45 und 13.47 Uhr zwei(!) freie Sitzplätze in der Mensa gesichtet worden sind und die durchschnittliche Wartezeit, bis man die Kassen hinter sich hat, in der vorlesungsfreien Zeit von ~25 Minuten auf unter 20 Minuten gesunken ist!

Lange Rede kurzer Sinn, das Land hat einen Kunst-und-Bau-Wettbewerb zur Gestaltung einer Außenanlage veranstaltet und der Gewinner wurde eben bekanntgegeben. Kleine Anleitung gefällig, wie man diesen Artikel lesen muss?

  1. Zum Entwurf scrollen.
  2. Im Hinterkopf behalten, dass man 6 Bänke, 6 Blumenkästen und 5 Bauklötze gesehen hat.
  3. Dann diesen Satz auf der Zunge zergehen lassen: "Auf einer Fläche von 12 x 6 m sind fünf flache Bronzeskulpturen verteilt, die in einer rasanten Zeit und Gesellschaft eine Möglichkeit des Rückzugs und der Regeneration darstellen."
  4. Dann nochmal an die 6 Bänke, 6 Blumentöpfe & 5 Bauklötze denken
  5. Die Förderungshöhe lesen: "Das Land finanziere das Kunstwerk mit 100.000 Euro."
  6. Den Kopf mit größtmöglicher Geschwindigkeit gen Tischplatte beschleunigen.

Wenn diese Uni eines braucht, dann sind das mehr Möglichkeit des Rückzugs und der Regeneration ... nicht.

Türöffner-Tag am 10. Juli 2011 - HNI

Der WDR veranstaltet im Rahmen der Sendung mit der Maus am 10. Juli dem "Türöffner-Tag". Das ist wohl sowas wie ein Tag der offenen Tür oder so ... jedenfalls machen da ziemlich viele, ziemlich interessante Institutionen mit. Unter anderem auch das Heinz Nixdorf Institut. Und die wiederum haben ein super cooles Video gedreht, bei dem man einen guten Eindruck davon bekommen kann mit was für Leuten ich den ganzen Tag rumhänge und wie es bei uns aussieht. :-)

Kommt vorbei!

Eduroam, KDE und die upb

Für viele KDE Nutzer ist die Netzwerkverwaltung mit der 4er Reihe zu einem roten Tuch geworden.Obwohl sich seit den ersten mehr als schlampigen Versuchen viel getan hat und KNetworkManager mittlerweile fast gut funktioniert, doktort die KDE-Community seit 2009(!) an dem Versuch herum EAP-TLS zu unterstützen. Ich habe selbst mal den verzweifelten Versuch unternommen, diesen eigentlich simplen Bug zu fixen, aber die Angelegenheit ist ohne Vorkenntnisse nicht so einfach wie gedacht ... zu viele Abhängigkeiten, Seiteneffekte und zu wenig Zeit.

Zum Glück ist mir gestern nach 1 1/2 Jahren an der Uni Paderborn endlich aufgefallen, dass hier auch EAP-TTLS funktioniert, leider ein undokumentiertes Feature. EAP-TTLS hat unter KDE schon immer (mit einer kleinen Ausnahme in 2008(?)) gut funktioniert. Nicht ganz so sicher wie EAP-TLS und CHAP funktioniert bei mir auch nicht, aber das schiebe ich mal auf den Broadcom Treiber. Auf jeden Fall besser als das doofe webauth. :-)


Auditentorium

Die Universität Paderborn kämpft seit einiger Zeit mit Platzproblemen. Im letzten Semester gab es zum Beispiel so eine lustige Regelung bei den Lehrämtlern(?), dass die Hörer in zwei Gruppen eingeteilt wurden und die dann wöchentlich abwechselnd zu den Vorlesungen kommen durften. Für das kommende Wintersemester haben sie sich was Neues einfallen lassen - Uni im Zelt. Im darauffolgenden Sommersemester wollen sie die "Räume" in einen ehemaligen Praktiker Baumarkt, der in Sichweiter meiner Wohnung liegt und seit dem 28.08. geschlossen ist, umziehen. Kein Scherz! Als ob sie damit auch nur geringfügig was an dem Problem ändern könnten, die ganze restliche Infrastruktur passt nicht zu so einem Andrang. Das fängt bei der Mensa an, die selbst im Sommersemester 30% über Kapazität war und hört auf bei dem nicht vorhandenen Angebot an Rückzugsmöglichkeiten zum lernen und arbeiten.

Achja, es gibt so Momente, da wünsche ich mich zurück an meine kleine verträumte FH. :-D

[via]

Du kennst dich doch mit Computern aus!?!

Das musste aber auch endlich mal gesagt werden!

Der Informatikunterricht wird jedoch an den Folgen der auf oberflächliche Handhabungsfertigkeiten ausgerichteten Ausbildung noch viele Jahre zu leiden haben. Nicht allein deshalb, weil es schwierig ist, in kurzer Zeit und ohne entsprechend ausgebildete Lehrpersonen den Übergang von einem schlecht eingeführten Unterricht zu einem qualitativ hoch stehenden Unterricht zu vollziehen, sondern auch deshalb, weil die Informatik in der allgemeinen Öffentlichkeit ein falsches Bild bekommen hat. Informatiker sind nach landläufiger Meinung diejenigen, die "gut mit Computern umgehen" können, d.h. diejenigen, die möglichst viele Tricks kennen, mit welchen den von allerlei Unzulänglichkeiten ihrer Werkzeuge geplagten Computeranwendern geholfen werden kann. Wir sollten dieses Zerrbild unbedingt mit dem Inhalt klassischer Fächer wie Mathematik, Physik und Chemie vergleichen, denen wohl kaum jemand die grundsätzliche Substanz absprechen wird, auch wenn die Relevanz einzelner Themen durchaus diskutiert werden kann. (Quelle: Informatik Spektrum 2/2010)

[via]