簡體   English   中英

SQL選擇以打印Icinga2主機組中的所有主機名

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM