Seite wählen

NETWAYS Blog

NETWAYS GitHub Update – März 2023

Willkommen beim NETWAYS GitHub Update, unser monatlicher Überblick über unsere neuesten Releases. Und hier die aktuellen Veröffentlichungen unserer GitHub Projekte vom März!

Für weitere und schnellere Informationen kannst du uns auch auf GitHub folgen: https://github.com/NETWAYS/

icinga-installer Release v1.2.0

Der icinga-installer unterstützt nun das Icinga Web 2 Reporting Modul und das Management von LDAP/AD Authentifizierung.

Changelog

  • Hinzugefügt: Support für icingaweb2-module-reporting Modul
  • Hinzugefügt: Support für icingaweb2-module-pdfexport Modul
  • Hinzugefügt: Weitere Apache vhost Konfiguration
  • Hinzugefügt: Management von LDAP und AD Authentifizierung

https://github.com/NETWAYS/icinga-installer/releases/tag/v1.2.0

check_sentinelone Release v0.2.0

Das Check Plugin für den SentinelOne Cloud Service hat ein paar neue Optionen und viele Änderungen im Buildprozess.

Changelog

  • Filtert nun nach aktiven Sites und ein optionaler Filter für computer_name
  • Golang strings.Builder für speicherfreundlichere String Konkatenation
  • Update des Hilfe- und Version-Outputs
  • Einige neue Tests und neuer Buildprozess

https://github.com/NETWAYS/check_sentinelone/releases/tag/v0.2.0

go-check Release v0.4.1

Die go-check Bibliothek hat einen kleinen Bugfix für PartialResults.

Changelog

  • Bugfix in der Logik der PartialResults Verarbeitung

https://github.com/NETWAYS/go-check/releases/tag/v0.4.1

check_logstash Release v0.8.2

Das neue check_logstash Plugin hat ein paar kleine Optimierungen unter der Haube.

Changelog

  • Das Health Subcommand funktioniert nun auch für Logstash 6
  • Einige 3rd-Party Abhängigkeiten entfernt
  • Abhängigkeiten aktualisiert

https://github.com/NETWAYS/check_logstash/releases/tag/v0.8.2

ansible-role-ca Release v0.1.0

Wir bieten jetzt eine Ansible Rolle für die Verwaltung von CA und Zertifikaten an!

Die Rolle ist noch in einem sehr frühen Stadium, daher sind Pull Requests und allgemeines Feedback sehr Willkommen.

Changelog

  • Initiales Release!

https://github.com/NETWAYS/ansible-role-ca/releases/tag/0.1.0

Markus Opolka
Markus Opolka
Senior Consultant

Markus war nach seiner Ausbildung als Fachinformatiker mehrere Jahre als Systemadministrator tätig und hat währenddessen ein Master-Studium Linguistik an der FAU absolviert. Seit 2022 ist er bei NETWAYS als Consultant tätig. Hier kümmert er sich um die Themen Container, Kubernetes, Puppet und Ansible. Privat findet man ihn auf dem Fahrrad, dem Sofa oder auf GitHub.

NETWAYS GitHub Update – Februar 2023

Willkommen im NETWAYS GitHub Update! Hier erhältst du zukünftig einmal im Monat einen Überblick über unsere neuesten Releases. Und hier die aktuellen Veröffentlichungen unserer GitHub Projekte vom Februar!

Für weitere und schnellere Informationen kannst du uns auch auf GitHub folgen: https://github.com/NETWAYS/

icinga-installer Release v1.0.0

Der icinga-installer – ein einfach zu benutzender Installer für Icinga – ist nun in Version v1.0.0!

Changelog

  • Hinzugefügt: Feature influxdb2
  • Hinzugefügt: IcingaDB Support
  • Projekt Struktur und Parameter angepasst

https://github.com/NETWAYS/icinga-installer/releases/tag/v1.0.0

check_logstash Release v0.8.0

Wir haben das check_logstash Check Plugin in Golang neu geschrieben. Das hat einige Vorteile für dich und für uns. Das Check Plugin kommt jetzt in einer einzigen Binary Datei, also keine Installation weiterer Pakete mehr nötig. Außerdem ist der Code jetzt komplett getestet, damit können wir die zukünftige Entwicklung beschleunigen.

Changelog

  • Rewrite in Golang

https://github.com/NETWAYS/check_logstash/releases/tag/v0.8.0

check_microsoft365 Release v2.0.1

Ein kleines Update mit einigen Bugfixes und aktualisierten Abhängigkeiten.

Changelog

  • Abhängigkeiten aktualisiert
  • Fix: Timeout Trigger
  • Fix: Versionsnummer Anzeige

https://github.com/NETWAYS/check_microsoft365/releases/tag/v2.0.1

go-check Release v0.4.0

Die go-check Bibliothek – um Check Plugins in Golang zu schreiben – hat neue Features und Bugfixes.

Changelog

  • Feature: PartialResults
  • Feature: Metric Verarbeitung
  • Fix: Kein „|“ Output bei leeren perfdata
  • Fix: Weniger strikte perfdata UOM Verarbeitung
  • Refactor: strings.Builder Nutzung für mehr Performance

https://github.com/NETWAYS/go-check/releases/tag/v0.4.0

Ansible Role Redis Cluster Release v0.1.0

Wir bieten jetzt eine Ansible Rolle für die Verwaltung von Redis an! Die Rolle ist noch in einem sehr frühen Stadium, daher sind Pull Requests und allgemeines Feedback sehr Willkommen.

Changelog

  • Initiales Release!

https://github.com/NETWAYS/ansible-role-redis-cluster/releases/tag/0.1.0

Markus Opolka
Markus Opolka
Senior Consultant

Markus war nach seiner Ausbildung als Fachinformatiker mehrere Jahre als Systemadministrator tätig und hat währenddessen ein Master-Studium Linguistik an der FAU absolviert. Seit 2022 ist er bei NETWAYS als Consultant tätig. Hier kümmert er sich um die Themen Container, Kubernetes, Puppet und Ansible. Privat findet man ihn auf dem Fahrrad, dem Sofa oder auf GitHub.

Warum Python?

Als Systemintegrator in der IT-Welt stellt man früher oder später fest, dass man das Verstehen und Schreiben von Programmiersprachen nicht ignorieren kann. Je nachdem, in welcher IT-Bereich man tätig ist, wird man mit Programmiersprachen konfrontiert.

Wir bei NETWAYS bieten Open Source Lösungen, etwa in den Bereichen Monitoring, Cloud, Log-Management und Schulungen zu diesen Themen und Tools. Unter anderem etwa Lösungen für Automation, wo wir uns hauptsächlich mit Puppet und Ansible als Automation-Tools beschäftigen. Nachdem ich in letzter Zeit bei einigen Automation-Projekten dabei war, habe ich mich also mehr mit Ansible auseinander gesetzt. Ansible ist eine Automatisierungswerkzeug zur Orchestrierung, sowie der allgemeinen Konfiguration und Administration von Computern. Ansible ist Open Source und in Python geschrieben. Dabei bin ich immer wieder in Zusammenhang mit den Ansible-Modulen oder spezifischen Ansibel-Rollen für unsere Kunden auf Python gestoßen. In diesem Blog befassen wir uns mit der Definition und mit Vor- und Nachteilen von Python als Programmiersprache.

Was ist Python?

Programmiersprachen haben eine hohe Vielfalt und jede hat ihre eigenen Verwendungen und Vor- und Nachteile. Eine der objektorientierten Sprachen, die viele Anwendungen hat, ist Python. Python wurde im Jahr 1991 entworfen und veröffentlicht. Python ist Open Source und einfach zu lernen und damit geeignet für den Einsieg in die Welt des Programmierens. Python kann in vielen verschiedenen Bereichen wie Website Design, Softwareentwicklung und Skripting eingesetzt werden. Außerdem können die in Python geschriebenen Codes in einer Vielzahl von Plattformen wie Linux, Windows, Mac, sogar in Mobiltelefonen usw. implementiert werden.

Vorteile

Bedienung

Python ist aufgrund der Nähe zur menschlichen Sprache eine der am einfachsten zu erlernenden Sprachen, insbesondere für Anfänger. Im Vergleich zu Java und C können dieselben Funktionen in weniger Zeilen ausgeführt werden.

Libraries

Python verfügt über viele Standardbibliotheken in verschiedenen Bereichen wie das Internet, Webservice-Tools, Betriebssystemschnittstellen und Protokolle. Die am häufigsten verwendeten Programmieraufgaben werden in Python geschrieben, um die Anzahl der Codezeilen zu reduzieren, die zum Schreiben eines Programms erforderlich sind.

Integration

Python integriert „Application Integration“ und verbessert somit die Entwicklung von Webdiensten durch den Aufruf von COM- oder COBRA-Komponenten. Python verfügt über leistungsstarke Steuerungsmöglichkeiten, da sie direkt von C++, C oder Java mit Jython aufgerufen werden kann. Python kann auch XML und andere „Markup Languages“ verarbeiten, um auf modernen Betriebssystemen über ähnlichen Bytecode ausgeführt zu werden.

Flexibilität

Python ist sehr flexibel und erlaubt dem Benutzer daher, neue Dinge auszuprobieren. Python hindert den Benutzer nicht daran, etwas anderes auszuprobieren. Andere Programmiersprachen bieten diese Art von Flexibilität und Freiheit nicht und daher ist Python in diesen Fällen eher vorzuziehen.

Nachteile

Geschwindigkeit

Python ist eine interpretierte Sprache und übersetzt daher den Code Zeile für Zeile. Dadurch ist seine Verarbeitungsgeschwindigkeit niedriger als die einiger anderer Sprachen.

Mobilgeräte

Laut vielen Programmierern ist Python keine geeignete Sprache, um in der mobilen Umgebung ausgeführt zu werden. Außerdem erkennen Android und iOS Python nicht, Python kann jedoch im mobilen Umfeld verwendet werden. Dies erfordert jedoch mehr Zeit und diverse Einstellungen.

Speicherverbrauch

Python hat einen sehr hohen Speicherverbrauch. Dies liegt daran, dass es hinsichtlich Datentypen flexibel ist und viel Speicher verwendet. Python ist keine gute Wahl für speicheroptimierte Aufgaben.

Zusammenfassung

Heutzutage gibt es viele Programmiersprachen in der IT-Welt, die auch rege verwendet werden. Jede dieser Sprachen ist in einem bestimmten Bereich stärker als in anderen. Die Wahl der richtigen Programmiersprache beschäftigt viele, die planen in die Welt des Programmierens einzusteigen.

Die Entscheidung, welche Sprache man lernen soll, hängt von der Anwendung ab und persönlichen Interessen.
Python wurde entwickelt, um Produktivität, Lesbarkeit und Benutzerfreundlichkeit zu betonen. Aus meiner persönlichen Erfahrung als Anfänger kann ich sagen, dass es großen Spaß macht, Codes in Python zu schreiben, da die Lernkurve ab einem gewissen Punkt steil nach oben geht. Falls Du es ebenfalls neu lernen und Dich in Python ausprobieren willst, wünsche ich Dir viel Spaß dabei!

Falls Du es bei NETWAYS lernen oder anwenden magst, dann schau Dir doch mal unsere offenen Jobs und Ausbildungsstellen an!

Saeid Hassan-Abadi
Saeid Hassan-Abadi
Systems Engineer

Saeid hat im Juli 2022 seine Ausbildung als Fachinformatiker für Systemintegration bei uns abgeschloßen, und arbeitet nun in Operation-Team. 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.

stackconf 2022 | Cloud Provisioning with Ansible? Is that possible?

Ansible

In his talk „Cloud Provisioning with Ansible? Is that possible?“, Nils Magnus went over ways to make cloud provisioning possible with Ansible, how you would need to architecturally build it, and some important terms.In the first part of his talk, Nils went over the difference between provisioning and configuring and why he thinks they are the same thing.
He then went into the benefits such as disaster recovery, updating and code hygiene or knowledge sharing that come with automating the infrastructure.

 

 

 

Forms of provisioning

He described the various forms of provisioning, whether you use it as a Bash script, as a domain-specific language or manually. Depending on the type of application, the code needs to be specific and precise. Infrastructure as code should be declarative, convergent to the target, and idempotent so that each iteration produces the same result. It is also important that it can capture and manage the state of the infrastructure. This is not a trivial point to overlook.
Typical representatives of infrastructure as code are programs like Terraform, Heat or Pulumi. The big question now is whether Ansible also belongs to this list and can perform the same tasks.

 

 

How functions change

Furthermore Nils went into some more technical terms of Ansible and Cloud like targets, tasks, SDK and Bastion and briefly explained how Ansible works.
He explained how the functions change when Ansible is used as a provisioning tool. Initially, there will not be the systems that you want to work on, you have to create them first through the cloud interface. For this, requests are sent to the SDK via the localhost, which prepares it for the interface.
Once the infrastructure is built via the cloud interface, you can connect to it.

 

Many ways to connect to Ansible

Openstack has many ways to connect to Ansible here and offers tools to simplify working with Ansible and IaC. Nils also walked us through a sample installation. He talked about some best practices, such as dealing with credentials in the configuration files,
Nils‘ talk at stackconf also ended with the demonstration of an installation.

The recording of Nils‘ talk and all other conference talks can be found in our Archives! Check it out!

 

Stay tuned!

We enjoyed connecting with different people from the community and had pleasure listening in the different conversations.

stackconf 2023 will take place from September 13 – 14 in Berlin. Stay tuned for the event and subscribe to our newsletter. You’re also invited to follow our Twitter, Facebook and LinkedIn account to stay up to date with our event’s preparations.

Michael Kübler
Michael Kübler
Systems Engineer

Michael war jahrelang in der Gastronomie tätig, bevor er 2022 seine Umschulung als Fachinformatiker bei Netways abschloss. Seitdem unterstützt er unsere Kunden bei ihren Projekten als MyEngineer und sucht auch nebenbei kleinere Projekte, die er realisieren kann. Privat geht er gerne Campen und fährt Rad. Er genießt auch einen entspannten Abend daheim mit einem Buch und Whisky.

Leap(p) to Red Hat Enterprise Linux 9

Ich muss mich direkt für das Wortspiel im Titel entschuldigen, aber es lag so nahe als ich mich für das Thema entschieden hatte, denn ich möchte einen neuen Blick auf Leapp werfen mit dem Upgrades von Red Hat Enterprise Linux (RHEL) durchgeführt werden können. Der Blick soll wie gewohnt etwas ausführlicher sein, daher wird Blog-Post als erstes die Frage „Replace or In-Place“ aufgreifen, die ähnlich alt ist wie „Henne oder Ei“. Als nächstes geht es um den Status des Projekts, bevor ich die Nutzung auf Kommando-Zeile erläutere. Dann ein kleiner Abstecher über Foreman-Upgrades bevor es mit dem Cockpit-Plugin graphisch wird und am Ende das Foreman-Plugin und die Ansible-Rolle das ganze Thema massentauglich machen.

Replace or In-Place?

Vermutlich stand bereits jeder Nutzer mal vor der Frage ob sich ein Upgrade lohnt oder nicht doch besser das System direkt mit der neusten Version des Betriebssystems neu zu installieren ist. Bei ersterem ist der Aufwand natürlich entsprechend geringer, denn man liest sich die Neuerungen durch, achtet dabei auf besondere Hinweise, macht nochmal ein aktuelles Backup (das tun doch hoffentlich alle?), startet das Upgrade, neustartet, lässt die Nacharbeiten laufen, neustartet und erfreut sich eines schönen glänzenden neuen Systems. Zumindest bis man merkt, dass manche Schraube immer noch locker, der Müll auf der Rückbank nicht verschwunden ist, der Motor weiter leckt und falsch eingestellt ist, um einen Autovergleich zu bemühen. Oder in unserem Fall bleibt vielleicht die oder andere Einstellung beibehalten, die sich negativ auswirkt, eine Software-Lösung wird vielleicht nicht durch eine modernere Lösung ersetzt und alles was wir mal ausprobiert haben und danach nie wieder genutzt haben nimmt weiterhin Plattenplatz weg.
Das ist dann auch meist das Argument für die Befürworter von Neuinstallationen statt Upgrades. Ein weiteres war zumindest früher oft das Thema es gibt kein einfaches, geeignetes Werkzeug und der Vorgang ist nicht supportet. So musste man früher für Updates von RHEL immer über die Installationsabbilder gehen, damit auch Änderungen an Einstellungen sowie Software möglich waren, wodurch der Aufwand quasi bis auf das Wiederherstellen von Daten der einer Neuinstallation gleicht. Der alternative Weg über den Packagemanager war oft mit manuellen Nacharbeiten verbunden und absolut nicht durch den Support abgedeckt. Hier setzt Leapp an um einen Mittelweg aus Einfachheit für den Benutzer und der Möglichkeit für Anpassungen durch die Distribution zu finden.

Das Projekt

Das Projekt Leapp hat Red Hat 2017 gestartet und es besteht aus einem Framework und den sogenannten Actors, die die eigentliche Arbeit ausführen. Das erste Mal zum Einsatz kam es dann als Upgrade von RHEL 7 auf 8. Weitere Bekanntheit bekam das Projekt unter dem Namen ELevate, was ein Fork der Actor durch die Distributoren von AlmaLinux ist. Der Fork enthält dann Actors um CentOS Linux 7 auf AlmaLinux OS 8, CentOS Stream 8, EuroLinux 8, Oracle Linux 8 oder Rocky Linux 8 zu aktualisieren. Auch wenn die Intention sicher ein einfacher Wechsel von CentOS zu AlmaLinux war, ist der Open-Source-Gedanke hier mit der zusätzlichen Unterstützung der anderen Distributionen sehr löblich umgesetzt, insbesondere nachdem CentOS selbst die Unterstützung von Leapp ausgeschlossen hatte. Für ein Upgrade von RHEL 8 auf 9 gibt es mittlerweile vom Leapp-Projekt selbst auch Actors, was der Grund für mich war mich erneut mit dem Projekt zu beschäftigen, da bei einem Kunden genau dieses Update ansteht.
mehr lesen…

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.