Seite wählen

NETWAYS Blog

NETWAYS GitHub Update Mai 2023

Willkommen beim NETWAYS GitHub Update, unser monatlicher Überblick über unsere neuesten Releases.

Unsere GitHub Projekte vom Mai 2023 umfassen unter anderem ein Update für Icinga-Powershell, den Icinga Installer und zwei aktualisierte Trainingsunterlagen!

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

icinga-powershell-connector Release v0.3.0

Changelog

  • Hinzugefügt: Bessere Fehlermeldung für Timeouts
  • Hinzugefügt: Timeout ist jetzt konfigurierbar
  • Performance Optimierungen des Parsers
  • Diverse Optimierungen im Buildprozess
  • Abhängigkeiten aktualisiert

https://github.com/NETWAYS/icinga-powershell-connector/releases/tag/v0.3.0

check-disk-btrfs Release v3.1.0

Changelog

  • Viele neue Tests für zukünftige Wartbarkeit
  • Hinzugefügt: Neue Optionen für Sub-Checks –missing und –error
  • Hinzugefügt: –no-sudo und –no-unallocated Optionen zum Deaktivieren der Funktionen

https://github.com/NETWAYS/check_disk_btrfs/releases/tag/v3.1.0

check-hp-ilo Release v0.1.0

Changelog

  • Großer Refactor für zukünftige Wartbarkeit
  • Hinzugefügt: –exclude Option kann nun mehrfach genutzt werden
  • Hinzugefügt: Nicht installierte Komponenten werden ignoriert.
  • Hinzugefügt: Gerätname in der Status Ausgabe
  • Bugfix: Sub-Checks zeigen jetzt nicht mehr die ILO Ausgabe als Status sondern Icinga-konforme Status
  • Perfdata Ausgabe optimiert

https://github.com/NETWAYS/check_hp_ilo/releases/tag/v0.1.0

icinga-installer Release v1.2.4

Changelog

  • Bugfix: Parameter in Server Manifest angepasst
  • Diverse Anpassungen in der Dokumentation

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

Training Foreman Release v1.7

Changelog

  • Update auf Foreman 3.5 und Katello 4.7
  • Refactor: Katello als Basis
  • Update von Plugins, Screenshots und Grafiken

https://github.com/NETWAYS/foreman-training/releases/tag/v1.7

Training GitLab Release v4.0.0

Changelog

  • Leichterer Einstieg in Git
  • Refactor: mehr GitLab Themen und einige Git Themen entfernt
  • Formulierung auf vielen Folien optimiert

https://github.com/NETWAYS/gitlab-training/releases/tag/v4.0.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.

Icinga for Windows v1.6.0 – Einfacher. Zentraler. Sicherer.

Die Kollegen von Icinga haben letzte Woche Icinga for Windows in Version v1.6.0 veröffentlicht. Auch wenn diese Version keine neuen Plugins für die Überwachung bietet, hat sich im Bereich des Icinga PowerShell Frameworks einiges getan. Dadurch ist die Lösung nicht nur einfacher zu verwenden, sondern auch noch zentraler verwaltbar und sicherer.

Dürfen wir vorstellen: Die IMC

Die IMC (Icinga Management Console) wurde im Rahmen vergangener Icinga for Windows als experimental eingeführt. Ziel war es, ein einfaches Management zu schaffen, um die meisten Funktionalitäten über eine UI abbilden zu können. Dadurch ist es nicht mehr notwendig, sich alle Befehle von Icinga for Windows zu merken oder diese zu kennen – sondern die Konfiguration erfolgt direkt darüber.

Im Zuge der Einführung der IMC, wurde ebenfalls ein neuer Setup Wizard generiert, welcher nicht nur einfacher und intuitiver ist als der alte, sondern auch noch über eine Hilfe verfügt, welche einem erklärt, welche Eingaben im jeweiligen Bereich notwendig sind und was diese bedeuten. Die Konfiguration ist hierbei im nicht-advanced Modus auf die absoluten Grundlagen beschränkt, um schnell ans Ziel zu kommen. Die restlichen Einstellungen im advanced Teil, können simpel eingesehen und geändert werden, wurden jedoch so ausgewählt, dass man in vielen Umgebungen auf eine Änderung sogar verzichten könnte.

Zentrale Verwaltung mit Repositories

Einer der großen Kritikpunkte an Icinga for Windows war die Komponenten Installation. Bisher musste jede Komponente einzeln heruntergeladen und mit einem Pfad bei der Installation hinterlegt werden. Mit Icinga for Windows v1.6.0 wurde nun ein Repository-Management hinzugefügt. Hierdurch können direkt entweder die offiziellen Repositories von Icinga for Windows auf packages.icinga.com angebunden werden oder ein eigenes, zentrales. Icinga for Windows bietet dabei die Möglichkeit, vorhandene Repositories zu synchronisieren, um diese in seiner lokalen Umgebung zu spiegeln. Dadurch kann die Installation von Systemen, welche nicht in das Internet können, deutlich vereinfacht werden. Ein Beispiel wäre hier, die offiziellen Icinga Repositories auf seinen Icinga 2 Master zu synchronisieren, um dort ein Repository für alle Systeme bereitzustellen.

Im Falle von DMZ Systemen kann das Repository wiederum von zentralen Icinga 2 Master auf Icinga Satellitensysteme synchronisiert oder aber auf zentrale File-Shares abgelegt werden, um von dort die Komponenten zu installieren. Für das Update von Repositories gibt es ebenfalls Kommandos, die eine Aktualisierung ermöglichen.

Der Vorteil des Repositories liegt darin, dass direkt die aktuellen Versionen der jeweiligen Komponenten installiert oder mit einem simplen Befehl die gesamte Umgebung aktualisiert werden kann. Sollte es aus bestimmen Gründen notwendig sein, kann die Version von einzelnen Komponenten auch gelockt werden. Das bedeutet, sofern eine ältere Version installiert ist, wird bis zur gelockten Version aktualisiert. Ist bereits die gelockte Version installiert und eine neue verfügbar, wird diese übersprungen.

Weitere Details hierzu gibt es direkt in der Icinga for Windows Repository Dokumentation.

Mehr Sicherheit durch JEA

JEA steht für Just-Enough-Administration und ist eine Lösung von Microsoft für PowerShell. Durch JEA können einzelne Benutzer, welche keine Administratoren sind, Befehle mit erhöhten Rechten im System Kontext ausführen. Die Funktionalität ist dabei ähnlich wie sudo auf Linux.

In der Vergangenheit gab es des Öfteren Probleme, das diverse Überwachungsmöglichkeiten nicht genutzt werden können, da der Benutzer beispielsweise nicht in der Hyper-V Administrator Gruppe ist und deshalb den Status der virtuellen Maschinen nicht abfragen kann. Ein weiteres Problem ergibt sich auch, wenn man diverse Services oder Tasks überwachen möchte, welchen mit einem normalen Standardbenutzer nicht eingesehen werden können.

Durch ein JEA-Profil wird es erlaubt, dass ein bestimmter Benutzer diese Plugins nun im Systemkontext mit erhöhten Rechten ausführt. Dabei wird von Icinga for Windows ein Profil basierend auf allen installierten Komponenten erstellt. Dieses Profil deckt jedoch nur die notwendigen Befehle zum Ausführen von Plugins und Komponenten ab. Für Icinga for Windows notwendigen Befehle für das Management der Umgebung, werden dabei nicht berücksichtigt.

Um das ganze abzurunden und die Trennung perfekt zu machen, bietet Icinga for Windows die Möglichkeit an, einen Managed User mit dem Namen icinga anzulegen. Dieser Benutzer ist ein lokaler Benutzer auf dem System, ohne Berechtigungen sich lokal oder per RDP anzumelden. Der einzige Zweck ist, dass er als Service Benutzer fungiert und den Icinga Agent sowie den Icinga for Windows Dienst startet. Im Zusammenspiel mit dem von Icinga for Windows generierten JEA-Profil, kann dann das System vollständig überwacht werden. Die Verwaltung des Benutzers obliegt dabei vollständig Icinga for Windows und im Rahmen der Erstellung des Benutzers oder bei diversen Änderungen an den Services während der Icinga for Windows Installation oder Updates, wird jedes Mal ein neues, zufälliges 60-stelliges Password generiert und dem Benutzer zugewiesen. Dieses Password wird nach Ende der jeweiligen Installationsschritte intern wieder verworfen und wird nirgends abgelegt. Hierdurch wird eine Kompromittierung des Systems ohne bereits vorhandene Administratorrechte deutlich erschwert.

Weitere Details sowie Anforderungen, finden sich direkt in der Icinga for Windows JEA Dokumentation.

Performance Gewinn durch API-Check Forwarder

Ein weiteres Thema welches mit Icinga for Windows v1.6.0 von experimental als stabil gilt, ist der API-Check Forwarder, welcher in vergangenen Versionen eingeführt wurde. Hintergrund dieser Lösung ist, dass das Starten sowie die Ausführung von PowerShell Befehlen innerhalb der von Icinga 2 gestarteten Shells vor allem bei Systemen mit weniger Kernen eine erhöhte Systemlast verursachen. Durch den API-Check Forwarder wird zumindest der Ausführungsteil ausgelagert, da alle Befehle für die Plugin-Ausführung innerhalb des Icinga for Windows Dienstes durchgeführt und lediglich das Ergebnis an die lokale Shell weitergereicht wird.

Für diese Lösung werden zwei zusätzliche von Icinga bereitgestellte Komponenten benötigt, um eine REST-Api bereitzustellen sowie die Checks per API auszuführen. Beides kann direkt über die neuen Icinga Repositories installiert werden. Für eine sichere Verbindung werden direkt die Zertifikate des Icinga Agent verwendet. Nach Bedarf können jedoch auch eigene Zertifikate verwendet werden. Wichtig dabei ist, dass eine Erstellung des REST-Api Sockets ohne ein TLS Zertifikat nicht möglich ist.

In der zugehörigen Dokumentation zum API-Check Forwarder von Icinga for Windows gibt es weitere Details.

Was bringt die Zukunft?

Die nächste Version von Icinga for Windows v1.7.0 ist bereits zur diesjährigen OSMC eingeplant. Hier werden wir noch weiter den Schwerpunkt auf Performance sowie eine Vielzahl von Optimierungen für Entwickler legen, um es noch einfacher zu machen eigene Plugins und Komponenten zu entwickeln. Ein entsprechender Talk ist ebenfalls eingereicht.

Wir freuen uns auf eine rege Teilnahme und wünschen bis dahin alles Gute!

Christian Stein
Christian Stein
Manager Sales

Christian kommt ursprünglich aus der Personalberatungsbranche, wo er aber schon immer auf den IT Bereich spezialisiert war. Bei NETWAYS arbeitet er als Manager Sales und berät unsere Kunden in der vertrieblichen Phase rund um das Thema Monitoring. Gemeinsam mit Georg hat er sich Mitte 2012 auch an unserem Hardware-Shop "vergangen".

Was war, ist und wird sein – ein Azubi & PowerShell

Wir Azubis bei NETWAYS lassen ohnehin oft genug durchscheinen, was bei uns in der Ausbildung so alles passiert. Aber meistens nur Projekte, die bereits abgeschlossen sind. Damit ich dem auch weiterhin nachkomme, hier ein bisschen, was war, ist und kommen wird.

Was war?

Ganz kurz gefasst? PowerShell. Und in letzter Zeit wird das Wort im NETWAYS und Icinga-Kontext ganz schön oft in den Raum geworfen. Letztes Jahr hat Christian irgendwann den Entschluss gefasst, das damalige Windows-Modul seinerseits zu einem voll funktionalen Framework mit PowerShell umzugestalten. Christian hatte, sowie alle der Kollegen, die Möglichkeit, einen Azubi mit ins Boot zu holen – und von hier sollte es keine große Überraschung sein, wo die Geschichte hinführt. Besagter Azubi war eben ich.

Ich hatte keinerlei Ahnung von PowerShell oder der Windows-Welt jenseits der Anwenderseite. Doch auch PowerShell ist kein Hexenwerk und die logischen Abhandlungen, die man bei anderen Sprachen verwenden kann, verlernt und verliert man auch hier nicht.

Juli 2019 hat das ganze begonnen, also zumindest für mich, und das Ziel sollte die OSMC im selbigen Jahr sein. Es ist einfach ein ganz anderer Ansporn zu wissen, dass man an einer Sache mitarbeitet, die später auf einer großen Plattform präsentiert wird und man sehen wird, was die eigene Arbeit gebracht hat.

Bis dato war ich eher an Plugin-Entwicklung sowie an den dazugehörigen Providern beteiligt. Auch das ein oder andere Tool im Framework kommt aus meiner Feder. Aber wenn man sieht, was Christian im vergangenen Jahr geleistet hat, dann kann man nur neidisch sein. Natürlich war seit meinem letzten Blog-Post nicht alles PowerShell. Ich hatte auch Trainings, habe die ersten Trainings als Co-Trainer mitgeleitet, war auf meiner ersten Consulting-Reise und noch mehr. Aber das PowerShell-Projekt lag mir besonders am Herzen.

Was ist?

Jetzt? Erstmal Foreman-Schulung. In der Vergangenheit wurde ich ja schon das ein oder andere Mal mit Foreman konfrontiert. Sei es ein bisschen Community-Arbeit beim Übersetzen von Strings oder mein letzter Blog-Post, in dem ich einen kleinen Einblick gegeben habe zum OSCAMP on Foreman, was letztes Jahr im Anschluss an die OSMC stattgefunden hat. Danach? Zunächst Abteilungsdurchlauf in den Support, auch wenn dieser nicht von langem ist, weil die Berufsschule dazwischen kommt und das auch noch samt Zwischenprüfung. Aber wird schon schief gehen.

Was wird?

Was? Ein ganzer Absatz ohne PowerShell. Also ja, ich mach auch weiter PowerShell. Man darf sich in der Hinsicht bald auch auf ein Zertifikats-Plugin freuen mit eigenem Provider. Und sonst? Die zweite gemeinsame Azubi-Projektwoche bahnt sich an, aber auch dazu werdet ihr bestimmt wieder einen Blog-Post bekommen. An dieser Stelle ist auch noch zu erwähnen, dass besagter Christian diesen Mittwoch sein erstes Webinar zu Icinga for Windows abgehalten hat. Keine Angst, die ganze Sache kommt auch später auf YouTube und zwei weitere Webinare stehen ja noch aus. Zum einen: Icinga for Windows – Custom Plugin Development am 01. April 2020 um 10:30 und Icinga for Windows – Custom Daemon Development am 06. Mai 2020 zur gleichen Zeit. Eine Übersicht zu den Webinaren bekommt ihr hier. Stellt euch drauf ein, dass in der Windows-Monitoring Landschaft noch so einiges passieren wird.

 

Alexander Stoll
Alexander Stoll
Consultant

Alex hat seine Ausbildung zum Fachinformatiker für Systemintegration bei NETWAYS Professional Services abgeschlossen und ist nun im Consulting tätig. Vereinzelt kommt es auch vor das er an Programmierprojekten mitarbeitet. Auch privat setzt er sich sehr viel mit Informationstechnologie auseinander, aber jenseits davon ist auch viel Zeit für Fußballabende, Handwerkerprojekte und das ein oder andere Buch.

Icinga for Windows – Webinar Kalender

Im Februar hat das Icinga-Team sehr erfolgreich die neue Lösung zur Überwachung von Windows-Systemen veröffentlicht. Hierbei handelt es sich um ein auf PowerShell-Basis bereitgestelltes Framework inklusive Plugins, welches individuell erweitert werden kann. Um den Einstieg zu erleichtern haben wir eine Reihe von Webinaren geplant, um sowohl die Installation und Grundeinrichtung aber auch die Entwicklung von eigenen Plugins und Modulen zu veranschaulichen.

Starten werden wir direkt am Mittwoch, den 11. März 2020 um 10:30 mit dem Webinar „Icinga for Windows – Einstieg“. Eine kostenfreie Registrierung und Teilnahme ist wie immer möglich. Anschließend werden wir das Webinar auf unserem YouTube-Kanal online stellen.

Darüber hinaus haben wir noch weitere Themen wie ein Webinar zur Plugin-Entwicklung und Daemon-Entwicklung geplant. Eine vollständige Übersicht stellen wir natürlich auch bereit:

Thema Datum Anmeldung
Icinga for Windows – Einstieg 11. März 2020 – 10:30 Uhr Anmeldung
Icinga for Windows – Custom Plugin Development 01. April 2020 – 10:30 Uhr Anmeldung
Icinga for Windows – Custom Daemon Development 06. Mai 2020 – 10:30 Uhr Anmeldung

Auf weitere Themen gehen wir gerne ein – Vorschläge können dabei direkt an uns übermittelt werden. Wer Unterstützung bei der Einrichtung, Erweiterung und dem Roll-Out benötigt, kann hierfür ebenfalls auf uns zukommen.
Eine Anfrage kann direkt über unser Kontaktformular eingekippt werden.

Wir freuen uns auf die Teilnahme sowie zahlreiches Feedback!

Christian Stein
Christian Stein
Manager Sales

Christian kommt ursprünglich aus der Personalberatungsbranche, wo er aber schon immer auf den IT Bereich spezialisiert war. Bei NETWAYS arbeitet er als Manager Sales und berät unsere Kunden in der vertrieblichen Phase rund um das Thema Monitoring. Gemeinsam mit Georg hat er sich Mitte 2012 auch an unserem Hardware-Shop "vergangen".

Sommerhitze & Powershell 3 kleine Tipps

Hallo Netways Follower,

Ich melde mich dies mal mit einem kurzen aber meist vergessenen Thema nämlich wie kriegt man unter Windows diese vermaledeiten Powershell Skripts korrekt zum laufen.

Wenn man bei einem normalen Icinga2 Windows Agenten diese in ‚Betrieb‘ nehmen will benötigt es etwas Handarbeit und Schweiß bei diesen Sommertagen um dies zu bewerkstelligen.

Trotzdem hier ein paar Tipps:

1) Tipp „Powershell Skripte sollten ausführbar sein“

Nachdem der Windows Agent installiert und funktional ist sollte man sich auf der Windows Maschine wo man das Powershell Skript ausführen möchte in die Powershell (nicht vergessen mit Administrativer Berechtigung) begeben.

Um Powershell Skripts ausführen zu können muss dies erst aktiviert werden dazu gibt es das folgende Kommando

Set-ExecutionPolicy Unrestricted
Set-ExecutionPolicy RemoteSigned
Set-ExecutionPolicy Restricted

Hier sollte zumeist RemoteSigned ausreichend sein, aber es kommt wie immer auf den Anwendungsfall an. More Info here.

Nach der Aktivierung kann man nun überprüfen ob man Powershell Skripts ausführen kann.
Hierzu verwende ich meist das Notepad um folgendes zu schreiben um anschließend zu prüfen ob das oben aktivierte auch klappt.

Also ein leeres Windows Notepad mit dem folgenden befüllen:

Write-Host "Ash nazg durbatulûk, ash nazg gimbatul, ash nazg thrakatulûk agh burzum-ishi krimpatul. "

Das ganze dann als ‚test.ps1‘ speichern.

Nun wieder in die Powershell zurück und an dem Platz wo man das Powershell Skript gespeichert hat es mit dem folgenden Kommando aufrufen.
PS C:\Users\dave\Desktop> & .\test.ps1
Ash nazg durbatulûk, ash nazg gimbatul, ash nazg thrakatulûk agh burzum-ishi krimpatul.

Sollte als Ergebnis angezeigt werden damit Powershell Skripts ausführbar sind.

2) Tipp „Das Icinga2 Agent Plugin Verzeichnis“

In der Windows Version unseres Icinga2 Agents ist das standard Plugin Verzeichnis folgendes:
PS C:\Program Files\ICINGA2\sbin>

Hier liegen auch die Windows Check Executables.. und ‚.ps1‘ Skripte welche auf dem Host ausgeführt werden sollten/müssen auch hier liegen.

3) Tipp „Powershell 32Bit & 64Bit“

Wenn ein Skript relevante 64Bit Sachen erledigen muss kann auch die 64er Version explizit verwendet werden in den Check aufrufen.

Das heißt wenn man den object CheckCommand „Mein Toller Check“ definiert kann man in dem Setting:

command = [ "C:\\Windows\\sysnative\\WindowsPowerShell\\v1.0\\powershell.exe" ] //als 64 Bit angeben und
command = [ "C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe" ] // als 32Bit.

Hoffe die drei kleinen Tipps erleichtern das Windows Monitoring mit Powershell Skripts.
Wenn hierzu noch Fragen aufkommen kann ich unser Community Forum empfehlen und den ‚kleinen‘ Guide von unserem Kollegen Michael. Icinga Community Forums

Ich sag Ciao bis zum nächsten Mal.

David Okon
David Okon
Senior Systems Engineer

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.