Seite 1 von 1

Externe Variablen eines Pakets

Veröffentlicht: 29. November 2018 - 09:57 Uhr
von Dani
Hallo zusammen :-)

Ich evaluiere derzeit WAPT als Ersatz für eine Eigenentwicklung (basierend auf WPKG). Zunächst einmal ein großes Lob an die Entwickler – WAPT ist hervorragend gestaltet!

Ich stehe vor einer kleinen Herausforderung, über deren beste Lösung ich noch nachdenke (deshalb beziehe ich alle in diese Diskussion ein, weil ich denke, dass es sich um ein Problem handelt, das auch andere Menschen betreffen kann).

Die Herausforderung besteht darin, Variablen innerhalb eines Pakets zu verwenden, ohne deren Werte fest im Paket selbst zu kodieren. Ich möchte dies an einem Beispiel erläutern:

Ich verwalte mehrere Standorte, jeder mit seinem eigenen Netzwerkbereich. Jeder Standort verfügt über einen Zabbix-Proxy zur Überwachung der Standortelemente. Nun möchte ich ein Paket erstellen, um den Zabbix-Agenten bereitzustellen
  • Für jeden Standort muss ich die IP-Adresse des Proxys angeben, der den Agenten abfragen kann (und den Port in der Firewall für diese IP-Adresse öffnen)
  • Ich würde es vorziehen, nicht für jede Website ein separates Softwarepaket pflegen zu müssen
Daher müsste ich in der Lage sein, ein generisches "zabbixagent"-Paket zu erstellen, das eine Variable aus einer anderen Stelle im Setup verwendet.

Idealerweise (d. h. eine kleine NFR) ;-) Es wäre notwendig, Schlüssel=Wert-Paare in Gruppen- oder Host-Typ-Paketen definieren zu können, die Variablen gleichen Namens in einem Paket überschreiben könnten; dies würde einen sehr einfachen Ansatz ermöglichen :-)

Aber soweit ich gelesen habe, ist das noch nicht möglich. Deshalb suche ich nach einer anderen Lösung.

Ich hatte überlegt, ein `variables-site1`-Paket zu erstellen, das eine JSON-Datei mit standortspezifischen Werten auf den Rechnern ablegt. Andere Pakete könnten diese JSON-Datei dann einlesen, um ihre Variablen zu befüllen. Allerdings gibt es ein zeitliches Problem: Das `variables-siteXXX`-Paket muss unbedingt zuerst bereitgestellt werden. Außerdem kann ich es nicht als Abhängigkeit meines `zabbixagent`-Pakets festlegen, da der Name für jeden Standort unterschiedlich ist.

Daher bleibt mir als einzige Option, das variables-siteXXX-Paket gleichzeitig mit dem Agenten auf jedem Rechner manuell zu installieren

Hat jemand eine bessere Idee? Welche Lösung verwendet ihr für dieses Problem, das doch recht häufig auftreten dürfte?

Hinweis: Ich teste WAPT derzeit und nutze daher die Community-Version. Möglicherweise bietet die Enterprise-Version zusätzliche Funktionen, aber ich habe in der Dokumentation nichts Vergleichbares gefunden.

Anmerkung 2: Ich habe zwischen dem Abschnitt „Pakete“ und dem Abschnitt „Nutzung“ geschwankt; Sie können diese Nachricht verschieben, wenn Sie es für notwendig halten :-)