Deploy­ment von OpenNMS mit Ansible

Das Open­So­urce-Tool Ansible ermög­licht die Auto­ma­ti­sie­rung von Admi­nis­tra­ti­ons­auf­gaben, wie zum Beispiel das Ausrollen von Soft­ware auf mehreren Servern oder die Durch­füh­rung von Soft­ware­up­dates. Ansible wird dabei auf einer Linux-Maschine instal­liert und greift per SSH auf die verwal­teten Ziel­sys­teme zu. Diese können in einem Inven­tory verwaltet werden, das entweder in einer Konfi­gu­ra­ti­ons­datei hinter­legt oder per Skript gene­riert wird. Außerdem ist es möglich, manuell einzelne Ziel­sys­teme zu defi­nieren. Auf den konfi­gu­rierten Ziel­sys­temen lassen sich dann verschie­dene Aufgaben ausführen - zum Beispiel die Instal­la­tion von Paketen über die Paket­ver­wal­tung, die Ausfüh­rung eines Kommandos oder die Anpas­sung von Konfi­gu­ra­ti­ons­da­teien. Ansible stellt dabei eine Viel­zahl an Modulen für die unter­schied­lichsten Arten von Ziel­sys­temen bereit. Mehrere Aufgaben werden in einem “Play­book” zusam­men­ge­fasst, das dann auf den Ziel­sys­temen ausge­führt wird. Eine ausführ­liche Einfüh­rung in das Thema Ansible bietet die offi­zi­elle Doku­men­ta­tion, die man unter http://docs.ansible.com findet.
Für die Instal­la­tion von OpenNMS haben wir zwei Ansible-Play­books erstellt und mit der zuge­hö­rigen Doku­men­ta­tion bei Github abge­legt. Beide Play­books aktua­li­sieren zunächst das Betriebs­system, instal­lieren und konfi­gu­rieren dann den SNMP Daemon und sorgen für eine Synchro­ni­sie­rung mit einem selbst gewählten NTP-Server. Anschlie­ßend wird der Post­greSQL Daten­bank­server instal­liert und konfi­gu­riert; zum Abschluss wird OpenNMS mit den Abhän­gig­keiten JICMP und dem Oracle JDK eingerichtet.
Das Play­book opennms-install-packaging.yml kann für Debian- und RedHat-basierte Betriebs­sys­teme verwendet werden (zum Beispiel: Debian, Ubuntu, RedHat Enter­prise Linux, CentOS, Oracle Linux) und verwendet für die Instal­la­tion die Paket­ver­wal­tung (apt oder yum) des Systems. Die benö­tigten Pakete für OpenNMS, die nicht als Teil der Distri­bu­tion mitge­lie­fert werden, werden dabei direkt von dem jewei­ligen System aus dem Internet heruntergeladen.
In manchen Umge­bungen ist der Zugriff auf das Internet nicht direkt möglich. Hier kann man das Play­book opennms-install-archive.yml verwenden. Es funk­tio­niert unter Debian-, RedHat- und SUSE-basierten Distri­bu­tionen und instal­liert OpenNMS mit den Abhän­gig­keiten Oracle JDK und JICMP aus Archiv Dateien, die vorher herun­ter­ge­laden werden müssen. JICMP und das Oracle JDK kann man dabei direkt als .tar.gz Archiv herun­ter­laden. OpenNMS muss zunächst aus den Quellen ausge­checkt und kompi­liert werden, um ein .tar.gz Archiv zu erhalten.
Um die Play­books auszu­führen, muss Ansible zunächst auf einer Linux-Maschine instal­liert werden (siehe Ansible Doku­men­ta­tion), die Zugriff per SSH auf das Ziel­system hat. Die Play­books können dann mit folgendem Befehl ausge­führt werden:

ansible-playbook -i <Host>, -k opennms-install-packaging.yml
ansible-playbook -i 192.168.0.11, -k opennms-install-packaging.yml

Ansible loggt sich per SSH als Benutzer root ein und verwendet dabei das Pass­wort, das direkt nach dem Aufruf des obigen Befehls durch Ansible abge­fragt wird. Alter­nativ ist auch die Authen­ti­fi­zie­rung per SSH-Key möglich. Hierbei kann man den Schalter “-k” aus dem Befehl weg lassen. Auch ist es möglich, die Play­books auf der lokalen Maschine auszu­führen. Hierbei verwendet man folgenden Befehl:

ansible-playbook -i localhost, -c local opennms-install-packaging.yml

Durch die Play­books ist es möglich, relativ schnell und einfach stan­dar­di­sierte OpenNMS-Instal­la­tionen aufzu­setzen. Die Play­books und die zuge­hö­rige Doku­men­ta­tion findet man hier.
Weiter­ge­hende Fragen beant­worten wir gerne persön­lich - E-Mail oder Anruf genügt.

Schreibe einen Kommentar

Cookie Einstellungen
Diese Website verwendet Cookies, um die bestmögliche Funktionalität zu gewährleisten. Mehr lesen

Akzeptiere alle Cookies Speichern