Identification des hôtes et des modèles dans une table Zabbix avec plusieurs colonnes d'ID
Dans le contexte d'une configuration Zabbix, où les hôtes et les modèles partagent le même table et sont identifiés par leurs identifiants respectifs, localiser les hôtes spécifiques qui utilisent des modèles particuliers peut être une tâche difficile. Pour résoudre ce problème, il est essentiel d'exploiter la table hosts_templates, qui définit explicitement les relations entre les hôtes et les modèles.
La table hosts contient les colonnes pertinentes suivantes :
Pendant ce temps, la table hosts_templates comprend les colonnes suivantes :
Le but est de récupérer les noms des hôtes et des modèles en fonction de leurs identifiants dans la table hosts_templates. Cependant, une simple fusion utilisant la colonne hostid entraînera des entrées en double.
Pour contourner ce problème, la requête doit rejoindre la table des hôtes deux fois, en utilisant des alias différents pour chaque jointure. Ce faisant, nous pouvons faire la différence entre les noms d'hôte et de modèle dans les résultats :
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
Cette requête affinée récupère avec succès les données souhaitées, offrant une vue claire de quels hôtes utilisent quels modèles dans l'environnement Zabbix.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!