LDAP bietet als Verzeichnisdienst dem Benutzer ein generisches Backend für die Konfiguration von Nagiosobjekten. Im Vortrag wird erläutert wie Konfigurationselemente im LDAP-Verzeichnis abgelegt werden, welche Schemaänderungen einzuspielen sind und wie einfach und effektiv die Kopplung der beiden Systeme ist. Durch LDAP bietet sich ebenfalls die Möglichkeit hierarchisch Benutzerrechte zu vergeben und so den jeweils zuständigen Administratoren nur die für sie autorisierten Systeme konfigurieren zu lassen, auch hierauf wird eingegangen. Zusätzlich werden Tools vorgestellt die das tägliche Arbeiten mit dieser LDAP zu Nagios Kopplung vereinfachen.
2. Agenda
Kurzvorstellung
Warum entstand LConf?
Was ist „es“?
Was bietet „es“?
Installation
Was ist das „Schema“?
Wie geht es weiter?
Import einer vorhandenen Konfiguration
Benutzung von Profilen
Benutzerberechtigungen in LDAP setzen (Mandantenfähigkeit)
4. Kurzvorstellung MICHAEL STREB
27 Jahre
seit 2006 bei der NETWAYS GmbH
zuvor 7 Jahre im Bereich IT-Infrastruktur und Rechenzentrum
– Betrieb von Netzwerken
– Aufbau von Rechenzentren
– Interner IT Betrieb eines Softwareunternehmens
5. Kurzvorstellung NETWAYS
Firmengründung 1995
GmbH seit 2001
Open Source seit 1997
Nagios / Netsaintseit 1999
20 festangestellteMitarbeiter
Spezialisierung in den Bereichen Open Source Systems
Management und Open Source Datacenter Solutions
6. Aktuelles
www.netways.org
– NETWAYS Addons
– NETWAYS Plugins
– LConf – LDAP basierte Nagios/Icinga Konfiguration
– Reporting auf Basis von Jasper
IcingaDevelopment
RelaunchMonitoringExchange
– Auf Basis von Catalot (catalot.org)
– Plugin/AddonCommunity Plattform
8. Warum entstandLConf?
Anforderungen
Verteilte Umgebung möglichst einfach Konfigurierbar
Vererbung muss möglich sein
Profilbasierte Konfiguration (Checktemplates)
Mandantenfähigkeit
Berechtigung auf Teilbäume setzbar
Unabhängigkeit für den laufenden Betrieb
Versionierung der Konfigurationen
einfacher Rollback
Wunsch: Basierend auf Standards
10. Warum entstand LConf?
Alternative 1: SVN mit Exportmechanismus
Versionierung der Konfiguration
basiert auf Standards
+
komplizierter Struktur Aufbau
keine direkte Vererbung möglich
Benutzerrechtevergabe
komplex
Mandandenfähigkeiteingeschrä
nkt
niedriger Anfangserfolg
keine Erleichterung bei der
Konfiguration
-
11. Warum entstandLConf?
Alternative 2: Verwendung eines existierenden Konfigurationstools
hoher Anfangserfolg
fertiges Frontend für die
Konfiguration
+
bedingt Mandantenfähig
basiert nicht auf Standards
eigene DB Struktur
eigene Bedienungslogik
keine Versionierung der
Konfiguration
hoher Anpassungsaufwand
keine Struktursicht
-
12. Warum entstandLConf?
Alternative 3: „nur“ Konfigurationsdateien
auch komplexe Konfigurationen
möglich
basiert auf „dem“ Standard
+
nicht Mandantenfähig
keine Versionierung(nur
nachgängig mit SVN)
niedriger Anfangserfolg
komplexer
Konfigurationsmechanismus
keine Alternative für nicht
Nagios versierte Benutzer
keine Erleichterung bei der
Konfiguration
-
13. Warum entstandLConf?
Alternative 4: LDAP als Grundlage
auch komplexe Konfigurationen
möglich
basiert auf Standards
Mandantenfähigkeit ootb
Templates möglich
Vererbung möglich
auch für nicht Nagios versierte
Benutzer tauglich
Unterstützung bei der
Konfiguration
+
Exporter muss erstellt werden
keine Versionierung (nur
nachgängig mit SVN)
-
14. Was ist LConf?
Backend für die Objektkonfiguration
Hosts/Hostgruppen
Services/Servicegruppen
Kontakte/Kontaktgruppen
Templates
aktuell noch keine Dependencies und Eskalationen
zentrale Konfigurationsstelle
aktuell kein eigenes Frontend
ist aberin Planung
Pflege über jedes beliebige LDAP GUI
Benutzerauthentifizierung und Authorisierung durch LDAP
15. Was bietet LConf?
Objektkonfiguration unter einem Dach
zentrale Verwaltung einer großen und verteilten Umgebung
durch LDAP nagiosähnliche Konfigurationsverfahren
einzelne Objekte haben diverse Attribute
Mandantenfähigkeit
Berechtigungen auf Teilbäume
Vererbung von Attributen an Subelemente
Benutzung von Überwachungsprofilen
diverse GUI‘s für die Konfiguration
Regelbasierte Massenänderung einfach möglich
19. Installation
Was wird für LConf benötigt:
OpenLDAP als Backend
praktisch in jeder Distribution enthalten
Debian: # apt-getinstallslapd
Schemaerweiterung für LDAP (http://www.netways.org/)
im LConf Verzeichnis enthalten
slapd.conf
include /etc/ldap/schema/netways.schema
Debian: /etc/init.d/slapdrestart
Frontend für die Konfigurationspflege
diverse vorhanden:
LDAPAdmin unter Windows (http://ldapadmin.sourceforge.net/)
Eclipse mit Apache Directory Studio (http://directory.apache.org/studio/)
jedes beliebige weitere LDAP Frontend
24. Was ist das „Schema“?
Definition der in LDAP Verfügbaren Objektklassen und deren
Attribute
OID‘s ähnlich SNMP
definiert welche Parameter für das jeweilige Objekt notwendig
sind
muss beim Start des LDAP Daemons geladen werden
29. Wie geht es weiter?
LConf an die Umgebung anpassen
Import einer bestehenden Konfiguration
benutzt NAGIOS objects.cache/objects.precache
legt alle Hosts und deren Services in eine „Import“ OU
importiert commands, timeperiods, usw.
erkennt gleiche Objektattribute und erzeugt daraus „Templates“
Voraussetzungen
Perl - Net::LDAP
apt-getinstalllibnet-ldap-perl
objects.cache
Verwenden von Überwachungsprofilen
30. LConf an die Umgebung anpassen
etc/config.pm anpassen
32. Import einer bestehenden Konfiguration
Vorbereitungen in LDAP
OU „LConf“ anlegen
ggf. auf $optLDAPDN aus config.pm anpassen
„nagiosStructuralObject“ - NagiosConfig unterhalb von LConf
anlegen
Container für generische Elemente
commands
contacts
timeperiods
usw.
34. Import einer bestehenden Konfiguration
Import durchführen
LConf:/usr/local/src/LConf# ./LConfImport.pl
Usage:
LConfImport.pl -o <path to objects.cache> -v -h –V
Options:
-o|--objectscache<path to objects.cache>
Path to existing Nagios Objects Cache; if specified script will
importwholeobjects.cacheintoldap
-c|--cleanup<ldapdn>
LDAP DN in whichcleanupshould start; eg.
ou=Main,ou=NagiosConfig,ou=LConf,dc=nagios,dc=test
-v|--verbose<path to logfile>
Verbose mode. If no logfileis specified, verboseoutput will be
printend to STDOUT
37. Import einer bestehenden Konfiguration
Strukturieren der Konfiguration
Erzeugen von „nagiosStructuralObject“
kann beliebig verschachtelt sein
nur so kommt Vererbung zum Tragen
sollte die vorhandene Umgebungsstruktur widerspiegeln
Standorte
Systemgruppen
Applikationsgruppen
40. Import einer bestehenden Konfiguration
Cleanup durchführen
Konsolidierung von gleichen Attributen auf verschiedenen Hosts
Vereinfachung der Konfiguration wegen Vererbung
44. Verwenden von Überwachungsprofilen
Vorbereitungen in LDAP
„nagiosStructuralObject“ – „Profiles“ unterhalb von LConf anlegen
Container für Checks auf bestimmte Hostgruppen
ähnlich Hostgruppenchecks in Nagios
werden durch LDAP Alias zu Objektgruppen zugewiesen
können bei jedem Host überlagert werden
Änderung an einer zentralen Stelle für beliebig viele Hosts
48. Mandantenfähigkeit
Benutzerberechtigungen in LDAP
LDAP bringt hierfür alles mit!
editieren der slapd.conf notwendig
können auf Teilbereiche rekursiv gesetzt werden
access to dn.subtree=“ou=Berlin,ou=NagiosConfig,ou=LConf,dc=netways,dc=org"
bydn=“cn=<username>,dc=netways,dc=org" write
Benutzer müssen im LDAP Verzeichnis angelegt werden
51. Fragen und Antworten
Jetzt und Hier
NETWAYS GmbH
Deutschherrnstrasse 15-19
90429 Nürnberg
michael.streb@netways.de
netways / mstreb
www.netways.de
blog.netways.de
www.google.de/search?q=netways
www.google.de/search?q=michael+streb
(ich bin nicht der Webentwickler)