Identifizieren von Hosts und Vorlagen in einer Zabbix-Tabelle mit mehreren ID-Spalten
Im Kontext eines Zabbix-Setups, bei dem Hosts und Vorlagen die teilen Da sie in derselben Tabelle liegen und über ihre jeweiligen IDs identifiziert werden, kann das Auffinden der spezifischen Hosts, die bestimmte Vorlagen verwenden, eine schwierige Aufgabe sein. Um dieses Problem zu beheben, ist es wichtig, die Tabelle „hosts_templates“ zu nutzen, die die Beziehungen zwischen Hosts und Vorlagen explizit definiert.
Die Tabelle „hosts“ enthält die folgenden relevanten Spalten:
Mittlerweile enthält die Tabelle „hosts_templates“ die folgenden Spalten:
Das Ziel besteht darin, die Namen von Hosts und Vorlagen basierend auf ihren IDs in der Tabelle hosts_templates abzurufen. Eine einfache Zusammenführung mithilfe der Host-ID-Spalte führt jedoch zu doppelten Einträgen.
Um dieses Problem zu umgehen, sollte die Abfrage die Hosts-Tabelle zweimal verknüpfen und für jeden Join unterschiedliche Aliase verwenden. Auf diese Weise können wir in den Ergebnissen zwischen Host- und Vorlagennamen unterscheiden:
SELECT h1.name AS host_name, h2.name AS template_name FROM hosts_template AS t JOIN hosts AS h1 ON t.hostid = h1.hostid JOIN hosts AS h2 ON t.hosttemplateid = h2.hostid
Diese verfeinerte Abfrage ruft erfolgreich die gewünschten Daten ab und bietet einen klaren Überblick darüber, welche Hosts welche Vorlagen in der Zabbix-Umgebung verwenden.
Das obige ist der detaillierte Inhalt vonWie identifiziere ich Zabbix-Hosts und -Vorlagen mithilfe mehrerer ID-Spalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!