Heim > Datenbank > MySQL-Tutorial > Wie kann ich Zabbix abfragen, um Host-Vorlage-Beziehungen anzuzeigen?

Wie kann ich Zabbix abfragen, um Host-Vorlage-Beziehungen anzuzeigen?

DDD
Freigeben: 2024-11-29 01:17:11
Original
730 Leute haben es durchsucht

How to Query Zabbix to Show Host-Template Relationships?

Abfrage zum Anzeigen von Host-Vorlagen-Beziehungen in Zabbix

Diese Abfrage hilft beim Abrufen von Daten aus Zabbix-Tabellen, um anzuzeigen, welche Hosts bestimmte Vorlagen verwenden. Die Herausforderung liegt darin, dass sowohl Hosts als auch Vorlagen in derselben Tabelle gespeichert sind, gemischt mit IDs wie 11813 für Hosts und 11815 für Vorlagen.

Um dieses Problem zu beheben, führen wir die Tabelle hosts_templates ein, die die Verbindung herstellt zwischen Hosts und Vorlagen über die drei Spalten: host_template ID, hostid und templateid.

Die Hosts-Tabelle Enthält wichtige Felder wie Host-ID und Name. Obwohl die Hosts-Tabelle über eine TemplateID-Spalte verfügt, wird diese nicht verwendet.

In der Hosts_templates-Tabelle können wir bestimmen, welche Hosts welche Vorlagen verwenden. Die Herausforderung entsteht jedoch, wenn wir IDs in entsprechende Namen übersetzen müssen.

Vorherige Versuche

Die folgenden ersten Abfragen zielten darauf ab, Teillösungen bereitzustellen, stießen jedoch auf Duplizierungsprobleme:

select name, name
  from hosts_templates
 inner join hosts on hosts_templates.hostid = hosts.hostid;

select name, name
  from hosts_templates
 inner join hosts on hosts_templates.templateid = hosts.hostid;
Nach dem Login kopieren

Lösung

Die Lösung erfordert zwei Joins, jeweils mit unterschiedlichen Tabellenaliasen:

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
Nach dem Login kopieren

In dieser Abfrage wird die Tabelle „hosts_template“ mit dem Alias ​​„t“ versehen, während die Tabelle „hosts“ mit dem Alias ​​„h1“ und „h2“ versehen wird, um zwischen Hostnamen und Vorlagennamen zu unterscheiden.

Das obige ist der detaillierte Inhalt vonWie kann ich Zabbix abfragen, um Host-Vorlage-Beziehungen anzuzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage