Bisher haben wir nur Standard-Linux-Dienste generiert – neben der Linux-Klasse und -Template liegen in OMD auch die Windows-Pendants vor.
Um weitere Applikationen und Betriebssysteme zu automatisieren, gehen Sie folgendermaßen vor:
- Bezeichnung für den Typ der Applikation wählen. Diese ist für die "__mi_ ident__"-Funktion erforderlich.
- Erstellen der Klasse.
- Auswahl geeigneter Details.
- Erstellung des Jinja2-Templates.
Neben der Typbezeichnung spielt auch der Name der Applikation eine Rolle, denn mit dessen Hilfe werden mehrere Applikationen des gleichen Typs auf einem Host unterschieden. Ist der Typ beispielsweise "oracledb", so bietet sich an, als Name die jeweilige SID zu nehmen. Diesen lassen Sie dann in die Service Description einfließen.
Wenn die Datasource beim Auslesen der CMDB zusätzlich zu Linux auf Netzwerkgeräte von Cisco stößt, wird daraus eine Datenstruktur resultieren, die neben einem "host_name"-Key wie gehabt einen "name"-Key mit dem Wert "os" enthält. Das "type"-Feld wird diesmal ein String sein, der höchstwahrscheinlich "IOS" enthält. Sie müssen nun eine kleine Python-Datei erstellen, die eine Klassendefinition mit Verweisen auf Templates enthält sowie eine "__mi_ident__"-Funktion, die auf eine Cisco-typische "name/type"-Kombination mit einer passenden Klasse reagiert.
Diese Cisco-Klasse soll ein Default-Template referenzieren und als Besonderheit noch ein Template, das BGP-spezifische Service-Definitionen enthält. Letzteres soll dann der Fall sein, wenn das Cisco-Objekt ein Attribut namens "bgp" besitzt. Listing 1 zeigt die Datei "os_cisco.py. Abgelegt wird die Datei unter
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.