[英]SQL select to print all host names in Icinga2 hostgroup
select alias from icinga_hosts;
打印每個主機組中的所有主機名。
select alias from icinga_hostgroups;
打印所有主機組。
我看不到如何“從icinga_hostgroups為“ customer0”的icinga_hosts中選擇別名;
換句話說,“打印主機組customer0中的所有主機名”。
我需要某種聯接嗎? 這是MariaDB 5.5。 感謝您的任何建議。
MariaDB [icinga]> show fields in icinga_hostgroups;
+---------------------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------------+---------------------+------+-----+---------+----------------+
| hostgroup_id | bigint(20) unsigned | NO | PRI | NULL | auto_increment |
| instance_id | bigint(20) unsigned | YES | MUL | 0 | |
| config_type | smallint(6) | YES | | 0 | |
| hostgroup_object_id | bigint(20) unsigned | YES | | 0 | |
| alias | varchar(255) | YES | | | |
| notes | text | YES | | NULL | |
| notes_url | text | YES | | NULL | |
| action_url | text | YES | | NULL | |
| config_hash | varchar(64) | YES | | NULL | |
+---------------------+---------------------+------+-----+---------+----------------+
9 rows in set (0.00 sec)
show fields in icinga_hosts;
+-----------------------------------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------------------+---------------------+------+-----+---------+----------------+
| host_id | bigint(20) unsigned | NO | PRI | NULL | auto_increment |
| instance_id | bigint(20) unsigned | YES | MUL | 0 | |
| config_type | smallint(6) | YES | | 0 | |
| host_object_id | bigint(20) unsigned | YES | MUL | 0 | |
| alias | varchar(255) | YES | | | |
| display_name | varchar(255) | YES | | | |
| address | varchar(128) | YES | | | |
您需要像icinga_hostgroup_members
表:
SELECT groups.alias AS 'Group',
hosts.alias AS Host
FROM icinga_hosts AS hosts
JOIN icinga_hostgroup_members AS group_members
ON hosts.host_object_id = group_members.host_object_id
JOIN icinga_hostgroups AS groups
ON group_members.hostgroup_id = groups.hostgroup_id
WHERE groups.alias = 'customer0';
select oh.name1 as host_name, ohg.name1 as hostgroup_name
from icinga_hosts h
join icinga_objects oh on h.host_object_id=oh.object_id
join icinga_hostgroup_members hgm on hgm.host_object_id=h.host_object_id
join icinga_hostgroups hg on hg.hostgroup_id=hgm.hostgroup_id
join icinga_objects ohg on hg.hostgroup_object_id=ohg.object_id
where ohg.name1='linux-servers';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.