>데이터 베이스 >MySQL 튜토리얼 >호스트-템플릿 관계를 표시하기 위해 Zabbix를 쿼리하는 방법은 무엇입니까?

호스트-템플릿 관계를 표시하기 위해 Zabbix를 쿼리하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-29 01:17:11746검색

How to Query Zabbix to Show Host-Template Relationships?

Zabbix에서 호스트-템플릿 관계를 표시하는 쿼리

이 쿼리는 Zabbix 테이블에서 데이터를 검색하여 어떤 호스트가 특정 템플릿을 사용하는지 표시하는 데 도움이 됩니다. 문제는 호스트와 템플릿이 모두 호스트의 경우 11813, 템플릿의 경우 11815와 같은 ID가 혼합되어 동일한 테이블에 저장된다는 사실입니다.

이 문제를 해결하기 위해 연결을 설정하는 호스트_템플릿 테이블을 소개합니다. 세 개의 열(host_template ID, 호스트 ID, 템플릿 ID)을 통해 호스트와 템플릿 사이를 연결합니다.

호스트 테이블에는 호스트 ID 및 템플릿과 같은 중요한 필드가 포함되어 있습니다. 이름. 호스트 테이블에 templateid 열이 있지만 사용되지 않습니다.

hosts_templates 테이블에서 어떤 호스트가 어떤 템플릿을 사용하는지 확인할 수 있습니다. 그러나 ID를 해당 이름으로 변환해야 할 때 문제가 발생합니다.

이전 시도

다음 초기 쿼리는 부분적인 솔루션을 제공하는 것을 목표로 했지만 중복이 발생했습니다. 문제:

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;

솔루션

솔루션에는 각각 서로 다른 테이블 별칭을 사용하는 두 개의 조인이 필요합니다.

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

이 쿼리에서 호스트_템플릿 테이블은 t로 별칭이 지정되고, 호스트 테이블은 호스트 이름과 템플릿을 구별하기 위해 h1과 h2로 별칭이 지정됩니다. 이름.

위 내용은 호스트-템플릿 관계를 표시하기 위해 Zabbix를 쿼리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.