Icinga 2 – Monitoring automatisiert mit Puppet Teil 3: Plugins

This entry is part 3 of 14 in the series Icinga 2 Monitoring automatisiert mit Puppet

Heute gehen wir der Frage nach wann und wie Plugins installiert werden sollten, was besonders wichtig bei Systemen mit icinga Benutzern zum Gegensatz nagios zu beachten ist. Auf z.B. RedHat-Systemen besteht das Problem, dass der Prozess Icinga 2 unter dem Benutzer icinga läuft, aber unteranderem das Plugin check_icmp oder auch check_dhcp nur vom Benutzer root oder einem Mitglied der Gruppe nagios mittels suid-Bit ausgeführt werden können.

# ls -l /usr/lib64/nagios/plugins/check_icmp
-rwsr-x---. 1 root nagios ... /usr/lib64/nagios/plugins/check_icmp

Das Ändern der Gruppenzugehörigkeit mit Puppet ist wenig hilfreich, da leider bei einem Update des Paketes nagios-plugins die alten Berechtigungen wieder hergestellt werden. Man könnte nun natürlich den Benutzer icinga und das Paket nagios-plugins explizit vor der Klasse icinga2 managen, verliert dann jedoch die Paketkontrolle über die uid und muss das Home-Directory, Shell und weitere Eigenschaften per Hand in Puppet entscheiden. Klarer ist die Methode genau diese Sachen dem Paket zu überlassen und erst danach icinga in die Gruppe nagios aufzunehmen.

yumrepo { 'icinga-stable-release':
  ...
}
->
package { [ 'icinga2', 'nagios-plugins' ]:
  ensure => installed,
}
->
user { 'icinga':
  groups => [ 'nagios' ],
}
->
class { '::icinga2':
  manage_package => false,
}

Um dieses Vorhaben umzusetzen ist es erforderlich die benötigten Repositories zuerst einzubinden, hier mit yumrepo angedeutet, dann die Pakete zu installieren, den Benutzer anzupassen und erst dann die Klasse icinga2 zu deklarieren.

Lennart Betz
Lennart Betz
Senior Consultant

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.

Monitoring Plugins 2.0 Release

nagios-plugins-upgradeWas lange reift, wird endlich gut – wer im Jänner mitbekommen hat, dass die ursprünglichen Nagios Plugin Entwickler vom Trademark-Besitzer rausgekickt worden sind, und ihre Software nunmehr unter dem Namen “Monitoring Plugins” an Mann/Frau ausliefern, hat lange auf dieses Release warten müssen. Nun ist es aber endlich da – Monitoring Plugins 2.0. Aktualisierte Pakete gibts hoffentlich bald, und jedem sei ans Herz gelegt, die vorherigen Nagios Plugins aus dieser vertrauenswürdigen Quelle zu aktualisieren.
Icinga 2 ist mit den Monitoring Plugins vollständig kompatibel, und liefert mit den Plugin Check Commands sogar erste Templates out-of-the-box die einfach weiterverwendet werden können. Wie man das macht, gibts unter anderem auch in unserer Icinga 2 Schulung zu bestaunen.
 
(Bild (c) memegenerator.net)

Michael Friedrich
Michael Friedrich
Senior Developer

Michael ist seit vielen Jahren Icinga-Entwickler und hat sich Ende 2012 in das Abenteuer NETWAYS gewagt. Ein Umzug von Wien nach Nürnberg mit der Vorliebe, österreichische Köstlichkeiten zu importieren - so mancher Kollege verzweifelt an den süchtig machenden Dragee-Keksi und der Linzer Torte. Oder schlicht am österreichischen Dialekt der gerne mit Thomas im Büro intensiviert wird ("Jo eh."). Wenn sich Michael mal nicht in der Community helfend meldet, arbeitet er am nächsten LEGO-Projekt oder geniesst...

Weekly Snap: Planning Poker, Plugin Problems & PuppetConf

24 – 28 September was another full week featuring Nagios plugins, Planning Poker, Chrome and three conferences.
In typical Monday tradition, Eva counted 23 days to the OSMC 2012 – this time with Jean Gabes’ presentation on Shinken.
Following on the monitoring theme, Dirk looked at the Nagios plugin development guidelines and the typical mistakes made when writing plugins.
Ronny then explained how to make the most of Chrome’s integrated Windows login while Alexander played Planning Poker.
On the conference circuit, Thomas offered his impressions from PuppetConf 2012 in San Francisco and Bernd shared a thank you note from the Debian Conference 2012 in Nicaragua we sponsored from afar.
Finally, Birger made his final preparations for his sabbatical in Sydney.

Plugins in Java für Icinga und Nagios?

Grundsätzlich ist das mit Java und Admins ja so eine Sache, was auch die Vielzahl von Plugins in Perl oder gar als Shell-Skript erklärt. Nun kommt es aber in größeren Enterprise-Umgebungen vor, dass Software in Java entwicklet wird und dann auch noch überwacht werden soll. Warum bei solchen Projekten dann nicht auch gleich eine Schnittstelle zum Monitoring programmieren?
Oder vielleicht gibt es eine solche API schon für das eingesetzte Produkt, wie z.B. bei einem Kunden, bei dem ich kürzlich eine Migration von Nagios nach Icinga durchführte. Die dort eingesetzte Software stellt Java-Klassen zur Überwachung zur Verfügung, die bedingt durch Verträge nicht auf dem jeweiligen Application-Server ausgeführt werden darf, sondern auf dem Monitoring-System selbst.
Damit nicht für jedes Plugin, das gestartet wird, immer wieder eine neue Java-VM gestartet werden muss, hat man sich für den Einsatz von JNRPE entschieden. JNRPE ist eine Java basierte Implementation des NRPE-Servers, der mittels check_nrpe abgefragt wird. Seit Version 2 ist die API in eine Library ausgelagert, die auch bei eigenen Java-Projekten unter Beachtung der Apache Software License 2.0 verwendet werden darf.

Lennart Betz
Lennart Betz
Senior Consultant

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.

Weekly Snap: Nagios Plugins and Cloud Pokes

26 – 30 July quietly slipped by with a Nagios Plugins release and thoughts on cloud computing from Geek and Poke.
Bernd passed on news of the latest Nagios Plugin Development Team’s release. Nagios Plugins 1.4.15 brings many bug fixes and improvements to check_disk_smb and check_ntp_peer. For the latter in particular, the user can now monitor the number of valid NTP sources and assign ‘warning’ and ‘critical’ thresholds. Check it out for yourself at Sourceforge.