识别具有多个 ID 列的 Zabbix 表中的主机和模板
在 Zabbix 设置的上下文中,主机和模板共享相同的表并通过各自的 ID 进行标识,定位使用特定模板的特定主机可能是一项具有挑战性的任务。为了解决这个问题,必须利用hosts_templates表,它明确定义了主机和模板之间的关系。
hosts表包含以下相关列:
同时,hosts_templates 表包含以下列:
目标是根据hosts_templates 表中的ID 检索主机和模板的名称。但是,使用 hostid 列进行直接合并将导致重复条目。
要避免此问题,查询应连接主机表两次,每次连接使用不同的别名。通过这样做,我们可以区分结果中的主机名称和模板名称:
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
此精炼查询成功检索所需的数据,提供了哪些主机在 Zabbix 环境中使用哪些模板的清晰视图。
以上是如何使用多个 ID 列识别 Zabbix 主机和模板?的详细内容。更多信息请关注PHP中文网其他相关文章!