Fully packed to reduce heating – OSMC 2016 – Tag 1

OSMC 2016Auch dieses Jahr begann für mich wieder mit Tag 0, dem Workshop-Tag. Ich durfte Thilo bei einem voll ausgebuchten “Advanced Graphing”-Workshop assistieren, während nebenan Lennart und Thomas einen sehr praktischen “Icinga 2”-Workshop auf Basis der Beispiele aus ihrem Buch hielten. Für den Elastic-Stack waren David und Simon vor ebenfalls vollem Haus tätig, während Michi in entspannter Kleingruppe seine Teilnehmer in das Arbeiten mit Git eingewiesen hat. Und wie immer ging es nach den Workshops nahtlos weiter mit Fachsimpelei beim Abendessen und der anschließender Feuerzangen-Bowle auf dem Nürnberger Christkindles-Markt.

So richtig los ging Tag 1 dann wie immer mit Bernds Begrüßung, bei der sich schon zeigte, dass wir dieses Jahr mit über 300 Teilnehmern einen neuen Besucherrekord vorweisen konnten. Aus seiner Begrüßung stammt auch das Zitat, das ich als Titel für den diesjährigen Konferenzbericht gewählt habe. Zusätzlich zur eigentlichen Begrüßung stellte Bernd auch ganz stolz Netways Web Services vor, unsere neue Software-as-a-Service-Plattform vor. Aktuell zum freien Ausprobieren kann ich jedem empfehlen zumindest mal einen Blick darauf zu werfen, wer noch einen externen Satelliten für seine “Icinga 2”-Umgebung sucht. Und natürlich haben wir es uns nicht nehmen lassen James Fryman zum Geburtstag zu gratulieren.

Dieses Jahr fiel es mir wirklich durchgängig schwer mich für einen Talk zu entscheiden, daher empfehle ich jedem gleich vorweg gespannt auf das Konferenz-Archiv zu warten, um nicht nur das Wichtigste aus Vorträgen, die ich mir angeschaut habe mitzubekommen, sondern aus allen. Für den ersten Vortrag fiel meine Wahl auf Monica Sarbu mit “Monitor your Infrastructure with Elastic Beats” um mich über die aktuelle Entwicklung der Beats zu informieren. Interessant war auch wie die verschiedenen Beats genutzt werden können um relativ einfach Monitoring-Informationen aus Containern rauszubekommen. Eine Aufgabe, die ich doch als herausfordernd betrachte. Zusätzlich gab es nebenbei viele weitere nützliche Informationen, so kann beispielsweise Elasticsearch nun effektiver auch als “Timeseries Database” genutzt werden.

James Fryman hatte mit “Metrics are for chumps – Understanding and overcoming the roadblocks to implementing instrumentation” nicht nur wieder sein Talent für die Namensgebung eines Vortrags bewiesen, sondern hat es mit seiner humorvollen Art geschafft klar aufzuzeigen warum Metriken ein grundlegendes Feature sein sollten. Denn ohne Metriken lässt sich keine Aussage über Kapazität, Verbesserung oder Verschlechterung treffen und man muss sich auf Intuition oder Glück verlassen. Seine Präsentation enthielt nebenbei noch Tipps wo man Metriken abgreifen sollte, wie man Dev und Ops dazu bekommt die Wichtigkeit von Metriken zu verstehen und vieles mehr, wie immer sehr sehens- und hörenswert.

Tom hatte zu seinem Vortrag “Ein Jahr mit dem Icinga Director” volles Haus woran sich das Interesse an der graphischen Konfiguration ablesen lies. Von der einfachen Installation über manuelle Nutzung, Automatisierung, Agent-Deployment bis zum Ausblick auf geplante Features war alles in einer Stunde geboten. Ich denke mal nach dem Vortrag war nicht nur ich vom Director begeistert. Wenn man dann noch weiß wie viel Differenz zwischen offizieller und tatsächlicher Entwicklungszeit liegt, möchte man Tom doch glatt mit einem Gläschen oder auch Fläschchen Wein für weitere Features in Nachtarbeit motivieren! 😉

Nach der wie jedes Jahr üppigen Stärkung ging es für mich weiter mit Gerhard Laußer und “Open Monitoring Distribution 2016+”. Ein kurzer historischer Abriss und schon ging es zur OMD Labs Edition in die Consol die ganzen modernen Tools wie InfluxDB, Grafana und Icinga 2 integriert, so dass auch diese einfach als Teil von OMD zu installieren sind. Die Edition 2016 bringt dann noch zusätzlich Ansible für Neuinstallation, Update, Plugin-Verteilung und Inter-Site-Connections und den “Livestatus Multi Daemon” der Cache, Aggregierung, Sortierung und Formatierung für verschiedene Livestatus-Installationen bietet sowie Prometheus für Cloud-Monitoring.

Michael Medin gab uns in “Automated monitoring with Icinga and NSClient++” zusätzlich zum eigentlichen Thema Pro-Tipps zum Thema Präsentation. Allein die Neuerungen der letzten und nächsten Versionen aufzuzählen würde wohl den Rahmen sprengen. Interessant ist der von Michael angestrebte Paradigmen-Wechsel von aktiven Abfragen zu passivem Real-Time-Monitoring inklusive Metriken und automatischer Konfiguration.

Dieses Jahr mal was neues für mich, denn statt dem Vortrag des Icinga-Projekts wollte ich Shlomi Zadok zu “Security & Compliance automation and reports with Foreman” sehen, schließlich hat man nicht immer die Chance den Entwickler (in diesem Fall des Foreman-OpenSCAP-Plugins) persönlich zu hören. Neben der allgemeinen Erklärung was Foreman so ist, ging es natürlich primär um Compliancereports, welche ich bereits vor einer Weile in einem Blogpost behandelt habe. Die geplanten Erweiterungen klingen genau wie meine Wunschliste: Mehr Informationen und Anpassen der Profile in der Oberfläche sowie Ausführen der Remediation-Skripte via Remore Execution.

Natürlich will ich dem geneigten Leser auch die Neuigkeiten rund um Icinga nicht verschweigen. Fangen wir klein an mit dem überarbeiteten Dashboard, Performance-Verbesserungen in “Icinga 2″s Datenbankschnittstelle, Support für die “Icinga 2”-API als Kommandotransport in Icinga Web 2 sowie Verschönerungen wie die Möglichkeit Ankündigungsbanner zu schalten. Und machen groß weiter mit dem Cube, der Datawarehouse-Funktionalitäten für Icinga Web 2 bringt, sowie dem aktualisierten Businessprocess Module.

Nach dem Konferenztag geht es nun zur Abendveranstaltung in die Indabahn um gemeinsam der Völlerei zu frönen und sich weiter zum Thema Monitoring auszutauschen. Es werden sicher wieder die verschiedensten Personen und Projekte zusammenfinden und ich werde versuchen morgen zu berichten.

Hier mal ein paar erste Eindrücke:

 

Dirk Götz

Autor: Dirk Götz

Dirk ist Red Hat Spezialist und arbeitet bei NETWAYS im Bereich Consulting für Icinga, Nagios, Puppet und andere Systems Management Lösungen. Früher war er bei einem Träger der gesetzlichen Rentenversicherung als Senior Administrator beschäftigt und auch für die Ausbildung der Azubis verantwortlich.

Hackathon auf der OSMC 2016 – Jetzt schnell noch dabei sein!

Noch sieben osmc_package_hackathon_de_250x65Mal schlafen, dann heißt es wieder: meet | discuss | experience. Die OSMC geht in die 11. Runde. Die Vorbereitungen sind in vollem Gange und die GOLD Tickets, sowie Workshops (bis auf GIT) sind bereits ausgebucht. Freie Plätze können wir für folgendes besonderes Erlebnis noch anbieten: Den Hackathon.

Was ist denn überhaupt so ein Hackathon? Hier stehen vor allem die Teilnehmer und deren eigens kreierte Ideen rund um’s Thema Monitoring im Vordergrund. Nachdem bei einem gemeinsamen Abendessen am Vorabend des Hackathons die Ideen für Projekte gesammelt werden und die Teilnehmer sich kennenlernen können, werden dann die Themen festgelegt, die am Folgetag behandelt werden sollen. Wie schon erwähnt stehen hier die eigenen Vorschläge der Teilnehmer im Vordergrund. Einige Anregungen können „Elastic Beat“, „NSClient++“, „OpenNMS“, „Icinga Director“, „Puppet“, „Zabbix“ und „Icinga2“ sein.

Tatkräftige Unterstützung wird durch unsere Monitoring Spezialisten Steffen Siering, Michael Medin, Jeff Gehlbach, Thomas Gelf, Simon Hönscheid, Michael Friedrich und Rihards Olups gewährleistet. Ihr habt Lust, an eigenen Ideen und und Projekten zu arbeiten? Na dann noch schnell für den Hackathon anmelden. Zimmerreservierungen im Konferenzhotel sind für die Teilnahme am Hackathon noch verfügbar und können über die Konferenzwebsite mit gebucht werden.  Auch alle Informationen zur Konferenz, sowie die letzten zwei SILBER Tickets sind hier zu finden!

Julia Hackbarth

Autor: Julia Hackbarth

Julia ist seit 2015 bei NETWAYS. Sie hat im September ihre Ausbildung zur Kauffrau für Büromanagement gestartet. Etwas zu organisieren macht ihr großen Spaß und sie freut sich auf vielseitige Herausforderungen. In ihrer Freizeit spielt Handball eine große Rolle: Julia steht selbst aktiv auf dem Feld, übernimmt aber auch gerne den Part als Schiedsrichterin.

Warum veranschaulichen wir?

Jedem fällt wohl auf die Schnelle ein Beispiel ein, wo er in seinem Leben schon mal etwas veranschaulicht hat, ob nun für sich Selbst oder für Andere:

  • Das fängt schon in der Schule an; man hält ein Referat über ein kompliziertes Thema und muss dieses seinen Klassenkameraden verständlich erläutern.
  • Man arbeitet in der Uni an einem Text mit einer schier unermessbarer Tiefe und muss sich selbst veranschaulichen, was da nun eigentlich vorgeht.
  • Oder man ist auf der Arbeit in einer Position in der man neue Kollegen in ein Thema einführen muss, um diese nicht mit der Fülle an Informationen zu erschlagen, zieht man zum Vergleich einen ähnlichen, bereits bekannten Ablauf her.

In meinem praktischen Beispiel habe ich das neue Projekt, dass mein Mitazubi und ich nun zu bearbeiten haben.

Wir schreiben im Moment einen “Parser”, der für uns Informationen aus Übersetzungsdateien von Icinga Web 2 auslesen und in eine sortierte Array-Struktur packen soll.

Diese sind in dem .po Format von Poedit strukturiert.

Das sieht ungefähr so aus:

#: /this/is/the/location/toTranslate.php
#| msgid “tranlsate this”

msgid “Translate this.”
“This too, please”
msgtxt “Übersetze dies.”
“Das auch, bitte”

Diese Datei wird nun sortiert nach den verschiedenen Zeilenanfängen, die bereits anzeigen was der sich dahinter befindende String aussagt.

Die Veranschaulichung zur Lösung ist bei uns eine Art Wasserfall/Trichtersystem:
Die Zeile #| msgid “tranlsate this” würde wie folgt sortiert werden

blogpic

 

Im Code haben wir das mit einer sehr verschachtelten Konstruktion mit einigen Switch-Cases gelöst.
(Und dieses Chaos auch schon längst Grundüberholt)

switches

Dies zeigt auch, dass die Visualisierungen die wir machen um uns das Konzept darzustellen teilweise von der Umsetzung her stark abweichen. Solange es uns jedoch hilft die Übersicht zu bewahren, ist eine visuelle Darstellung immer gut.

In den meisten Fällen führt das Programmieren ohne visuelle Umsetzung dazu, dass der Code ungeordnet ist und man viele Fälle übersieht, die man nachher durch “dirty” Fixes wieder zu richten versucht. Das macht den Code unleserlich und führt dazu, dass die gesamte Arbeit umsonst war, da man den Code komplett neu strukturieren und neu schreiben muss.

Dies zeigt sich auch an unserem Projekt. Wir arbeiten gerade an der zweiten Version des Parsers, da wir das Problem in der ersten Version relativ ungeordnet angegangen sind, da wir fälschlicherweise angenommen hatten, dass so ein “kleines” Progrämmchen keiner größeren Planung bedarf. Oh wie wir uns geirrt haben.

Die jetzige Planung hat sich etwas gedehnt…

parser

Also daran denken: erst planen, dann schreiben.

Jennifer Mourek

Autor: Jennifer Mourek

Jennifer hat sich nach Ihrem Abitur erst einmal die große weite Welt angesehen, ehe es sie für Ihre Ausbildung zur Fachinformatikerin für Anwendungsentwicklung ab September 2016 nach Nürnberg zu NETWAYS verschlagen hat. Die Lieblingsfreizeitaktivitäten der gebürtigen Steigerwalderin sind das Zocken, Zeichnen und sich mit Freunden und Kollegen auf gemütliche Spiele- und Filmabende zu treffen.

Icinga2 API und BitBar auf MacOs

preview1Wir wollen APIs, warum? Weil sie schnell, einfach zu integrieren und zu bedienen sind. Nun hat Icinga2 eine API und es entstehen ganz viele Möglichkeiten diese zu nutzen. Wir bauen uns Dashboards mit Dashing oder zeigen den Status von Hosts in Foreman an.

Ich bin letztens über ein Tool BitBar gestolpert, dieses Tool kann mit einfachen Skripten die eigene “Mac OS X menu bar” erweitern. Hierfür braucht es nur die richtige Formatierung der Ausgabe und BitBar generiert ein weiteres Dropdown Menu.

Ich hab mir die Icinga2 API zu nutze gemacht und eine kleine Erweiterung gebaut um mir den Status von Icinga2 in meiner Menubar anzuzeigen.
Im Menu wird dann der globale Status entweder in grün oder rot, abhängig davon ob Hosts “down” und “unhandled” sind, angezeigt.
Der Aufruf dafür kann der Adresszeile im Browser entnommen werden.
/icingaweb2/monitoring/list/hosts?host_state=1&sort=host_severity&host_unhandled=1

Wenn wir am Ende dann ein “&format=json” an die URL hängen, haben wir ein gängiges Format um das Ergebnis in jeglichen Applikationen zu verwenden.
[{"host_icon_image":"","host_icon_image_alt":"","host_name":"web01","host_display_name":"web01","host_state":"1","host_acknowledged":"0","host_output":"DOWN","host_attempt":"1\/3","host_in_downtime":"0","host_is_flapping":"0","host_state_type":"1","host_handled":"0","host_last_state_change":"1474556541","host_notifications_enabled":"1","host_active_checks_enabled":"0","host_passive_checks_enabled":"1"},

Mehr dazu gibts auf Github unter icinga2_api_examples oder natürlich in der Icinga2 Dokumentation.

Thilo Wening

Autor: Thilo Wening

Thilo hat bei NETWAYS mit der Ausbildung zum Fachinformatiker, Schwerpunkt Systemadministration begonnen und unterstützt nun nach erfolgreich bestandener Prüfung tatkräftig die Kollegen im Consulting. In seiner Freizeit ist er athletisch in der Senkrechten unterwegs und stählt seine Muskeln beim Bouldern. Als richtiger Profi macht er das natürlich am liebsten in der Natur und geht nur noch in Ausnahmefällen in die Kletterhalle.

Monthly Snap September >Starface, Elasticsearch, OSBConf, Icinga 2 Notifications, RSpec Colleagues

Snsp September began with announcing update contracts for STARFACE telephone systems by Isabel.

Marius gave an insight in internal trainings at NETWAYS, while Johannes Meyer argued why everybody loves Icinga Web 2.

Thomas Widhalm showed how to do faster restarts for Elasticsearch, whereas Blerim explained RSpec tests with rspec-puppet-facts.

Siegfried demonstrated manual tests of Icinga 2 Notifications and Daniela, Pamela and Markus Waldmüller reviewed the OSBConf 2016.

Furthermore, two of our new colleagues, Julia Mehl, Gabriel and Noah, introduced themselves while Michael was diving into Elastic Stack 5.0.0-beta1 and Elastic Beats.

Julia Hackbarth

Autor: Julia Hackbarth

Julia ist seit 2015 bei NETWAYS. Sie hat im September ihre Ausbildung zur Kauffrau für Büromanagement gestartet. Etwas zu organisieren macht ihr großen Spaß und sie freut sich auf vielseitige Herausforderungen. In ihrer Freizeit spielt Handball eine große Rolle: Julia steht selbst aktiv auf dem Feld, übernimmt aber auch gerne den Part als Schiedsrichterin.

Icinga2 & LSW

Ich musste feststellen das man mit dem Linux Subsystem for Windows auch Icinga2 + Icingaweb2 auch zum laufen bringen kann auf einem Windows.

Also hier mein kleiner Erfahrungsbericht:

Es galt erstmal heraus zufinden welches Ubuntu in dem Subsystem verwendet wird.

Dazu verwenden wir folgendes Kommando:

# lsb_release -a

selection_019

Nun installieren wir erstmal Updates:

# sudo -i && apt-get update
gefolgt von eurem PW und dann dem Update:

selection_020

Als nächstes installieren wir das Icinga2 Repo fuer die anstehende installation von Icinga2.

# add-apt-repository ppa:formorer/icinga && apt-get update

selection_022

Nun legen wir mit der Datenbank los:

# apt-get install mariadb-server mariadb-client -y

Es muss hiernach das Passwort für den MySQL Root Benutzer angelegt werden.

# /etc/init.d/mysql start
# mysql_secure_installation

Login zu Mariadb:

# mysql -p
Anlegen der Icinga-IDO Datenbank:

selection_027

# create database icinga;
Festlegen des IDO Benutzers:

# grant all on icinga.* to 'icinga'@'localhost' identified by 'icinga';
# apt-get install nagios-plugins-all -y

Damit haben wir die Plugin-Checks installiert aber es fehlt uns noch der Webserver :

Dem widmen wir uns nun :

# apt-get install apache2
gefolgt von der simplen installation von icinga2;

# apt-get install icinga2

selection_031

Wir starten nun erstmal den Icinga2 Service:

# /etc/init.d/icinga2 start
Nun brauchen wir natuerlich auch den Rest 🙂

# apt-get install icingaweb2 icingacli icinga2-ido-mysql
Nach dem die Installation durchgelaufen ist editieren wir erstmal die IDO Konfig Datei:

selection_034

# vi /etc/icinga2/features-enabled/ido-mysql.conf
und kommentieren alle wichtigen eintraege ein und ändern Sie ggf. ab.

Wir müssen auch noch die die php.ini editieren:

# vi /etc/php5/apache2/php.ini
Wir suchen darin nach date.timzezone und tragen hier eine Sinnvolle Zeitzone ein.

apt-get install php5-gd php5-imagick

gefolgt von :

# /etc/init.d/httpd restart
Auch ein enablen der Commandpipe ist notwendig:

# icinga2 feature enable command
Fuer das Webfrontend benoetigen wir einen setup token

# icingacli setup token create
Der Webserver läuft schon , wir oeffen im Edge die folgende adresse https://127.0.0.1/icingaweb2/setup

und benutzen den angeforderten Token.

Wir fuellen das Setup Sinnvoll aus 🙂

Ausserdem muss ggf. die iptables firewall eingetragen werden:

# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

selection_054

Und erhalten zum Schluß ein laufendes Icinga2 welches im LSW installiert ist.

Ich hoffe ihr hattet bischen Spaß beim dem nachvollziehen oder nachbauen.

Ich freue mich über Feedback jeglicher Art.

Gruß

David

David Okon

Autor: David Okon

Weltenbummler David hat aus Berlin fast den direkten Weg zu uns nach Nürnberg genommen. Bevor er hier anheuerte, gab es einen kleinen Schlenker nach Irland, England, Frankreich und in die Niederlande. Alles nur, damit er sein Know How als IHK Geprüfter DOSenöffner so sehr vertiefen konnte, dass er vom Apple Consultant den Sprung in unser Professional Services-Team wagen konnte. Er ist stolzer Papa eines Sohnemanns und bei uns mit der Mission unterwegs, unsere Kunden zu glücklichen Menschen zu machen.