Strom sparender Computereinsatz hilft nicht zuletzt auch Kosten zu senken. ADMIN 02/2011 geht der Frage nach, was Administratoren tun können, damit ihre ... (mehr)

Viele Hosts

Seine Leistungstärke spielt Func (siehe Abbildung 1 ) vor allem dann aus, wenn es darum geht, eine Vielzahl von Systemen zu verwalten. Hierzu können Sie auf die gewohnte Shell-Dateinamen-Expansion ("Globbing") zurückgreifen. Es ist allerdings darauf zu achten, das Dateinamensmuster in Hochkommas zu setzen.

Abbildung 1: Überblick der Func-Features in einer Konferenz-Präsentation.

Das folgende Beispiel fragt alle LDAP-Systeme aus der Domäne »virt.tuxgeek.de« nach der eingesetzten Kernel- Version ab, ausgenommen sind Systeme die im Hostnamen den String »slave« enthalten:

# func --exclude "*slave*" "*ldap*.virt.tuxgeek.de" show hardware kernelVersion
ldap1-ms.virt.tuxgeek.de:
2.6.18-128.el5
ldap2-ms.virt.tuxgeek.de:
2.6.18-128.el5

Func bietet ebenfalls die Verwaltung von Maschinen über Gruppen an. Hierfür können Sie entweder die Datei »/etc/func/groups« manuell editieren und die gewünschten Gruppen anlegen oder die Arbeit an Func übergeben. Das folgende Beispiel erzeugt die Gruppe LDAP-Server mit den beiden Hosts »ldap1« und »ldap2« , zeigt das Ergebnis an und kopiert schließlich die Datei »/etc/hosts« auf alle Systeme der Gruppe ( Listing 4 ).

Listing 4

LDAP-Verwaltung

 

API für mehrere Sprachen

Am interessantesten wird es,wenn man auf die API des Management-Tools zurückgreift. Grundsätzlich können Sie jede Methode, die Sie auf Kommandozeile aufrufen, ebenfalls als API-Funktion ansprechen. Entsprechende Bindings existieren beispielsweise für die Skriptsprache Python. Listing 5 zeigt ein sehr einfaches Beispiel, das auf allen Systemen der LDAP-Gruppe überprüft, ob der LDAP-Service dort aktiv ist oder nicht und im Fehlerfall den Service nachstartet:

Listing 5

Func-API

 

# python check-ldap.py
ldap1.virt.tuxgeek.de LDAP-Server is UP
ldap2.virt.tuxgeek.de LDAP-Server is DOWN - starting it up
ldap2.virt.tuxgeek.de LDAP-Server is now UP

Wer beim Aufruf seines Editors direkt Spaß bekommen hat und nun eigene Module entwickeln möchte – kein Problem. Unter [3] findet sich eine recht ausführliche Anleitung, wie sich dies mithilfe von Python bewerkstelligen lässt.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023