Seite wählen

NETWAYS Blog

NETWAYS Support Collector Roadmap

Den Support Collector konnte ich bereits in meinem letzten Blogpost vorstellen. Für alle die den Beitrag verpasst haben, hier kurz umrissen was es ist:
Bei dem Tool handelt es sich um einen von uns geschriebenen Datensammler, welche alle möglichen Support relevanten Daten von einem System sammelt und als ZIP verpackt. Das ZIP kann in Support Fällen an uns geschickt werden, damit wir uns einen Überblick über das System machen können.

Letzte Woche konnte mit Verzögerungen die Version 0.7.0 veröffentlich werden, welche nun auch Daten über die IcingaDB und Redis sammelt. Von Versionen bis hin zur Konfiguration und Service Status wird alles mit gesammelt.

Im Rahmen dieses Blogposts möchte ich euch einen kleinen Ausblick geben, welche möglichen Erweiterungen wir mit dem Support Collector noch abbilden möchten.

Systemweiter Datensammler

Zum aktuellen Stand sammelt der Support Collector Daten ein, speichert sie in eine Datei und verpackt dass alles zu einem großem ZIP. Das ganze passiert aber nur auf dem System auf welchen das Tool ausgeführt wird. Jetzt stehen wir natürlich vor dem „Problem“ dass Icinga 2 Umgebungen über mehrere Systeme verteilt sein können. So kann es sein dass einfach nur die Datenbank auf einem anderen Host läuft oder dass sich irgendwo noch ein zweiter Master bzw. Satelliten befindet. Aus Sicht des Supports wäre es natürlich schön auch diese Daten mit abzufragen.
Die Umsetzung des eben beschriebenen Vorhabens ist noch nicht ganz klar, da es hier neben vielen Kleinigkeiten vor allem die Security zu beachten gilt. Da wir uns auch vorstellen können, dass nicht ein jeder es gut findet, wenn wir komplette Systeme scannen, wird diese Funktion auch nur optional. Unser Augenmerk liegt darauf, dass der Benutzer frei entscheiden kann, was er gesammelt haben möchte.

Statistiken

Mit den gesammelten Daten lassen Sich natürlich auch aussagekräftige Statistiken erstellen. Anhand von diesen Daten könnten wir von den einfachsten Statistiken wie „Welche Versionen werden wie oft genutzt“, bis hin zu komplexen Themen wie „Durchschnittliche Größe eines Systems“ oder „Welche Hardware Specs für welche Icinga 2 Größe“ erstellen. Allerdings ist auch hier noch nicht zu eindeutig wie die Umsetzung aussehen soll, da hier ebenfalls die Security und Anonymität eine große und wichtige Rolle spielen.

Mit den zwei Punkten welche ich hier angesprochen habe, konnte ich euch nur einen kleinen Einblick gegeben, was an Feature Ideen noch in Planung sind. Sollte euch etwas einfallen, was aus eurer Sicht sinnvoll wäre umzusetzen, könnt ihr gerne ein Feature Request im Git Repository eröffnen.

Tobias Bauriedel
Tobias Bauriedel
Assistant Manager Operations

Tobias ist ein offener und gelassener Mensch, dem vor allem der Spaß an der Arbeit wichtig ist. Bei uns hat er seine Ausbildung zum Fachinformatiker für Systemintegration abgeschlossen und arbeitet nun im NETWAYS Professional Services - Team Operations und entwickelt nebenbei Projekte für die NPS. In seiner Freizeit engagiert er sich ehrenamtlich aktiv bei der Freiwilligen Feuerwehr als Atemschutzgerätetrager und Maschinist, bereist die Welt und unternimmt gerne etwas mit Freunden.

Der NETWAYS Support Collector

Dem ein oder anderen unserer Support Kunden ist unser neuer Support Collector vielleicht schon über den Weg gelaufen. Aber was ist das überhaupt? Und was bringt er?

Der NETWAYS Support Collector ist eines unserer neuesten Kreationen. Inspiriert von, dem mehr verbreiteten, icinga2-diagnostics ist die Aufgabe des Support Collectors, Daten über laufende Systeme und deren Komponenten zu sammeln.
So ist es möglich mittels eines einzelnen Aufrufes alle essentiellen Daten über das System zu sammeln.

Anhand dieser Daten können beispielsweise Support Abläufe effizienter gemacht werden oder sogar aussagekräftige Statistiken erstellt werden.

Der Support Collector kann neben den vorstellbar gängigen Daten wie Icinga 2 und Icinga Web 2 weit aus mehr.
Der aktuelle Rahmen, welcher durch das Tool abgedeckt wird, ist folgender:

  • Allgemeine System Informationen
  • Icinga 2
  • Icinga Web 2
  • Icinga Director
  • Mysql / MariaDB
  • PostgreSQL
  • Ansible
  • Puppet
  • InfluxDB
  • Grafana
  • Graphite

Für den User ist es selber wählbar, welche „Module“ durch den Support Collector alle gesammelt werden sollen. Standartmäßig werden alle „Module“ gesammelt, welche auf dem System gefunden werden.

Um den Sicherheitsaspekt zu beachten, werden alle Passwörter / IP Adressen / Token innerhalb der gesammelten Daten entfernt, bevor diese zu einen ZIP verpackt werden.
Die generierte ZIP Datei kann dann durch Support Kunden an unseren Support weitergeleitet werden, sobald ein Support Fall eintrifft.

Wer selber einen Blick auf den Support Collector werfen möchte, kann dies in dem GitHub Repository machen oder sich das Tool mit den durch uns bereit gestellten Paketen auf packages.netways.de/extra installieren.
Die –help Übersicht liefert einige Konfigurations Möglichkeiten, welche optional mitgegeben werden können.

Tobias Bauriedel
Tobias Bauriedel
Assistant Manager Operations

Tobias ist ein offener und gelassener Mensch, dem vor allem der Spaß an der Arbeit wichtig ist. Bei uns hat er seine Ausbildung zum Fachinformatiker für Systemintegration abgeschlossen und arbeitet nun im NETWAYS Professional Services - Team Operations und entwickelt nebenbei Projekte für die NPS. In seiner Freizeit engagiert er sich ehrenamtlich aktiv bei der Freiwilligen Feuerwehr als Atemschutzgerätetrager und Maschinist, bereist die Welt und unternimmt gerne etwas mit Freunden.

Rückblick auf die Ausbildung zum Fachinformatiker (Systemintegration)

Anlässlich der Tatsache, dass gestern die neuen Azubis Ihre Ausbildung bei uns begonnen haben und ich zusätzlich nach erfolgreichen drei Jahren in der Ausbildung bei der NETWAYS Professional Services GmbH sagen kann, dass ich es geschafft habe, habe ich es mir zur Aufgabe gemacht, den Azubis einen ersten Einblick in die kommenden drei Jahre zu geben.

Begin meiner Ausbildung war im September 2018. Als ich damals begonnen habe, war mein Wissen in der IT ziemlich begrenzt, da ich mich nicht wirklich mit dem Thema befasst hatte. Dadurch hatte ich es Anfangs gewissermaßen schwer, da meine Azubi Kollegen teilweise bereits aus IT Berufen kamen oder sogar Informatik studiert hatten.
Nach der Einführung in den Betrieb ging es auch direkt an die erste Schulung. Die „Linux Fundamentals“. Hier wird den Auszubildenden (oder auch Neueinsteigern) das Basis Wissen über Linux vermittelt, welches sie benötigen um damit arbeiten zu können. Von einfacher Benutzererstellung bis hin zu tiefem Debugging, wird hier alles angerissen um einen guten Start in der Ausbildung zu garantieren!

Nachdem man das erste „Basis Wissen“ hatte ging es auch direkt an die ersten Projekte wie zum Beispiel das „Auftakt Projekt“: Ein LAMP Stack (Linux Apache Mysql PHP), welches die Basis für eigene Webseiten oder in unserem Fall die Basis für ein MediaWiki bietet.

Um das Wissen ständig zu vergrößern werden neben den offiziellen Schulungen, welche durch NETWAYS organisiert und gehalten werden auch weitere interne Schulungen besucht. Hierzu gehören beispielsweise: Netzwerk Grundlagen, MYSQL Grundlagen, Security Schulung und Packaging Schulung.
Neben den Schulungen durch NETWAYS begleitet einen in diesen drei Jahren natürlich auch immer wieder das „lästige“ Thema Schule, welche die Grundlagen für alles Mögliche vermittelt.
Auch hier ist das Spektrum wieder riesig, da es von einfachen Zahlensystemen bis hin zu komplexen Netzwerk Systemen geht.

Nachdem ich mittlerweile alle diese Schulungen besucht habe, dazu passende Projekte bearbeitet habe, die Grundsteine durch die Schule gelegt bekommen habe und Erfahrung in der Arbeit mit Kunden sammeln konnte, würde ich persönlich über mich behaupten wollen dass ich mein Wissen, welches zu Beginn der Ausbildung bei verglichen mit dem jetzigen Stand nahezu bei Null war, gut ausbauen konnte. Durch die ständige Unterstützung während der Ausbildung bin ich heute in der Lage, größtenteils selbstständig zu arbeiten.

Unseren neuen Azubis wünsche ich natürlich alles Gute und eine ebenso erfolgreiche Ausbildung!

Solltest du jetzt auch Interesse haben, eine Ausbildung bei NETWAYS machen zu wollen, kannst du dich natürlich gerne für das kommende Lehrjahr unter www.netways.de/netways/jobs informieren.

Tobias Bauriedel
Tobias Bauriedel
Assistant Manager Operations

Tobias ist ein offener und gelassener Mensch, dem vor allem der Spaß an der Arbeit wichtig ist. Bei uns hat er seine Ausbildung zum Fachinformatiker für Systemintegration abgeschlossen und arbeitet nun im NETWAYS Professional Services - Team Operations und entwickelt nebenbei Projekte für die NPS. In seiner Freizeit engagiert er sich ehrenamtlich aktiv bei der Freiwilligen Feuerwehr als Atemschutzgerätetrager und Maschinist, bereist die Welt und unternimmt gerne etwas mit Freunden.

Was nehme ich aus meiner Ausbildung mit?

Unser drittes Lehrjahr (mich eingeschlossen) steht nach drei interessanten und lehrreichen Jahren kurz vor den Abschlussprüfungen.

In wenigen Wochen geht es dann darum, dass erlernte Wissen in der Abschlussprüfung korrekt wieder zugeben. Neben dem schriftlichen Teil der Prüfung, wird auch eine praktische Projektarbeit ausgearbeitet. Das Thema des Projektes ist frei von dem Auszubildenden zu wählen und einzureichen. Nach Absegnung der IHK, geht es dann darum das Projekt innerhalb 35 Stunden auszuarbeiten und eine Präsentation zu erstellen. In den vergangenen Jahren konnte ich mein Wissen rund um das große Thema IT stark erweitern. Sei es es durch Schulungen, Projekte oder die Arbeit mit Kunden. Aus allen Tätigkeiten, welche ich durchlaufen habe, konnte ich immer etwas lernen und mitnehmen.

Was nehme ich aus der Ausbildung mit?

Recherche geht über fragen

Als Auszubildender ist es natürlich logisch, dass man bei neuen Themen nicht direkt den richtigen Weg zur Lösung eines Problems weis. Zu Beginn meiner Ausbildung war in solchen Situationen immer mein Ausbilder meine erste Anlaufstelle. Mein Ausbilder hilf natürlich immer gerne, aber der Lerneffekt blieb da dann meistens weg.
Sollte ich nach meiner Lehre auf Probleme stoßen, ist es meist nicht mehr so einfach möglich schnell den Ausbilder zu fragen wie man etwas macht. Das Ziel der Ausbildung ist es ja, jemand heranzuziehen, der selbstständig arbeiten kann.
Durch diese Erkenntnis habe ich mit der Zeit angefangen, die Lösungen alleine raus zu finden.
Heute ist meine erste Anlaufstelle bei Problemen das Internet.

Fehler sind menschlich

Fehler passieren. Vorallem in der Ausbildung.
Aber man darf sich von denen nicht unterkriegen lassen, sondern daraus lernen.

Man lernt nie aus

Nach all dem Wissen, dass ich während der Zeit als Auszubildender gesammelt habe, ist das wahrscheinlich dass wichtigste was ich aus meiner Lehre mitnehme. MAN LERNT NIE AUS.
Die IT ist eine ständig und schnell wachsende Branche, was bedeutet dass immer wieder neue Produkte auf den Markt kommen. Sei es ein Update von einem Betriebssystem, Protokolle, etc.
Um nicht den Anschluss an den Stand der Dinge zu verlieren, ist es also dass aller wichtigste, sich auch nach seiner Ausbildung noch weiterzubilden.

Tobias Bauriedel
Tobias Bauriedel
Assistant Manager Operations

Tobias ist ein offener und gelassener Mensch, dem vor allem der Spaß an der Arbeit wichtig ist. Bei uns hat er seine Ausbildung zum Fachinformatiker für Systemintegration abgeschlossen und arbeitet nun im NETWAYS Professional Services - Team Operations und entwickelt nebenbei Projekte für die NPS. In seiner Freizeit engagiert er sich ehrenamtlich aktiv bei der Freiwilligen Feuerwehr als Atemschutzgerätetrager und Maschinist, bereist die Welt und unternimmt gerne etwas mit Freunden.

Mein erstes Icinga Web 2 Modul

Im Laufe meiner Ausbildung habe ich nun ein PHP Projekt bekommen. Ich soll ein Modul für unser heiß begehrtes Icinga Web 2 schreiben. Thema des Modules, ist die Darstellung deiner aktuellen System und Icinga 2 Daten. Von Zonen bis Firewall eine komplette Übersicht.

Das Thema des Blogposts soll aber nicht das Modul sein. Sondern möchte ich euch einen kurzen und einfachen Überblick darüber geben, wie ein solches Modul aufgebaut ist:

Das wichtigste was du wissen musst: Icinga Web 2 Module basieren auf dem icinga Web 2 Framework! Was das für dich als Modul Entwickler bedeutet, möchte ich dir kurz erläutern.

Icinga Web 2 Framework

Bei dem Icinga Web 2 Framework handelt es sich um ein objektorientiertes Framework für PHP. So ist es zum Beispiel nötig, einen Controller und eine View, pro Anzeigeseite zu erstellen.
Die Ordnerstruktur dazu kann wie folgt aussehen:


└── example
|      └── application
|         ├── controllers
|         |   ├── BaseController.php
|         |   └── IndexController.php
|         └── views
|            └── scripts
|               ├── base
|               |   ├── config.phtml
|               |   └── index.phtml
|               └── index
|                  └── index.phtml
└── configuration.php

Durch den Controller und die view wird automatisch die URL gebaut: localhost/icingaweb2/“Modulname“/“Controllername“/“viewname“.

Controller

Was ist ein Controller im Icinga Web 2 Framework?

Der Controller ist der Ort an dem all deine Magie passiert. Also die ‚main‘ der jeweiligen Seite.

Um einen Controller richtig zu definieren, hier einige wichtige Tipps, die unbedingt zu beachten sind:

Neben der korrekten Ordnerstruktur deines Modules und der richtigen Groß und Kleinschrebung, muss auch ein eindeutiges Namensschema deiner Dateiein eingehalten werden. Die Dateien müssen beispielsweise das dazu gehörige Schlagwort beinhalten.
Solltest du also einen Controller Index bauen wollen, besteht dein Filename aus dem ‚Controller Namen‘ und dem Schlagwort ‚Controller‘: IndexController.php

In deinem Controller werden Actions´s erstellt. Innerhalb dieser Actions wird der Quellcode geschrieben und deine Seitentabs erstellt.
Auch hier ist wieder auf Namensgebung und Groß und Kleinschreibung zu achten.

Beispielcode:

views

Was ist eine view?

Damit der Endbenutzer eine Ausgabe in seinem Icinga Web 2 erhält, werden die Ergebnisse deines Controllers an eine view weitergegeben.

Der Ordnername deiner view ist nicht frei wählbar. Er wird aus dem Namen deines Controller´s abgeleitet. Solltest du einen Controller namens Base haben, muss der Ordnername ebenfalls den Namen base haben (Man beachte, den Ordner klein zu schreiben).

In deinem Ordner werden nun die eigentlichen Views erstellt.
Die Standart Seite ist deine index.phtml. Solltest du eine Unterseite erstellen wollen, ist die view genauso zu nennen wie deine Action.

Ein Beispiel dafür wäre wie folgt:

configuration.php

In deiner configuration.php werden die Menüpunkte und sections erstellt. Solltest du für dein Modul also einen Reiter oder Unterreiter haben wollen, sind diese also hier zu definieren.

 

Solltest du ein eigenes Modul entwickeln wollen, oder dich nun mehr für das Thema interessieren, findest du unter dem Training-Module einen ausführlicheren Guide.

Tobias Bauriedel
Tobias Bauriedel
Assistant Manager Operations

Tobias ist ein offener und gelassener Mensch, dem vor allem der Spaß an der Arbeit wichtig ist. Bei uns hat er seine Ausbildung zum Fachinformatiker für Systemintegration abgeschlossen und arbeitet nun im NETWAYS Professional Services - Team Operations und entwickelt nebenbei Projekte für die NPS. In seiner Freizeit engagiert er sich ehrenamtlich aktiv bei der Freiwilligen Feuerwehr als Atemschutzgerätetrager und Maschinist, bereist die Welt und unternimmt gerne etwas mit Freunden.