Icinga Web 2 Modul fileshipper imports im Director

Es werden viele Importe im Icinga Web 2 Modul Director via Ldap / SQL-Ressource getätigt, aber viele übesehen eine einfache Möglichkeit bestehende Dateien mittels Icinga 2 Modul “fileshipper” in den Icinga Web 2 Director zu importieren. Wie man dieses umsetzt werde ich an einem einfachen Beispiel, einer CSV-Datei hier beschreiben.

Zuerst muss man sich das Fileshipper-Modul von Github per “git clone” oder .zip-Datei herunterladen und in dem Verzeichnis '/usr/share/icingaweb2/modules/' ablegen und anschießend das Verzeichnis in “fileshipper” umbennen, denn sonst erkennt es Icinga Web 2 als Modul nicht an.
# cd /usr/share/icingaweb2/modules/ && git clone https://github.com/Icinga/icingaweb2-module-fileshipper.git
oder
# cd /usr/share/icingaweb2/modules/ && unzip master.zip

Anschließend muss das neu installierte Modul noch aktiviert werden,  mit dem icingacli Kommando:
# icingacli module enable fileshipper
icingacli module list
MODULE VERSION STATE DESCRIPTION
director 1.3.1 enabled Director - Config tool for Icinga 2
doc 2.4.1 enabled Documentation module
fileshipper 1.0.0 enabled Fileshipper for Icinga Director
monitoring 2.4.1 enabled Icinga monitoring module

Es geht aber aber auch über die Icinga Web 2 –  Oberfläche siehe Screenshot:

Nachdem das Modul installiert und aktiviert ist kann es losgehen. Zuerst erstellt man das Verzeichnis “fileshipper” unter # mkdir /etc/icingaweb2/modules/fileshipper und erstellt eine import.ini Datei in der das Verzeichnis angeben wird, wo sich die zu importierenden Dateien (.csv) liegen.
[fileshipper files]
basedir = "/usr/local/share/"

Dann wird im Icinga Web 2 => Director => Automation => Add Import Source

ein Name des zukünftigen Imports z.B fileshipper-import-hosts vergeben und bei Source “Import from files (fileshipper) ausgewählt.

Jetzt muss die neue Import-Quelle noch modifiziert werden z.B. so:

Ich denke das Bild ist selbsterklärend und Bedarf keiner weiteren Erklärung.

Jetzt kann man einen Import run starten in dem man auf die Import-Source fileshipper-import-hosts und Trigger Import Run auswählt.

Nun sollte in der Voransicht (Preview) die importierten Hosts sichtbar werden.

Um jetzt aus diesen RAW-Daten Icinga 2 konforme Objekte werden zu lassen brauchen wir eine Sync-Rule die man z.B.so anlegt:


Hier wird in der Maske angeben, welcher Typ (Host-Objekt) daraus werden soll und ob bereits existierende Daten ersetzt (replace) oder zusammengeführt (merge) werden sollen.
Mit Purge können bereits existierende Daten gelöscht werde, JA oder NEIN.

Im Kartei-Reiter “Properties/Eigenschaften” werden die Felder vom Import (Source/Quelle) den Icinga 2 konformen Zielen (Destination) zugeordnet:

Danach kann der Sync-Run der erstellten Sync-Rule gestartet werden und bei erfolgreichen Lauf, werden Konfigurations-Dateien erstellt und sind bereit für den Director zu deployen.

Im Activity-Log kann der Vorgang nochmals überprüft werden, bevor man die Konfiguration per Director deploy übernehmen kann.

So jetzt sollten nach erfolgreichem Deployment die Hosts im Icinga Web 2 unter Hosts sichtbar sein.

 

Im Rahmen einer Icinga 2 Fundamentals Schulung, die wir anbieten, werden auch noch weitere Import-Quellen besprochen und praktisch vollzogen.

Unter anderem haben wir noch weitere Schulungen zu Open Source Themen im Portofolio, einen Überblick bekommen Sie hier bei NETWAYS-Schulungen.

Johannes Carraro

Autor: Johannes Carraro

Bevor Johannes bei NETWAYS anheuerte war er knapp drei Jahre als Systemadministrator in Ansbach tätig. Seit Februar 2016 verstärkt er nun unser Managed Services Team als Systems Engineer. In seiner Freizeit spielt Johannes E-Gitarre in einer Metalband, bastelt an Linux Systemen zuhause herum und ertüchtigt sich beim Tischtennisspielen im Verein, bzw. Mountainbiken, Inlinern und nicht zuletzt Skifahren

NETWAYS Webinare – Hinter den Kulissen

NETWAYS Seit 2013 veranstalten wir in regelmäßigen Abständen Webinare, um auf Neuheiten in der Open Source Welt, Integrationsmöglichkeiten sowie auf Neuerungen in unserer eigenen Cloud oder SaaS Plattform hinzuweisen.

Im Laufe der Zeit haben sich nicht nur die Themen und die konkreten Inhalte geändert, sondern auch die zugrundeliegende Hard- und Software. Ich als geheimer perfektionist lege bei den Webinarvideos welche auf unserem YouTube-Kanal erscheinen vor allem sehr großen Wert auf Video- und Audioqualität. Wer möchte denn schon ein verwaschenes und knarzendes Video zu bspw. dem Icinga Director ansehen?

Um die Qualität noch zu steigern, haben wir im Juni diesen Jahres die komplette Hardware ausgetauscht. Dadurch sind nun genügend Ressourcen für die Demonstration, den Webcast über GotoWebinar, virtuelle Maschinen und die Aufnahme verfügbar. Darüber hinaus haben wir mit einem neuen Audio-Equipment nun eine viel bessere Tonqualität – sowohl während den Webinaren als auch auf YouTube.

Hardware Technisch kommt dabei ein kleiner Intel NUC zum Einsatz sowie ein Rode Mikrofon mit passendem Mischpult.

Für den Webcast während des Webinars haben wir uns für die Lösung GotoWebinar entschieden, da hiermit sowohl von Windows-PC’s als auch Mac’s ein Webcast durchgeführt werden kann und Benutzer mit Linux-Systemen über den Browser das Webinar verfolgen können. Somit können wir allen eine Live-Teilnahme ermöglichen.

Getreu unserem Firmenmotto “We love Open Source” nutzen wir für die Aufnahme des Webinars für unseren YouTube-Kanal die Open Source Lösung OBS Studio. Dieses mächtige Tool erlaubt nicht nur die Aufnahme von Videos in sehr hoher Qualität, sondern auch die Nutzung von mehreren Audiospuren – was besonders bei der Nachbearbeitung sehr hilfreich ist.

Mit dieser soliden Basis an Hard- und Software gibt es keine Einschränkungen mehr für künftige Webinare und können eine noch bessere Qualität als zuvor abliefern. Alle bisherigen Webinare finden sich natürlich in unserem Webinar Archiv oder direkt auf unserem YouTube-Kanal zum nachträglichen anschauen.

Das nächste Webinar mit dem Thema Icinga 2: Enterprise Monitoring Umgebung ist bereits für den 12. Juli 2017 um 10:30 Uhr geplant. Die Registrierung ist hier möglich.

Vielen Dank an dieser Stelle an die vielen Teilnahmen bisher und auf hoffentlich viele weitere Webinare!

Christian Stein

Autor: Christian Stein

Christian kommt ursprünglich aus der Personalberatungsbranche, wo er aber schon immer auf den IT Bereich spezialisiert war. Bei NETWAYS arbeitet er als Senior Sales Engineer 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".

NETWAYS Webinare 4.0 – Durchstarten!

Nachdem es die letzten Wochen ein wenig stiller war an der Webinarfront, haben wir die Zeit genutzt uns ein wenig Gedanken zu machen wie wir sowohl die Qualität als auch die Inhalte der Webinare künftig deutlich besser gestalten können. In diesem Sinne haben wir das grundlegende Equipment was für Aufnahme und die Broadcasts genutzt wird vollständig ausgetauscht. Zum Einsatz kommt nun ein sehr gutes Studiomikrofon und ein kleiner Intel NUC (schon putzig das Teil :D)


Darüber hinaus gab es des Öfteren bereits die Diskussion, wie man die Inhalte der Webinare noch besser strukturiert und vor allem auch für die nachträgliche Suche besser platziert. Aus diesem Grund wird es künftig stärker Themenbezogene Webinare geben. Der Schwerpunkt richtet sich dann nicht zwangsläufig auf bspw. den Icinga Director, sondern vielmehr auf die einzelnen Funktionen, Möglichkeiten und Neuerungen. Das erlaubt letztlich gezielt in unserem Webinar Archiv oder direkt auf unserem YouTube Kanal nach Themen und Inhalten zu suchen – ohne in Videos hin- und herspringen zu müssen.

Den Anfang machen wir auch gleich mit einer Serie über den Icinga Director, von der Grundinstallation bis hin zum Import von externen Datenquellen. Selbstverständlich gibt es noch weitere Webinar-Themen auf der Agenda, welche stetig weiter ausgebaut wird. Die nachfolgenden Themen und Zeiten stehen dabei schon fest:

Titel Zeitraum Registrierung
NETWAYS NWS: Icinga 2 Satelliten integrieren 20. Juni 2017 um 10:30 Uhr Anmelden
Icinga Director: Installation und Einrichtung (Teil 1) 28. Juni 2017 um 10:30 Uhr Anmelden
Icinga 2: Enterprise Monitoring Umgebung 12. Juli 2017 um 10:30 Uhr Anmelden

Wie immer stellen wir im Anschluss die Videos kostenfrei in unserem Webinar Archiv zur Verfügung. Wir freuen uns auf eine rege Teilnahme und sind natürlich auch Themenvorschlägen offen gegenüber!

Christian Stein

Autor: Christian Stein

Christian kommt ursprünglich aus der Personalberatungsbranche, wo er aber schon immer auf den IT Bereich spezialisiert war. Bei NETWAYS arbeitet er als Senior Sales Engineer 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".

Einbinden von NWS Icinga 2 Satelliten

Über unsere SaaS Plattform NWS bieten wir seit Beginn die Möglichkeit, Icinga 2 Satelliten Systeme zu betreiben und diese in die eigene Icinga 2 Monitoring Infrastruktur zu integrieren.
Dadurch wird ermöglicht, dass bspw. Webseiten oder andere externe Dienste (Mail, DNS, FTP, etc.) von außen überwacht werden können und die Ergebnisse in das Hausinterne Monitoring übertragen werden.

Hosted man bspw. einen Webshop wie wir (shop.netways.de), reicht es nicht nur zu überprüfen ob die MariaDB oder Apache Dienste funktionieren und die virtuelle Maschine in unserer Cloud verfügbar ist, sondern es ist auch wichtig die externe Sicht der Kunden zu überwachen. Somit erfährt man gleich ob eine externe Erreichbarkeit sichergestellt ist und Kunden bspw. einkaufen können.
In diesem Blogartikel möchte ich beschreiben, wie man den Icinga 2 Satelliten aufsetzt und per Icinga 2 Cluster Protokoll in das eigene Monitoring integriert.

Hat man sich in der NWS Plattform angemeldet, erreicht man über den oberen Reiter “Apps” alle von uns angebotenen Produkte. Nachdem man einen Icinga 2 Satelliten gestartet hat, klickt man auf diese App und folgender Bildschirm erscheint:

(more…)

Christian Stein

Autor: Christian Stein

Christian kommt ursprünglich aus der Personalberatungsbranche, wo er aber schon immer auf den IT Bereich spezialisiert war. Bei NETWAYS arbeitet er als Senior Sales Engineer 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".

Monitoring Powershell scripts with Icinga 2


The need to to monitor arbitrary Powershell scripts comes up now and then and often there are some workarounds or alternatives, NSClient for example, named. However in order to have something I can link refer people to when the topic comes up again, I’ll try to provide a quick and simple to adapt solution. Keep in mind that this assumes you have Icinga 2 up and running on your Windows host, Powershell installed and are reasonably sane.

First the the check script I used for demonstration purposes in this case, all it does is check whether a process is running and returning OK or CRITICAL based on that.

if ($args.Length -lt 1) {
	Write-Output "Script requires one argument (Process)"
	Exit(3)
}

$proc=$args[0]

$state = Get-Process $proc -ErrorAction SilentlyContinue
if ($state) {
	Write-Output "PROCESS OK '$proc' is running"
	Exit(0)
} else {
	Write-Output "PROCESS CRITICAL '$proc' is not running"
	Exit(2)
}

Safe it as check_proccess.ps1 somewhere you can find it again. In this case I put next to the other check plugins.

The following are the check_command object and Service apply. And as it turns out it’s not that easy of a task as I thought, it’s mostly Windows fault really… Getting the exit code of a script from Powershell returned to icinga2 required some trickery (credit goes to NSClient for that one). The result is a bit of weird CheckCommand, which can and should be improved.

object CheckCommand "powershell" {
    import "plugin-check-command"
    command = [ "cmd" ]
    arguments = { 
        "Weird command" = { 
            value = "/c echo $powershell_script$ $powershell_args$ ; exit ($$lastexitcode) | powershell.exe -command -"
            description = "This is needed because powershell would not tell us the exit code otherwise"
            skip_key = true
        }
    }   
}

apply Service "check_powerpoint" {
    import "generic-service"
    check_command = "powershell"
    vars.powershell_script = PluginDir + "\check_process.ps1"
    vars.powershell_args = "POWERPNT"
    assign where host.vars.os == "Windows"
}
Jean-Marcel Flach

Autor: Jean-Marcel Flach

Auch wenn man Anderes vermuten möchte: Jean ist nicht unser französischer Austauschazubi, sondern waschechter Bamberger. Die Uni war ihm zu langweilig, deshalb knöpft er sich nun im Development gleich die kniffligsten Aufgaben vor.

Monitoring-Projekt bei der htp GmbH

Die htp GmbH ist ein Provider im Bereich Telefon und Internet im Großraum Hannover und Braunschweig für geschäfts- und Privatkunden. Seit einiger Zeit unterstützen wir htp bei der Migration auf Icinga 2. Im Zuge dieses Umzuges wurde die neue Monitoring-Plattform verteilt mit einem mehrstufigen Satellitenkonzept realisiert. Herzstück sind zwei Satelliten an zwei unterschiedlichen Standorten der eigene RZ-Umgebung. Die beiden zu HA zusammengeschalteten Icinga 2 Instanzen sind je mit einem Braintower SMS Gateway gekoppelt, die das Mail-Benachrichtigungssystem um den Versand von SMS erweitern.

Diese beiden Knoten, die an den Icinga Master inklusive Icinga Web 2 angeschlossen sind, dienen ihrerseits als Kommunikationspartner für weitere Icinga 2 Satelliten zur Überwachung eigner Systeme oder dedizierten Kundenumgebungen.

Lennart Betz

Autor: Lennart Betz

Der diplomierte Mathematiker arbeitet bei NETWAYS im Bereich Consulting und bereichert seine Kunden mit seinem Wissen zu Icinga, Nagios und anderen Open Source Administrationstools. Im Büro erleuchtet Lennart seine Kollegen mit fundierten geschichtlichen Vorträgen die seinesgleichen suchen.