Es gibt schönere Aufgaben, als Ausstattungslisten des eigenen Rechnerpools zu pflegen. Eine zentrale Inventarisierungssoftware wie ACMP automatisiert das stupide Erfassen von Windows-, Linux- und Mac-Computern und deren Software.
Die ACMP-Suite von Aagon Consulting [1] aus dem nordrhein-westfälischen Soest besteht aus einer Inventarisierungskomponente, einer Softwareverteilung, einem Helpdesk-Modul, Lizenzmanagement und dem Client Command Center, mit dem der Systemverantwortliche Befehle auf ausgewählten oder allen Clients ausführt. Außerdem überwacht ACMP Sicherheitskomponenten wie Virenscanner und Patchstände.
Stammesgeschichtlich siedelt ACMP ganz klar im Windows-Dorf: Bis vor Kurzem erfasste es nur Rechner mit Microsoft-Betriebssystemen, die Suite selbst ließ und lässt sich nur auf einem Windows-Server installieren. Die neueste “Pro”-Version 3.8.10 berücksichtigt jedoch auch Linux- und OS-X-Clients, die sie mittels SSH ansteuert [2]. Dies – und auch weil Windows-PCs noch recht verbreitet sind – lässt Raum für die Betrachtung des Produkts. Als Linux-Clients unterstützt ACMP offiziell Debian ab 6.0.3, Ubuntu ab 12.04, Open Suse ab 11.4 und Fedora ab Version 16. Bei Apple-Rechnern markiert OS X Leopard die Einstiegshürde.
Scannen ohne Agenten
Neu in der Version 3.8.10 ist der Agentless Scanner, der andere Datenquellen anzapft, etwa das Active Directory. Zu dieser Komponente gehört auch der XML Importer, der als Dienst periodisch in Netzwerkfreigaben nach neuen XML-Dateien sucht, die Inventory-Daten enthalten, und sie in ACMP importiert. Für Linux- und OS-X-Clients gibt’s ein Bündel Python-Skripte, die solche XML-Files erzeugen und auf einer der CIFS-Freigaben ablegen. Im Sinne einer zentralen Administration bietet der Server im Client Command Center die Möglichkeit, Shellkommandos zu hinterlegen, die per SSH die Linux- oder OS-X-Clients ausführen.
Der mengengestaffelte Preis des proprietären Produkts bemisst sich pro Jahr und Clients, egal ob diese mit Linux, Mac OS oder Windows laufen. Bei 100 Clients kostet die Grundlizenz rund 40 Euro pro Client und Jahr. Dazu kommen Lizenzgebühren für Zusatzfunktionen wie Software-Erfassung oder Helpdesk.
Server und Clients installieren
Die neueste Demoversion müssen Interessierte direkt beim Hersteller [1] anfordern, das auf der Homepage hinterlegte Zip-File beinhaltet nämlich nur die nicht updatefähige Version 3.8.0, die noch keine Linux-Unterstützung besitzt (Stand Mitte Juni 2012).
Die Suite benötigt einen MS-SQL-Server als Datenbank. Eine bestehende Installation eignet sich dafür genauso wie eine neu aufgesetzte Express-Version. Passend zur ACMP-Serversoftware gibt es eine Konsole, um die Software zu steuern. Die darf der Admin auch auf einem anderen Rechner im Netz installieren, ebenso einen Agenten auf den verwalteten Windows-Clients. Den Agentless Scanner muss er nach Updates manuell installieren. Er benötigt die Windows-Komponente Message Queueing.
Auf allen einzubindenden Linux-Systemen müssen Python 2.6 oder höher und folgende Tools installiert sein: »hdparm« , »dmidecode« , »lsb_release« und »aptitude« für Debian und Derivate. Die Dokumentation des Produkts verschweigt tückischerweise, dass »unzip« ebenso obligatorisch ist. Im Test anlässlich dieses Artikels mit Ubuntu Server 12.04 führte das Fehlen des Entpackers anfänglich zu mysteriösen Effekten.
Sind Server und Clients mit der nötigen Software bestückt, darf der Admin beginnen Linux-Clients anzubinden. Im Test mussten zwei virtuelle Maschinen mit Ubuntu Server 12.04 und Fedora 16 als Testkandidaten herhalten.
Erfassen von Linux-Clients
Abbildung 1 zeigt die Konsole von ACMP nach dem Einloggen. Im Menü »Client Commands | Erweiterte Inventarisierung« findet sich der Eintrag »Linux und MacOS Inventarisierung« . Ein Doppelklick darauf (oder Rechtsklick und »Execute« ) führt zum nächsten Dialog mit weiteren Client-Kommandos.
Ein Klick auf »Next« bringt den Admin zur Wahl des Clients, was ein wenig verwirrend ist, da er ja erst einen oder mehrere Clients erfassen will und nicht mit einem vorhandenen arbeiten. Er wählt hier den Client, der die SSH-Logins ausführt, um andere Clients zu erfassen, also den ACMP-Server oder den Rechner, auf dem die Konsole läuft.

Abbildung 1: Die Konsole von ACMP unmittelbar nach dem Einloggen zeigt sich gut strukturiert und bei aller Detaildichte übersichtlich.
Danach erscheint der Dialog in Abbildung 2. Hier gibt der Admin die Anmelde-Informationen für die CIFS-Freigabe an, die Benutzerkennung, mit der sich das Tool einloggt (Root oder ein Benutzer, der »sudo« ausführen darf), sowie entweder einen IP-Bereich, den ACMP durchprobieren soll, oder eine Liste mit einzelnen IP-Adressen. Nun loggt sich das Skript auf allen Systemen ein, zu denen es Zugang erlangt, kopiert das Archiv mit den Python-Skripten hinüber und führt das Registrierskript aus. Ein Parameter weist es dabei an, das erzeugte XML-File auf dem CIFS-Share abzulegen.
Das alles passiert asynchron, da das Skript eine Weile auf den Systemen beschäftigt ist, um alle Informationen einzusammeln. Daher meldet sich das GUI zügig zurück, doch die Systeme tauchen noch nicht in der Datenbank auf. Der Administrator kann aber kontrollieren, ob die erzeugten Daten sich bereits auf dem Share befinden.

Abbildung 2: Der Dialog dient zur Datenerfassung von Linux- und Mac-OS-Clients. Hier will ACMP beispielsweise die Benutzerkennung wissen.
Freigaben konfigurieren
Bevor der Import gelingt, muss der Admin den Agentless Scanner konfigurieren. Für den XML Importer sind die CIFS-Freigabe (der UNC-Pfad in der Form »\\Servername\Freigabe« ), die Domain (im LDAP-FQDN-Format »dc=Example,dc=com« ), Username und Passwort sowie das Intervall in Sekunden nötig, mit dem ACMP in diesem Share nach neuen Daten suchen soll. Es lassen sich zudem mehrere Shares angeben.
Wenn der XML-Importer dann auf das Share zugreift, liest ACMP die Daten aus und löscht die Dateien. Im Gegenzug taucht das System in der Datenbank auf. Das Whitepaper zur Konfiguration des Agentless Scanner [1] beinhaltet eine Übersicht der Kommandozeilen-Optionen und empfiehlt, das Skript regelmäßig per Cronjob laufen zu lassen. Das wiederholte Starten des Skripts aktualisiert die Datenbankeinträge, erzeugt aber zum Glück keine Dubletten.
Die Inventarisierung erfasst die Festplatten jedes Clients, das CPU-Modell, Bios-Informationen (sofern »dmidecode« sie auslesen kann), Speicher und weitere Hardware (Abbildung 3). Dazu kommen Netzwerk-IP, MAC-Adresse(n) und Netzmaske. Installierte Software erforscht ACMP mit »rpm« beziehungsweise »dpkg« , was auf Debian-Systemen offenbar etwas länger dauert als auf RPM-basierten. Außerhalb des Paketmechanismus installierte Software bleibt damit naturgemäß unberücksichtigt.

Abbildung 3: Lohn der Mühe: Auch ohne Agent auf dem Client trägt ACMP alle wichtigen Informationen über die Hosts im Netz zusammen.
Kommandos ausführen
Das offensichtlich primär für Windows-Clients entwickelte Client Command Center unterstützt den Admin beim Anlegen, Testen und Ausrollen von Skripten. Dabei hat der Hersteller auch an eine Skript-Versionierung gedacht. Ein Kommando legt der Admin im Client Command Center mit »Create« an. Daraufhin erscheint ein Fenster wie in Abbildung 4.
Per Drag&Drop schiebt der Admin ein SSH-Kommando, im Beispiel »Execute Shellscript« , in den weißen Kommandobereich. Dann editiert er es im Sinne eines Shellskripts (Abbildung 5), das ACMP später ausführt. Die Standardausgabe und den Exitcode des Skripts bekommt ACMP zurückgeliefert, sie lassen sich hier weiterverarbeiten.

Abbildung 4: Per Drag&Drop schiebt der Administrator das »Execute Shellscript«-Kommando in den weißen Kommandobereich.

Abbildung 5: Spartanisch, aber seiner Aufgabe gewachsen: Der Editor für Shellskripte im Client Command Center.
Zur Skript-Definition gehören auch Benutzerdaten für den Client. Hier liegt der Security-Hase ein bisschen im Pfeffer: ACMP sieht vor, dass die Logins aller Hosts gleich sind. Es ist zwar möglich, mit einer SSH-Schlüsseldatei zu arbeiten, jedoch empfiehlt es sich, auf den verwalteten Systemen einen Benutzer anzulegen, der mittels Sudo administrative Tätigkeiten ausführen darf.
»Release« stellt das Client-Kommando in dieser Version verwendbar bereit, jede Änderung erfordert eine neue Version des Kommandos. Als praktisch erweist sich die Möglichkeit, Client-Kommandos auf Gruppen von Rechnern anzuwenden.
Die Softwareverteilung
Eine Software-Installation ist ein spezielles Client-Kommando, das die Installationsroutine in einen Wrapper packt. Ein GUI-Wizard erleichtert den Vorgang: Der Admin klickt im Client Command Center auf »Create« , woraufhin in der Leiste über dem Navigationsbaum ein Linux-Pinguin erscheint. Dieser führt zu dem genannten Software Packet Wizard.
Der Admin wählt nun zwischen RPM- und Deb-Paketen oder benennt ein eigenes Installskript. Für die Paketinstalltion zieht ACMP das »rpm« – beziehungsweise »dpkg« -Kommando heran, das Abhängigkeiten allerdings nicht automatisch auflöst. Aagon prüft derzeit, wie eine spätere Version das Problem mit »yum« oder »apt-get« lösen könnte.
Der Administrator lädt die für die Clients vorgesehene Software auf den Aagon-Server hoch oder spezifiziert eine Download-URL. Bei den Parametern lässt sich auch hier nur ein einziges Benutzerkonto angeben. Das macht eine einheitliche Kennung mit identischen Passwörtern auf allen Systemen erforderlich.
Geht auf den Clients beim Ausrollen von Software etwas schief, bekommt ACMP und damit der Admin davon nichts mit – Fehlermeldungen des Clients erscheint nicht in der Konsole, bei Verdacht muss der Admin in den Logdateien suchen. Zumindest ein Indikator in der grafischen Konsole wäre wüschenswert.
Für Landschaften mit Farbflecken
In einer homogenen Linux-Umgebung ergibt es keinen Sinn, ausgerechnet einen Windows-Server hinzustellen, um die Linux-Rechner zentral zu verwalten. Wer aber ein Windows-lastiges Netz mit ein paar Linux- oder Mac-OS-Systemen zu verwaltet hat, fährt mit ACMP sicher besser als mit allen selbst gestrickten Lösungen – auch wenn im Test die eine oder andere Funktion gefehlt hat.
Der Anbieter Aagon betont, dass die vorliegende Version die erste mit Nicht-Windows-Unterstützung ist, und versichert, in diese Richtung weiter zu entwickeln. Positiv fiel der Herstellersupport auf, der die Tester nach Kräften unterstützte und alle aufgetretenen Probleme aus dem Weg zu räumen half.
Infos
- Aagon Consulting: http://www.aagon.de
- ACMP Pro: http://www.aagon.de/de/produkte/acmp-suite/pro.html






