pixel
Select Page

NETWAYS Blog

Modifier im Icinga-Director selbstgemacht

Ich bin sowohl als Consultant als auch als Ausbilder ein großer Fan von Hilfe zur Selbsthilfe. Der Blogpost wird also zum einen dem geneigten Leser hoffentlich helfen sich bei Bedarf seine eigenen Modifier für den Icinga-Director zu bauen, zum anderen will ich anhand des Beispiels auch beleuchten was ich so unter Hilfe zu Selbsthilfe verstehe. Daher will ich etwas weiter ausholen bevor der erste Code-Schnipsel kommt, wer also schon weiß was Modifier sind, wie man sie nutzt und warum man vielleicht Bedarf nach einem eigenen hat, darf gerne die Einleitung überspringen.

Modifier im Director ermöglichen es Daten aus der Import-Quelle anzupassen oder auch anzureichern, sprich es erlaubt der Monitoring-Administration auszubügeln was in der Datenquelle nicht passt oder auch einfach nicht für das geplante Regelwerk in Icinga 2 geeignet ist. Einfache Stringoperationen ermöglichen es bereits aus Hostnamen einen FQDN zu machen oder diesen aus möglicherweise getrenntem Hostnamen und Domäne zu kombinieren, komplexere Modifier machen beispielsweise einen DNS-Lookup um Icinga 2 zur Laufzeit vom DNS unabhängig zu machen. Bereits an den Beispielen sieht man hoffentlich, wie hilfreich diese Optionen sein können, und wenn damit dann Icinga 2 voll automatisiert mit Tausenden von Hosts befüllt wird, wird hoffentlich klar wie kritisch die Funktion ist. Nun gibt es natürlich trotzdem Bugs, einen hat Tom mit dem Release 1.9.1 gefixt und zwar dass bei Stringoperationen aus NULL-Werten ein leerer String wurde. Nachdem dieses Verhalten nun bereits länger so war, hat vielleicht der ein oder andere sich darauf verlassen, so dass es nun statt eines lang ersehnten Bug-Fix wie für mich, für diese Nutzer wie ein Bug erscheinen mag. Der Supportkunde der nun bei Patrick aufgeschlagen war, da dieser gerade wieder im Rahmen der Ausbildung das Operations-Team verstärkt, hatte zum Glück Verständnis für den Bug-Fix, aber trotzdem war nun sein Workflow kaputt. Als ein Beispiel wurde genannt, dass sie aktuell einen DNS-Lookup als Modifier nutzen, der gegebenenfalls wenn ein Name nicht auflösbar ist einen NULL-Wert zurückgibt, im nächsten Schritt wurde daraus ein leerer String und dann wurde der leere String durch einen regulären Ausdruck zum String “Unknown”. Von Patrick um eine kurze Einschätzung gebeten, sagte ich ihm er soll mal schauen ob der Modifier statt einem NULL-Wert direkt einen leeren String zurückgeben kann oder ein anderer Modifier genutzt werden kann um NULL-Werte zu befüllen. Nachdem diese Suche erfolglos geblieben war, hat er das Ticket in Richtung Icinga eskaliert, da das Kundenproblem nicht ohne Software-Änderung zu lösen war.

Nun hätten wir es darauf beruhen lassen können, da ich aber bei meinen Auszubildenden den Drang fördere, eine Lösung zu suchen statt das Problem nur jemand anders zuzuschieben und Patrick auch von Natur aus nicht zufrieden ist wenn er ungelöste Probleme vor sich hat, kam er erneut auf mich zu. Mit meiner Antwort, dass so ein Modifier in etwa 10 Minuten geschrieben sei, und dass er dies doch übernehmen könne, war er natürlich nicht ganz zufrieden bis ich ihm dafür meine Unterstützung angeboten habe. Da ich hier schon entsprechendes beigetragen habe, konnte ich ihm direkt sagen was zu tun ist und es kam dabei der Commit 4692b28 für den Director heraus. Dieser fügt einen Modifier hinzu der es erlaubt NULL-Werte direkt durch einen angegebenen String zu ersetzen, heißt der Kunde kann wieder seinen Workflow bauen und dieser dürfte sogar einfacher sein.

Modifier: Replace null value with String

Wenn man sich den Commit nun anschaut sind es nur zwei veränderte Dateien, zum einen der neu erstellte Modifier und zum anderen ist eine Registrierung notwendig. Der Modifier selbst besteht quasi aus einem Rumpf aus Namespace, verwendeten Klassen und seiner eigenen Klasse als Implementierung der Basisklasse sowie drei Funktionen in der Datei library/Director/PropertyModifier/PropertyModifierReplaceNull.php. Die Funktion getName() erlaubt es eine Beschreibung für das Auswahlfeld der Modifier zurückzugeben, addSettingsFormFields(QuickForm $form) erlaubt es zusätzliche, für den Modifier benötigte Eingabefelder zu definieren und transform($value) ist dann die eigentliche Modifikation, also bei einem NULL-Wert den eingegebenen String zurückzugeben ansonsten den ursprünglichen Wert. Entstanden ist das Ganze durch Kopieren und Anpassen eines ähnlichen Modifiers in 5 Minuten Arbeitszeit und 30 Minuten Erklärung.

<?php

namespace Icinga\Module\Director\PropertyModifier;

use Icinga\Module\Director\Hook\PropertyModifierHook;
use Icinga\Module\Director\Web\Form\QuickForm;

class PropertyModifierReplaceNull extends PropertyModifierHook
{

    public function getName()
    {
        return 'Replace null value with String';
    }

    public static function addSettingsFormFields(QuickForm $form)
    {
        $form->addElement('text', 'string', array(
            'label'       => 'Replacement String',
            'description' => $form->translate('Your replacement string'),
            'required'    => true,
        ));
    }

    public function transform($value)
    {
        if ($value === null) {
            return $this->getSetting('string');
        } else {
	    return $value;
	}  
    }
}

Zusätzlich muss der Modifier noch in register-hooks.php registriert werden, dazu benötigt es zwei Einträge. Zum einen muss der Modifier an sich bekannt gemacht werden und zum anderen dann noch als Umsetzung des Hook angeboten werden was der Director über eine Iteration durch ein mehrdimensionales Array löst, so dass der Modifier nur an entsprechender Stelle dem Array hinzugefügt werden muss. Dabei der Ordnung halber an die alphabetische Reihe gehalten und schon ist es auch hübsch. Dafür nehmen wir mal 1 Minute Arbeitszeit und 5 Minuten erklären an.

...
use Icinga\Module\Director\PropertyModifier\PropertyModifierReplaceNull;
...
        PropertyModifierReplaceNull::class,
...

Noch mal den Git-Workflow erklärt, den Commit in Patrick’s Fork gepusht, auf seinem Testsystem ausgecheckt, getestet und für gut befunden, Pull-Request erstellt, macht weitere 5 Minuten Arbeitszeit und 5 Minuten Erklärung, wobei ich mir diese hier spare und stattdessen auf einen älteren Blogpost verweise, den zusammen mit Kollegen geschrieben hatte. In Summe macht das in etwa eine Stunde aufgewandte Zeit, aber ich habe nun einen Auszubildenden, der beim nächsten Mal ein ähnliches Problem besser verstehen wird, es direkt lösen kann und als Bonus neben dem Erfolgserlebnis auch als Contributor beim Director auftaucht. Patrick hat sein Wissen erweitert, den Icinga-Kollegen Arbeit abgenommen und dem Kunden ohne lange Wartezeit eine Lösung geliefert, von der auch andere zukünftig profitieren werden. Beim nächsten Mal sind es dann vermutlich wirklich 10 Minuten Arbeit für Patrick! 😉

Was aber nun wenn man einen so speziellen Modifier benötigt, dass es keinen Sinn macht diesen dem Director und damit der Allgemeinheit zur Verfügung zu stellen? Durch den modularen Aufbau von Icinga Web 2 lassen sich Modifier als Hook auch aus einem eigenen Modul anbieten. Heißt wenn der Modifier speziell für eine bestimmte Import-Quelle benötigt wird, kann der Modifier im gleichen Modul eingebaut werden. Ist er dagegen nur für die eigene Umgebung relevant kann man ihn in ein separates Modul packen oder vielleicht mit in das Modul für das Theme des Unternehmens. Dafür müssten nur ein paar Kleinigkeiten angepasst werden. Der Modifier wäre dann im Modul an der Stelle library/MODULENAME/ProvidedHook/Director/PropertyModifier/ abzulegen, dementsprechend wäre der Namespace Icinga\Module\MODULENAME\ProvidedHook\Director\PropertyModifier und statt einer register-hooks.php erstellt man eine run.php mit folgendem Inhalt:

<?php

use Icinga\Module\MODULENAME\ProvidedHook\Director\PropertyModifier\PropertyModifierMODIFIERNAME;

$this->provideHook('director/PropertyModifier', PropertyModifierMODIFIERNAME::class);

Ich hoffe das Beispiel und die Erklärungen helfen demjenigen, der einen eigenen Modifier braucht, und ich konnte auch zeigen warum ich so ein großer Fan von Hilfe zur Selbsthilfe bin. Wer noch gar nichts mit den Import-Möglichkeiten des Directors anfangen kann, ist in der überarbeiteten Schulung Icinga 2 Advanced willkommen. Das Kapitel zu Import kommt aus meiner Feder und erklärt ausführlich und anhand von Übungen wie man Daten mittels SQL aus einer Datenbank importiert und mit dem Inhalt einer CSV-Datei ergänzt um Hosts anzulegen und aus einem LDAP-Verzeichnisdienst Benutzer und Gruppen zieht. Wer dagegen jemanden kennt, der ein bisschen Hilfe zur Selbsthilfe bekommen will, wir haben noch Ausbildungsplätze bei uns im Professional Services frei! Ich verspreche aber auch allen anderen Kollegen zu helfen, wenn sich jemand für eine der anderen Stellen interessiert! 😉

Das Beitragsbild kombiniert den Director von rones auf Openclipart mit dem Icinga-Logo.

Dirk Götz
Dirk Götz
Principal Consultant

Dirk ist Red Hat Spezialist und arbeitet bei NETWAYS im Bereich Consulting für Icinga, Puppet, Ansible, Foreman 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 wie nun bei NETWAYS.

Foreman 3.0 – Was bedeutet der neue Major-Release

Wer erinnert sich noch an die letzte Versionsnummer bei Foreman mit einer 1 am Anfang? Es war eine 1.24, also 25 Minor-Releases und ein ganzer Haufen Bugfix-Releases, bis zur 2.0! Und nun nach nur 6 Releases mit einer 2.x, kommt schon die 3.0? Hat die Entwicklung hier so viel Fahrt aufgenommen? Um gleich alle Bedenken vorweg zu nehmen: Nein, Foreman nutzt die Major-Versionen um eine größere Änderung an der Infrastruktur hinzuweisen. Mit 2.0 war es die Fokussierung auf PostgreSQL als einzige Datenbank und mit 3.0 ist es das Herauslösen von Puppet in ein separates Plugin.

Puppet als separates Plugin

Das Puppet bei Foreman eine Sonderstellung gegenüber den anderen Konfigurationsmanagementlösungen hat bzw. ab jetzt hatte, ist historisch leicht zu begründen, da Foreman als Managementoberfäche für Puppet entstanden ist. Schon lange sollten die anderen Lösungen aber möglichst gleiche Funktionalität bieten und als gleichwertig betrachtet werden können. Nachdem sowohl in der Community öfters die Frage aufkam, ob man Foreman auch ganz ohne Puppet nutzen kann, als auch sich für Red Hat die Strategie zu Ansible als einzige Konfigurationsmanagementlösung geändert hat, war es nur eine Frage der Zeit, dass Puppet mit den anderen Lösungen gleichgestellt und als ein Plugin heraus gelöst wurde. Das Red Hat hierfür verständlicherweise die Entwicklungszeit zurückfahren möchte, wurde auch bereits von Anfang an klar kommuniziert und somit hat Ondrej Ezr um Unterstützung aus der Community für die weitere Pflege gebeten. Hier geht der Dank ganz klar an die ATIX AG und dmTech, die sich hierzu bereit erklärt haben, sowie iRonin, die sie dabei unterstützen.

Bereits in den letzten Versionen war das Plugin verfügbar und konnte getestet werden. Mit 3.0 wird es immer noch standardmäßig installiert, kann aber falls Puppet nicht gewünscht ist einfach deinstalliert werden. Erst mit 3.1 ist es angedacht es nicht mehr direkt mit zu installieren.

Bis jetzt sind mir hier noch keine Probleme aufgefallen, aber wenn man bedenkt, dass hier dmTech mit wesentlich größerer Umgebung in Produktion testen kann, hätte mich das auch gewundert. Daher mein Aufruf an Foreman-Nutzer ohne Puppet-Umgebung, direkt mal das Plugin zu deinstallieren und zu testen, bzw. an die mit Puppet-Umgebung zu prüfen, ob nicht doch ein Fehler in ihrer Umgebung auftritt.

Neue Hostansicht als Preview

Natürlich bleibt die Entwicklung hier nicht stehen, der nächste große Schritt wird die Modernisierung der Hostansicht sein. Diese ist zwar immer noch funktional aber unbestreitbar in die Jahre gekommen. Wer möchte kann also die Chance nutzen, die neue Ansicht aktivieren und Feedback geben. Zwar sind bereits die ersten Detailverbesserungen für die 3.0.1 angekündigt, aber nur mit Feedback von Leuten die Foreman auch täglich nutzen, kann in meinen Augen auch das bestmögliche Ergebnis erzielt werden.

Wer also die neue Hostpage sehen möchte, muss unter “Administer -> Settings -> Generic” die Option “Show Experimental Labs” aktivieren. Nun taucht im Action-Menü der Hostübersicht eine neue Option “New Detail Page” auf.

Neue Host-Action 'New Detail Page'

Diese sieht aktuell folgendermaßen aus:

Neue Hostansicht

Teil der neuen Hostansicht ist bereits jetzt eine neue Statusübersicht, weitere Tabs für die verschiedenen Plugins werden in den nächsten Minor-Releases folgen.

Neue Statusübersicht

Über Lob, Kritik oder Anregungen freut sich der Feedback-Thread im Community-Forum.

Zukunftssicherheit

Die meisten anderen Änderungen möchte ich unter Zukunftssicherheit zusammenfassen. Zum einen setzt Foreman ab 3.0 auf mod_auth_gssapi für die Kerberos-Authentifizierung, damit steht dieser auch auf EL8 nichts mehr im Weg. Zum anderen wurde der Code zum Parsen der Systemdaten aus allen Quellen in Foreman selbst verschoben, was das angedachte Refactoring erleichtern sollte.

Dazu kommen noch kleine Änderungen an Permissions, Parametern und Defaults, die sich in der Upgrade-Warnings finden. Und zu guter Letzt wurde der Support für Ubuntu 18.04 und EL7 als Plattform abgekündigt, wobei für ersteres konkret mit 3.0 der Support ausläuft, bei EL7 gilt aktuell nur EL8 ab dieser Version als bevorzugte Plattform.

Zusätzlich listen die Release Notes noch eine große Menge an Detailverbesserungen und Bugfixes auf.

Ich wünsche allen ein erfolgreiches Update, Katello-Nutzer warten darum bitte noch auf den finalen Release der Version 4.2! Und wer sich fragt wovon ich hier überhaupt rede, kann sich ja mal unsere Produktseite anschauen, die wir vor kurzem aktualisiert und erweitert haben.

Dirk Götz
Dirk Götz
Principal Consultant

Dirk ist Red Hat Spezialist und arbeitet bei NETWAYS im Bereich Consulting für Icinga, Puppet, Ansible, Foreman 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 wie nun bei NETWAYS.

Recap of the Foreman Birthday event 2021 – It was a great experience

Last week on Thursday we had the Foreman Birthday event and I can proudly say it was a big success. So lets talk about two things in the blogpost, first about the event itself and second about the organization of the event.

A Foreman Birthday event traditionally consists of multiple talks including a Q&A and the social part which is a great coming together by beer and pizza and usually there is also some cake involved! For organizing the event we teamed up with ATIX, so we share responsibility hosting the event every other year and support each other while doing so. With them doing a great job moving the event online last year because of the pandemic, it was clear to me the event had to happen this year, too. The idea of an hybrid event was also dismissed quickly so also all social activities had to be online only.

So to get the talks together I did the typical mix of asking former speakers, making a public announcement, asking others I hoped they would perhaps give a great talk, asked Melanie and Bernhard to ask internally at Red Hat and ATIX, thinking about doing a talk myself, considering a kettle prod to motivate colleagues and this resulted in a great diversity of ideas. So choosing the actual talks had nothing to with finding the best one, but with picking a good mixture of relevant topics for Foreman and Katello users, addressing users and developers, having something likely new to many and updates on topics that matter most.

Now our NETWAYS Events team had some experience with online events with stackconf, a three day conference on open source infrastructure, being the biggest one. So when asked for recommendations one was to have the talks pre-recorded which I happily followed, but for more community interaction I still wanted to do live Q&A in addition to the included web chat. Thanks to my colleague Christian I had some nice guide to give to those speakers who never did a recording before. And all speakers delivered, one early, one in time, three after a reminder last minute and one with a delay, but having all except one allowed me to publish a schedule. I included some small breaks and an intro and outro, but as I was the only moderator it kept it rather short.

For the actual event Christian helped me to setup everything in OBS and map it to a stream deck, so I only had to push buttons, but it was still pushing the correct button at the correct time! So with every message I got more and more excited but also nervous as I recognized I will have a big, excited audience and everything was so well prepared that I was the only one who could mess up.

Stream of the Foreman Birthday event 2021

If you watch the recorded event at youtube, you will know what I mean. But you can also directly jump into the first talk from Manisha Singhal “Deploying servers in an Application Centric Way” where she introduces the Foreman plugin Application Centric Deployment which allows to deploy all the systems required for one application using Ansible. If you want to dive deeper into it also her example deploying an Elastic Stack and official documentation is available.

The second talk was by Matthias Dellweg of the Pulp project who gave “Pulp 3 introduction for Katello users – exploring the backend and tracing issues” which will hopefully help many Katello users in the future. The cli got directly packaged and included in the repositories on the event so you can directly try Matthias tips.

The third one is a great example for the community involvement in the project as Maria Agaphontzev did a “Demo and Feedback session for the new Job invocation wizard”, so there was directly the option to influence the future of this part of Foreman. If you still have some feedback for her, you can comment on her pull-requests or in the community forum.

In “Katello for Debian based systems: Update and Outlook” by Quirin Pamp you can learn about the state for Debian support, why development was slowed down and how they will get it going in the future. It looks like some small steps are still needed for feature parity to RPM support, but there are already plans to not stop there like adding support for source packages! If you are interested you can even join the discussion.

An always welcome talk is the “Red Hat Product manager update”. This time it was done by Dana Singleterry who told us about the plans Red Hat has for future development and as everything of this has to happen in Foreman, Katello and Pulp the community will directly benefit from this. And for the live Q&A Dana joined from the co-driver’s seat while traveling! This is some great commitment!

And last but not least Lukáš Zapletal told us “The story of webhooks plugin” which was a great mix of story telling and technical talk ending by him playing Happy Birthday on the piano. So watch this talk even if you are not using the Foreman plugin hooks at the moment and not thinking about using webhooks and shellhooks in the future! And if you already think answering questions from the co-driver’s seat is great commitment, then Lukáš is also over the top here because he had a garden party including a live stream of the event to celebrate Foreman’s Birthday and was answering questions from there!

Lukáš Zapletal live on the Foreman Birthday event 2021

But as I said having great talks is only one aspect and depending on your preferences even not the most important which brings me to the social event. As I do not like online conferences very much, I wanted a social event as near as possible to a normal conference and when asked our Events team told me they have planned something called workadventure for stackconf. So after a look into, I committed myself to the solution and just wanted to get feedback how it worked out on the much bigger conference. Because of me waiting on the feedback and other time limiting factors it was not possible to build a new setup for the Birthday Event, so I asked about re-decorating the one from stackconf what our Webservices team did.

Workadventure on Foreman Birthday event 2021

So while I did the stream more and more people used workadventure to connect and I was told people really enjoyed it. There were message popping up like “Melanie is stalking people” or “It is like a really conference I am missing out on talks”, so I think I reached my goal! And when I joined after the livestream I could still talk to people about 2 hours long until the last one left.

So from all the feedback I got the event was a great success and as I was only the one who brought all the pieces together my thanks goes to our Events team and Christian for their support and help, our Webservices team for the technical parts like the chat instance and workadventure, the speakers for their talks, Melanie and Bernhard who helped me with getting speakers, also Melanie, our and ATIX Marketing team for promoting the event and of course every one attending the event and making it such a great experience.

So I hope in-person events will be a thing in the near future and the Foreman community can come together next year on FOSDEM and Config Management Camp like we did before the pandemic and I am looking forward to next year’s Foreman Birthday event which will be hosted by ATIX again!

Dirk Götz
Dirk Götz
Principal Consultant

Dirk ist Red Hat Spezialist und arbeitet bei NETWAYS im Bereich Consulting für Icinga, Puppet, Ansible, Foreman 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 wie nun bei NETWAYS.

Foreman’s 12 birthday – we will have a virtual party

Beginning with Foreman’s 7th birthday in the year 2016 we are organizing an annual party to celebrate with the awesome community. As we partnered up with ATIX for organizing this event, it was their turn last year and with Covid19 they had the additional challenge to move a social event from meeting in person to online. While they did great, I had high hopes I could return back to normal in this year, but unfortunately also this year we have to stay virtual.

Nevertheless I can announce we will have another Foreman Birthday event on July 1st, 15:00 (CEST). We plan to have 5 to 6 30 minute talks with moderation by me accompanied and some kind of chat for live discussion and Q&A followed by a social event.

As we are still in the planing phase I can not go into detail about the social event or the chat solution but I can already confirm the first two talks.

  • Lukáš Zapletal will tell us “The story of webhooks plugin” as a mixture of technical talk and community success story.
  • Dana Singleterry will give as a “Red Hat Product manager update” so we will hear what Red Hat is planing for the next releases.

If you like to give a talk please get in touch with via email. We aim for a wide variety of talks, be it a new plugin or some new tricks for an old one, a case study showing your environment, about Foreman itself, Katello/Satellite/Orcharhino, Pulp, Candlepin or even Puppet and Ansible or the Community. Everything related to Foreman will be considered. We plan to have all talks pre-recorded and will provide guidance for doing so. After the talk we want to give everyone the chance to ask questions, so the speaker can answer them live.

So save the date and watch this thread in the Foreman Community for always up-to-date information. I hope to meet you all at the event! My plan is you will miss nothing of our normal program except the cake from this virtual event! 😉

Foreman Birthday Cake

Graphics used “Happy Birthday” by Hendrike under CC BY-SA 3.0 and “Foreman Logo” by Red Hat Inc. under CC BY-SA 3.0
Dirk Götz
Dirk Götz
Principal Consultant

Dirk ist Red Hat Spezialist und arbeitet bei NETWAYS im Bereich Consulting für Icinga, Puppet, Ansible, Foreman 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 wie nun bei NETWAYS.

Fachinformatiker als Junior Consultant

In meinem letzten Blogpost “Die Neuordnung der IT-Ausbildungsberufe und wir” habe ich bereits ein bisschen über die Änderungen an der IT-Ausbildung und meine Pläne für die Umsetzung bei NETWAYS Professional Services geschrieben.

Nachdem nun die Eignungsfeststellung bei der IHK positiv gelaufen ist, geht es an dieser Stelle nämlich weiter. Vor der Eignungsfeststellung muss man als Betrieb übrigens keine Angst haben, was erstmal nach viel Bürokratie klingt, war einfach nur eine ausführliche Vorstellung unseres Ausbildungskonzeptes und die Besprechung von sich daraus ergebenen Fragen. Die Stellenausschreibungen habe ich nun also angepasst bzw. neu erstellt und sie sind nun hoffentlich in neuem Gewandt online zu finden oder gehen bald online. In diesem Blogpost will ich nun also auf zwei Dinge eingehen, zum einen will ich nochmal etwas detaillierter darauf eingehen was die Umsetzung der Fachinformatiker-Ausbildung als Junior-Consultant bedeutet, zum anderen will ich auf unsere jeweiligen Schwerpunkte für die Fachrichtungen Systemintegration und Daten- und Prozessanalyse eingehen.

Aktuell beginnt die Ausbildung wie wohl in den meisten Unternehmen auch für unsere Junior Consultants mit einem Auftaktprogramm zum Kennenlernen des Betriebes, der Mit-Auszubildenden und der Kollegen. Doch schon direkt danach fangen wir an und legen die ersten Grundlagen mit einer Linux-Schulung. Darauf aufbauend vermitteln wir dann über die ganzen drei Ausbildungsjahr weitere Kenntnisse von Netzwerkgrundlagen bis hin zu den Sicherheitsfeatures von Linux. Aber neben den Fachkenntnissen dürfen auch andere nicht zu kurz kommen, daher befassen wir uns auch beispielsweise mit Unternehmensstruktur, der Firmenkultur oder der Gehaltsabrechnung. Die Tätigkeiten der anderen Abteilungen lernen die Auszubildenden durch unsere sogenannte Technik- und Abteilungswoche kennen, in der jeden Tag eine andere Abteilung die Chance hat sich zu präsentieren. Bei der vermittelten Theorie unterscheidet sich die Ausbildung also kaum zu den Junior System Engineers bei Managed Services oder ITSM und Junior Developers bei Icinga.

In der praktischen Ausbildung wird der Unterschied dann spätestens ab dem zweiten Lehrjahr deutlich, wenn aus reinen Ausbildungsprojekten die ersten Kundentermine werden. Im Idealfall begleitet der Junior Consultant also regelmäßig einen Senior Consultant auf dem Weg zum Kunden, um nicht nur sein Fachwissen in der Praxis zu erproben und erweitern, sondern sich auch Themen wie die Planung von Terminen, den Umgang mit dem Kunden, adressatengerechte Dokumentation und vieles mehr abzuschauen. Hierbei lernt man hoffentlich dadurch, dass man den Stil mehrerer Kollegen sieht, seinen eigenen zu finden. Ergänzt wird dies gerade in Zeiten von Corona aber zusätzlich durch gemeinsame Remote-Termine. Auch die Kollegen im Support darf man immer wieder unterstützen und kann so seine Kunden auch noch nach den Projekten betreuen und lernt wohl die wichtigste Fähigkeit in der IT: Probleme zu lösen.

Mit dem in der Praxis gesammelten Wissen unterstützen Junior Consultants auch unsere Schulungen als Co-Trainer, die Sales-Kollegen bei Webinaren und Pre-Sales oder auch andere Kollegen in abteilungsübergreifenden Projekten. Als Teil unseres Event-Teams oder zur Fortbildung können Konferenzen wie die OSMC oder das Config Management Camp besucht werden. Wir bieten unseren Fachinformatiker-Auszubildenden also eine praxis-orientierte und vor allem kundennahe Ausbildung, das geht sogar bis hin zu eigenverantwortlichen Kundenterminen, natürlich immer mit einem Kollegen als Unterstützung in der Hinterhand.

Mit der neuen Fachrichtung haben wir nun auch Schwerpunkte gesetzt. Der Fachinformatiker Systemintegration wird zukünftig unser Junior Consultant mit Schwerpunkt Monitoring und Automatisierung und der neu hinzugekommene Fachinformatiker Daten- und Prozessanalyse bekommt den Schwerpunkt Logmanagement und Graphing. Somit haben wir eine fokussiertere Ausbildung, was aber natürlich immer noch heißt, dass gerne über den Tellerrand geblickt werden darf.

Im Bereich Monitoring werden Systemintegratoren Kunden beim Aufbau und Pflege ihrer Icinga-Umgebung unterstützen und Programmieraufgaben sind überwiegend in Form von Monitoring-Plugins oder Icinga-Web-2-Modulen zu bewältigen. Bei der Automatisierung dreht es sich um Provisionierung und Konfigurationsmanagement, also die Werkzeuge Foreman, Puppet und Ansible, um selbst größte IT-Umgebungen einfach zu managen. Natürlich gehören auch der Umgang mit Logs oder die Visualisierung von beispielsweise Performancedaten aus dem Monitoring dazu, so dass auch hier weiter Grundlagen vermittelt werden.

Der Fachinformatiker Daten- und Prozessanalyse hat bei uns den Fokus auf die Datenanalyse und lernt es Daten zu sammeln und an Tools zur Aufbereitung weiterzureichen. Das sind bei uns vor allem Logmeldungen und ähnliche Events für Elastic und Graylog sowie Metriken für Grafana. Um diese Werkzeuge besser zu verstehen vermitteln wir Grundlagen in der statistischen Programmierung und auch hier profitiert man natürlich von Kenntnissen in der Automatisierung. Die Kenntnisse in der Prozessanalyse helfen dann hoffentlich dabei Hintergründe zu verstehen und abzubilden.

Vielleicht motiviert dieser Blogpost ja den ein oder anderen Bewerber, darum freu ich mich, wenn er mit möglichst vielen potentiellen Kandidaten geteilt wird. Auf der anderen Seite wundert sich nun hoffentlich der ein oder andere Kunde weniger wenn wir zu zweit auftauchen und sieht es nicht nur als Investment seitens NETWAYS in die eigene Zukunft sondern auch in die unserer Kunden, denn nur durch eine gute Ausbildung können wir unsere Kunden auch weiterhin so gut unterstützen.

Dirk Götz
Dirk Götz
Principal Consultant

Dirk ist Red Hat Spezialist und arbeitet bei NETWAYS im Bereich Consulting für Icinga, Puppet, Ansible, Foreman 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 wie nun bei NETWAYS.