NETWAYS Webinare: Icinga 2 Serie

NETWAYS Webinare
Heute möchten wir euch darüber informieren, dass wir uns einige Gedanken über unsere beliebten Icinga 2 Webinare gemacht haben. Anders als bisher wollen wir nicht statisch auf einzelne Themen und Inhalte eingehen, sondern einen ganzheitlichen Eindruck der Möglichkeiten von Icinga 2 vermitteln.
In diesem Zuge werden wir gemeinsam in einer Reihe von Webinaren vom Grundaufbau des Monitorings, der Anbindung an Graphite und Grafana bis hin zum Windows Monitoring und der Integration von Rocket.Chat und Request Tracker für die Alarmierung.
Am Ende der Serie soll als Ziel eine fertige Icinga 2 Umgebung bereitstehen, welche vom Grundaufbau im Rahmen der Webinare erstellt wurde und künftig für weitere Themen bereitsteht.
Die geplanten Termine sind alle direkt auf unserer Webinar Seite zu finden. Eine kurze Übersicht möchten wir trotzdem bereitstellen:

Wir freuen uns wie immer auf eine rege Teilnahme!

Christian Stein
Christian Stein
Lead Senior Account Manager

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:
(mehr …)

Christian Stein
Christian Stein
Lead Senior Account Manager

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".

Ja ist denn schon wieder Webinar Zeit?

Auch in diesem Jahr wollen wir natürlich wieder effektiv mit unseren Webinaren auf Neuheiten im Open Source Bereich, sei es Icinga 2, Ansible, uvm. oder auf Produktneuheiten in unserem Online-Store, wie bspw. die neue Braintower Firmware hinweisen.
Die folgenden Themen und Termine stehen Stand heute schon fest:

Titel Zeitraum Registrierung
Server-Überwachung mit Icinga 2 15. Februar 2017 – 10:30 Uhr Anmelden
Icinga Director: Neues vom Config Tool 02. März 2017 – 10:30 Uhr Anmelden
Braintower: Neuheiten in Firmware 3.5 16. März 2017 – 10:30 Uhr Anmelden
Icinga Web 2: Erstellen und verwalten von Business Prozessen 30. März 2017 – 10:30 Uhr Anmelden
AKCP SP2+: Die Neuheiten und Icinga 2 Integration 27. April 2017 – 10:30 Uhr Anmelden

Selbstverständlich werden die Webinare wieder aufgezeichnet und sind anschließend in unserem Webinar Archiv verfügbar.
Wir freuen uns über eine rege Teilnahme!

Christian Stein
Christian Stein
Lead Senior Account Manager

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".

CEP CT63 unter Windows 8.x und Windows Server 2012 (R2) einrichten

cep-ct63-terminal-usb-powered Mit Windows 8.x und den Server-Versionen 2012 (R2) hat Microsoft standardmäßig die Installation von nicht signierten Treibern verboten, um die Stabilität des Systems sowie die Sicherheit zu erhöhen. Wer unser CEP CT63 Terminal USB Powered oder CEP CT63 GSM USB/Seriell Starter auch unter den neuen Windows Versionen zum SMS-Versand nutzen will, stößt daher anfänglich auf einige Schwierigkeiten – die Treiber sind nämlich nicht digital signiert und daher nicht installierbar.
Um die Treiberinstallation auf diesen Windows-Versionen dennoch zu erlauben, muss Windows mit deaktivierter Treibersignaturprüfung gestartet werden. Und so gehts:
Step 1: Sytem im Auswahlmodus neu starten
1. Windows-Taste + i drücken
2. Auf “Ein/Aus” klicken
3. Windows mit gedrückter SHIFT-Taste “Neu starten”
Step 2: In den Optionen “Problembehandlung” auswählen
01_Problembehandlung
Step 3: “Erweiterte Optionen” öffnen
02_Erweiterte_Optionen
Step 4: “Starteinstellungen” öffnen
03_Starteinstellungen
Step 5: “Neu starten” anklicken
04_Neu_Starten
Step 6: “Erzwingen der Treibersignatur deaktivieren” mittels der Taste 7 oder F7
05_Treibersignatur_deaktivieren
Nun kann der Treiber ohne Probleme auf dem System installiert werden.
Natürlich haben wir auch eine Vielzahl von SMS-Gateways, welche treiberunabhängig sind und über das Netzwerk gesteuert werden können. Einfach mal in unserem Online Store reinschauen.
Fragen?
Dann einfach direkt Kontakt aufnehmen. Wir helfen gerne weiter!

Christian Stein
Christian Stein
Lead Senior Account Manager

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".

Eine aktuelle Fassung des logstash Quickstarts

Viele Open Source Projekte kommen so in Fahrt, dass man mit dem Verfolgen der Entwicklung kaum noch hinterherkommt. Auch wenn das zusätzliche Arbeit verursacht, so ist das dennoch ein Grund zur Freude. Dem entsprechend gibt es heute eine Aktualisierung des logstash Quickstart Tutorials, das ich vor einiger Zeit gepostet habe.logstash_01
Vieles hat sich beim Wechsel von Version 1.3 auf 1.4 geändert, dennoch sollten Migrationen (grossteils) reibungslos vonstatten gehen. Dieses Tutorial soll möglichst schlank und aufs Wesentliche beschränkt bleiben, weshalb ich hier nicht gross auf die Unterschiede eingehen möchte. Dennoch ist es etwas aufwändiger als die vorherige Version, dafür hat man danach eine Teststellung, die nicht nur zum Rumspielen taugt, sondern gleich der Grundstock einer Testumgebung werden kann. Genug der Vorrede, jetzt geht’s ans Eingemachte.
Inzwischen ist es auf jeden Fall empfehlenswert, logstash aus den zur Verfügung gestellten Paketen zu installieren, die praktischerweise auch noch in Repositories organisiert sind. Als Voraussetzung muss Java installiert sein. OpenJDK funktioniert für einfache Beispiele, auch wenn das Projekt inzwischen Sun, äh, Oracle Java empfiehlt.
Für die Installation werden die Repositories konfiguriert. Die nötigen Repofiles und eine Anleitung, wie man sie inkludiert, findet man hier für logstash und hier für elasticsearch.

yum install logstash elasticsearch

(Der aufmerksame Leser erkennt jetzt, dass dieses Tutorial für CentOS/RHEL/Fedora ausgelegt ist, es funktioniert aber ganz ähnlich mit Debian, SLES und diversen anderen Linuxdistributionen oder auch anderen Betriebssystemen) Etwas unüblich ist, dass sich logstash nach der Installation nicht sofort starten lässt, sondern erst eine Konfigurationsdatei angelegt werden muss. Ein Beispiel könnte folgendermassen aussehen:

input {
  file {
    path => "/var/log/messages"
  }
}
output {
  elasticsearch {
    cluster => "elasticsearch"
    protocol => "http"
  }
}

Die legt man nach /etc/logstash/conf.d/logstash.conf . Es ginge noch etwas einfacher mit einer embedded Variante von elasticsearch, aber so kann man den Testhost auch gleich für etwas grössere Tests verwenden und die zusätzliche Installation ist nicht wirklich aufwändig, wie man gesehen hat.
Da im Beispiel der logstash Prozess auf ein File zugreifen will, das eigentlich nur für root lesbar ist, sollte der Prozess nicht als User logstash, sondern als User root gestartet werden. Dazu in /etc/sysconfig/logstash (auf Debian /etc/default/logstash) folgenden Eintrag vornehmen: LS_USER=root. Für Tests schadet es übrigens auch nicht, erstmal SELinux auf permissive zu setzen.
Jetzt noch

service elasticsearch start
service logstash start
service logstash-web start

und mit dem Browser http://localhost:9292/index.html#/dashboard/file/logstash.json (oder statt localhost den Namen / die IP der Maschine mit logstash, falls man nicht lokal testet) aufrufen. Fertig. Ja, ehrlich, das wars. Logstash sammelt lokale Logfiles ein, speichert sie in Elasticsearch und dort kann man sie mit Kibana durchsuchen.
Wer jetzt ein wenig weiter experimentieren möchte, kann noch ein paar Filter mit einbauen, die die Lognachrichten weiter aufbereiten. Da auf jedem System andere Dienste in die Logs schreiben und oft auch andere Logformate eingesetzt werden, kann es sein, dass das folgende Beispiel nicht überall funktioniert.

input {
  file {
    path => "/var/log/messages"
  }
}
filter {
  grok {
    match => [ "message", "%{SYSLOGLINE}" ]
  }
}
output {
  elasticsearch {
    cluster => "elasticsearch"
    protocol => "http"
  }
}

Dieses Beispiel setzt den grok Filter ein, um Syslognachrichten mit einem mitgelieferten Muster in ihre Einzelteile zu zerlegen. Sieht man im Kibana (das vorhin aufgerufene Webinterface) nach, erscheinen am linken Rand plötzlich neue Felder, nach denen man Filtern kann. So wird beispielsweise das program Feld erkannt, das Teil des Syslog headers ist.
kibana_fields
Ein Beispiel, das auf allen Linux Systemen funktionieren sollte, ist das folgende.

input {
  file {
    path => "/var/log/messages"
    type => "syslog"
  }
  exec {
    type => "system-load-average"
    command => "cat /proc/loadavg | awk '{print $1,$2,$3}'"
    interval => 30
    tags => "sysstat"
  }
}
filter {
  if [type] == "syslog" {
    grok {
      match => [ "message", "%{SYSLOGLINE}" ]
    }
  }
  if [type] == "system-load-average" {
    grok {
      match => [ "message" , "%{NUMBER:load_avg_1m} %{NUMBER:load_avg_5m} %{NUMBER:load_avg_15m}" ]
      named_captures_only => true
      add_tag => "groked"
    }
  }
}
output {
  elasticsearch {
    cluster => "elasticsearch"
    protocol => "http"
  }
}

Hier wird in regelmässigen Abständen ein Shellcommand ausgeführt, das aus /proc die aktuelle Load ausliest und als Logevent verschickt. Die wird durch den grok Filter in Felder zerlegt, wo sie dann z.B. zum Zeichnen von Graphen in Kibana oder Graphite verwendet werden kann. Man könnte auch beim Überschreiten einer bestimmten Load ein passives Checkergebnis an Icinga schicken, um darüber zu alarmieren. Klar macht das letzte Beispiel in der Praxis wenig Sinn, wenn es die hervorragenden Monitoringplugins gibt, aber es zeigt, wie vielseitig logstash sein kann. Man könnte Icinga dabei sogar umgehen und beim Überschreiten einer Grenze der load gleich per Mail, IRC, oder Jabber einen Alarm an den zuständigen Admin schicken.
schulung_logstashIch kann nur jedem empfehlen, zumindest den Anfang des Quickstarts durchzuspielen. Das Experimentieren mit logstash und dem Rest vom ELK Stack macht einfach Spass. Wenn es dann daran geht, die Erkenntnisse so zu vertiefen, dass sie in einer Produktivumgebung eingesetzt werden sollen, geht’s hier zu Schulung und Consulting. Die beiden machen übrigens auch Spass.
Für Experimentierfreudige gibt’s als Dreingabe noch ein paar Stichworte zum Erweitern des Kibana Dashboards:

  • Rechts unten auf “Add row”, damit eine neue Zeile in hinzufügen.
  • In der neuen Zeile auf “Add panel to empty row”
  • Panel type: “terms”
  • Alle Felder so lassen, wie sie sind, nur die folgenden ändern: title: “Programme”, field: “program”, style: “pie”

 

Thomas Widhalm
Thomas Widhalm
Lead Support Engineer

Thomas war Systemadministrator an einer österreichischen Universität und da besonders für Linux und Unix zuständig. Seit 2013 möchte er aber lieber die große weite Welt sehen und hat sich deshalb dem Netways Consulting Team angeschlossen. Er möchte ausserdem möglichst weit verbreiten, wie und wie einfach man persönliche Kommunikation sicher verschlüsseln kann, damit nicht dauernd über fehlenden Datenschutz gejammert, sondern endlich was dagegen unternommen wird. Mittlerweile wird er zum logstash - Guy bei Netways und hält...

Die Termine für die nächsten NETWAYS-Webinare stehen fest!

Wie bereits angekündigt, werden wir 2014 unser Webinar-Portfolio deutlich erweitern. Auf unserer Webinarseite gibt es daher bereits eine umfangreiche Auflistung von künftigen Webinaren, welche hier noch einmal kurz zusammengefasst sind:

Titel Zeitraum
Puppet: Aufbau einer Puppet Enterprise Umgebung 28. März 2014 – 10:30 Uhr
Icinga Web: Arbeiten mit Icinga Web 04. April 2014 – 10:30 Uhr
RequestTracker: Open Source Ticket System 29. April 2014 – 10:30 Uhr
Puppet: Aufbau einer Open Source Umgebung 09. Mai 2014 – 10:30 Uhr
Puppet: Provisionierung von VMware 28. Mai 2014 – 10:30 Uhr
Bareos: Open Source Backup leicht gemacht 10. Juni 2014 – 10:30 Uhr
inGraph: Neues Webfrontend für Graphite 26. Juni 2014 – 10:30 Uhr

Starten werden wir bereits diesen Freitag, den 28. März 2014 um 10:30 Uhr mit Puppet: Aufbau einer Puppet Enterprise Umgebung. Also jetzt noch registrieren und Plätze sichern!
Übrigens: Wer unsere bisherigen Webinare verpasst hat, kann sich natürlich über unser Webinar-Archiv sowohl die Präsentationen als auch die Webinar-Videos ansehen oder direkt auf unseren YouTube-Channel wechseln.
Bis Freitag!

Christian Stein
Christian Stein
Lead Senior Account Manager

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".