Icinga 2 Best Practice Teil 3: Services überwachen

Nun in Teil 3 dieser Serie werden wir uns näher damit beschäftigen wie in Icinga 2 Services überwacht werden bzw. wie es zu konfigurieren ist, dass bestimmte Services nur auf bestimmten Hosts überwacht werden. Hier bietet Icinga 2 als Neuerung eine regelbasierte Zuweisung an Host-Objekte die definierten Eigenschaften genügen.

apply Service "ping4" {
  import "generic-service"

  check_command = "ping"

  assign where host.address || host.address6
}

So wird hier ein Service ping4 an alle Hosts “gebunden”, die das Attribut address oder address6 definiert haben. Nach diesem recht einfachem Beispiel wenden wir uns auch gleich etwas komplizierterem zu, der Überwachung von Dateisystemen auf einem Linux-System.

apply Service for (filesystem => config in host.vars.disks) {
  import "generic-service"

  check_command = "disk"
  command_endpoint = host.name

  vars += config

  assign where host.vars.os == "Linux"
  ignore where typeof(config) != Dictionary
}

Da hier über das CheckCommand disk, das Plugin check_disk zur Anwendung gelangt, das lokal auf dem zu überwachenden System laufen muss, wird es via command_endpoint auf genau diesem Endpoint angetriggert (siehe hierzu Teil 1 dieser Serie). Ein Host kann mehrere unterschiedlich Dateisysteme beherbergen, deshalb sind diese im Host-Objekt mit dem Custom-Attribute vars.disks zu definieren. Ausserdem muss zusätzlich, wie in dem assign-Statement gefordert, vars.os auf Linux gesetzt sein.

object Host "host.example.org" {
  ...
  vars.os = "Linux"

  vars.disks["disk /"] = {
    disk_partition = "/"
  }
  vars.disks|"disk /tmp"] = {
    disk_partition = "/tmp"
  }
}

Bekanntlich handelt es sich bei vars um ein Dictionary und vars.disks ist eine Darstellungsform eines Keys in diesem Dictionary. Eine andere Form einen Schlüssel anzusprechen ist der Index mit []-Klammern, wie in vars.disks[“disk /”]. Das heißt wir haben hier ein Dictionary in einem Dictionary. Und um es noch auf die Spitze zu treiben weisen wir den einzelnen Keys als Wert wieder jeweils ein Dictionary zu, Perl lässt grüßen. Wozu nun das Ganze? Mit apply Service for wird der Inhalt von vars.disks durchlaufen. Da es sich hierbei um ein Dictionary handelt, wird hier ein for-each verwendet, zu sehen an filesystem => config. Beides sind hier unsere Laufvariablen für die Schleife. Der Variablen filesystem wird jeweils der Key zu gewiesen, also beim ersten Durchlauf “disk /” und beim Zweiten “disk /tmp”, in config dann demnach der zugehörige Wert. Diesen Wert, selbst ein Dictionary, kann als Konfigurations-Dictionary bezeichnet werden, der den jeweiligen Pluginaufruf von disk parametrisiert. Die möglichen Parameter für disk sind sehr gut der Online-Dokumentation zu entnehmen. Wie dies funktioniert und warum die Zeile vars += config hierzu eine zentrale Rolle spielt, wird in Teil 4 erklärt werden. Der Name des Services entspricht standardmäßig dem Inhalt von filesystem.
Selbstverständlich besitzt jedes Linux-System ein Root-Dateisystem und sagen wir, bei uns auch ein eigenes für /tmp. Natürlich möchte man nun nicht für alle seine Hosts immer diese obigen 7 Zeilen angeben müssen, deshalb definieren wir mit diesen ein Host-Template mit der Bezeichnung linux-host. Nun haben Regeln die dumme Eigenheit ihre Ausnahmen zu haben, z.B. hat der Host host.example.org im Gegensatz zu allen anderen Hosts eben kein Dateisystem /tmp. Was dann?

object Host "host.example.org" {
  import "generic-host"

  vars.disks["disk /tmp"] = false
}

Hier wird nun für /tmp die Definition aus dem Template nachträglich überschrieben. Das ignore-Statement in unserer Service-Definition sorgt dafür, dass alle Dateisysteme, denen kein Konfiguration-Dictionary zugewiesen ist, auch nicht als Service in unserer Icinga-Konfiguration landen. Bei typeof handelt es sich um eine Funktion, die die Typesierung einer Variablen ermittelt.

Bis zum nächsten Mal, ihr müsst unbedingt schauen wie es weiter geht. In Teil 4 folgt die etwas theoretische Erklärung wie solche Services jeweils einzeln unterschiedlich parametrisiert werden.

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.

First talks for Icinga Camp Berlin are online now!

Nach der äußerst erfolgreichen Deutschland-Premiere geht es am 7. März 2017 in die zweite Runde. Die ersten Vorträge stehen bereits fest. Neben Talks einiger Team-Mitglieder werden

#Francesco Melchiori
#Sven Nierlein
#Werner Fischer
#Eduard Gueldner und
#Mattis Haase

mit dabei sein.

Wir freuen uns, Euch in Berlins berühmter Eventlocation, der Kalkscheune, zu sehen!

Nicht vergessen, Euer Monitoring-Madness Tagesticket zu buchen!

 

Markus Neder

Autor: Markus Neder

Nach langen Jahren im Hotelgewerbe, hat sich Markus auf die andere Seite geschlagen und leitet nun bei NETWAYS die Event-Abteilung. Seine langjährige Erfahrung als Hotelmeister hilft uns jedes Jahr die beste Konferenz von allen die noch kommen werden zu veranstalten. Wenn er privat nicht mit seinen Kindern unterwegs ist, entspannt er am liebsten bei der Gartenarbeit.

Monthly Snap December > OSMC, Nicolaus poem, Icinga 2.6, Robocop, Clustershell and Foreman-API, Icinga 2, OSDC, Ceph, Linux, Ansible, OMSA

In the beginning of December Dirk gave us a detailed summary of the first, second and third OSMC days, while Julia gave an account of the evening event at the Indabahn.

On the 6th of December, the St. Nicolaus day, we read Julias version of a Nicolaus poem. A couple of days later Gunnar gave us an insight into Icinga 2.6.

Then Markus Frosch introduced the Robocop, and Marius informed us about Clustershell and Foreman-API.

In parts 1 and 2 Lennart wrote about the organisation of Icinga 2 host- and service objects, whereas Julia informed us about the Early Bird phase and the Call for papers for the Open Source Data Center Conference.

Martin wrote about S3 and Swift with the Ceph object, and Alexander about Black Magic for GNU/Linux-Nerds.

At the end of the month Julia reminded us of the Ansible training, and Tim reported on OMSA issues, solutions and xkcd.

Lukas Stegmeier

Autor: Lukas Stegmeier

Lukas hat im September 2016 seine Ausbildung zum Veranstaltungskaufmann bei NETWAYS gestartet. Er freut sich auf eine spannende Ausbildung und ist schon ganz gespannt auf unsere Firmenfeste. Zuhause hebt er den Geräuschpegel durch regelmäßiges Schlagzeugspielen enorm an und sportlich verausgabt sich Lukas seit 12 Jahren intensiv beim Fußball.

Ansible – NETWAYS Schulungen

Wir hoffen, ihr hattet alle ein tolles Weihnachtsfest und eine schöne Zeit! Nun neigt sich das Jahr so langsam dem Ende zu und wir arbeiten schon eifrig an den Schulungen fürs nächste Jahr.
Wir beginnen 2017 mit der Ansible Schulung am 17.01. und haben noch freie Plätze zu vergeben.

Im Ansible Training wird Basiswissen zum Umgang mit diesem Konfigurationsmanagementsystem vermittelt. Die Installation, Konfiguration, Umgang mit Playbooks und Rollen, sowie Hinweise zum Erstellen eigener Module. Wie bei allen NETWAYS Trainings kommen auch bei Ansible Praxisbeispiele und Übungen nicht zu kurz.
Das Training dauert zwei Tage und in den Trainingspaketen sind Verpflegung in den Kaffeepausen, sowie Mittag- und Abendessen und Getränke inkludiert.

Das einzige, was Ihr als Voraussetzung mitbringen solltet, sind Grundlagen in Linux/Unix.

Zur Anmeldung geht’s hier entlang. Wir freuen uns auf euch!

P.S.: Natürlich haben wir im Januar nicht nur Ansible anzubieten, sondern auch noch Docker, Icinga 2 Fundamentals (ausgebucht) und Icinga 2 Advanced.

Mit mehr Infos werdet Ihr wie immer auf unserer Website versorgt!

Julia Hackbarth

Autor: Julia Hackbarth

Julia ist seit 2015 bei NETWAYS. Sie hat im September ihre Ausbildung zur Kauffrau für Büromanagement gestartet. Etwas zu organisieren macht ihr großen Spaß und sie freut sich auf vielseitige Herausforderungen. In ihrer Freizeit spielt Handball eine große Rolle: Julia steht selbst aktiv auf dem Feld, übernimmt aber auch gerne den Part als Schiedsrichterin.

Wir sagen Danke!

Wir sagen Danke an alle unsere Sponsoren, ohne die die professionelle Durchführung der OSMC nicht möglich wäre.

Dieses Jahr bedanken wir uns besonders bei der Thomas Krenn AG, dem Admin Magazine, sowie dem Linux Magazin. Spezieller Dank gilt außerdem der Firma GroundWork aus den USA, die Software zur Überwachung von Servern, Netzwerken, etc. zur Verfügung stellen.

Wir würden uns sehr freuen, euch auch im nächsten Jahr wieder Sponsoren der OSMC nennen dürfen!

Save the date: 21.-24. November 2017 in Nürnberg!

sponsor_groundwork_250x51 thomas_krenn_logo_250x139 csm_admin_logo_outlines_250x90_65bd6aca85 csm_linux_magazin_logo_de_250x102_3734f05b01

 

Julia Hackbarth

Autor: Julia Hackbarth

Julia ist seit 2015 bei NETWAYS. Sie hat im September ihre Ausbildung zur Kauffrau für Büromanagement gestartet. Etwas zu organisieren macht ihr großen Spaß und sie freut sich auf vielseitige Herausforderungen. In ihrer Freizeit spielt Handball eine große Rolle: Julia steht selbst aktiv auf dem Feld, übernimmt aber auch gerne den Part als Schiedsrichterin.

Empfehlung des Monats: Letzte Tickets zur OSMC 2016

last-chance_tastaturNach unserer erfolgreichen Jubiläums-OSMC im letzten Jahr starten wir nun dieses Jahr in die nächste Runde. Die letzten Vorbereitungen zur Konferenz laufen auf Hochtouren und so liegt nahe, dass auch die Tickets langsam knapp werden. Wer noch Workshops besuchen möchte, hat leider nur die Chance, an GIT teilzunehmen, Elastic Stack, Icinga 2 und Graphing sind bereits ausverkauft.

Dieses Jahr steht die OSMC ganz unter dem Motto der Themenbereiche „Monitoring Projects“, „Metrics, Logs and Analysis“, „Best Practices“, „User Stories“, sowie „Tools and Add-ons“.

Und wir wären nicht NETWAYS, wenn wir nicht wieder ein herausragendes Vortragsprogramm zu bieten hätten. Dieses Jahr können sich die Teilnehmer vor allem auf Highlights wie die Vorträge von Monica Sarbu, Michael Medin, Mehrdad H. Abadi, Walter Heck, Fabian Reinartz, James Fryman, uvm. freuen. Zum kompletten Programm einfach hier klicken.

Wer letztes Jahr schon dabei war, konnte sich bereits von unserem neuen Baby auf der OSMC überzeugen lassen – dem Hackathon. Hier sind all diejenigen herzlich eingeladen, die eifrig an kleinen eigenen Projekten arbeiten wollen. Hierbei ist es ausdrücklich erwünscht, dass die Teilnehmer Ihre eigenen Themenvorschläge mit einbringen. Was natürlich auch nicht fehlen darf, ist eine Abendveranstaltung der besonderen Art, wo neben dem Schlemmen und Genießen vor allem der Austausch zwischen Teilnehmern und Referenten im Vordergrund steht. Und wenn’s der Zufall so will, geht’s danach halt noch zur Jenny! Hört sich gut an? Finden wir auch!

Und bevor Ihr jetzt noch in tragische Winterdepressionen verfallt, weil der OSMC-Zug ohne euch abfährt, so solltet ihr dem Tipp Folge leisten und euch noch eines der letzten Tickets schnappen. Andernfalls wär’s jammerschade, oder?

Julia Hackbarth

Autor: Julia Hackbarth

Julia ist seit 2015 bei NETWAYS. Sie hat im September ihre Ausbildung zur Kauffrau für Büromanagement gestartet. Etwas zu organisieren macht ihr großen Spaß und sie freut sich auf vielseitige Herausforderungen. In ihrer Freizeit spielt Handball eine große Rolle: Julia steht selbst aktiv auf dem Feld, übernimmt aber auch gerne den Part als Schiedsrichterin.