ホームページ > データベース > mysql チュートリアル > Zabbix にクエリを実行してホストとテンプレートの関係を表示するにはどうすればよいですか?

Zabbix にクエリを実行してホストとテンプレートの関係を表示するにはどうすればよいですか?

DDD
リリース: 2024-11-29 01:17:11
オリジナル
783 人が閲覧しました

How to Query Zabbix to Show Host-Template Relationships?

Zabbix でホストとテンプレートの関係を表示するクエリ

このクエリは、Zabbix テーブルからデータを取得して、どのホストが特定のテンプレートを使用しているかを示すのに役立ちます。課題は、ホストとテンプレートの両方が同じテーブルに格納され、ホストの場合は 11813、テンプレートの場合は 11815 などの ID が混在しているという事実にあります。

これに対処するために、接続を確立する hosts_templates テーブルを導入します。 host_template ID、hostid、templateid の 3 つの列を通じて、ホストとテンプレートの間の情報を確認します。

hosts テーブルには、ホスト ID や名前などの重要なフィールドが含まれています。 hosts テーブルには 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;
ログイン後にコピー

解決策

解決策には、それぞれ異なるテーブル エイリアスを持つ 2 つの結合が必要です:

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
ログイン後にコピー

このクエリでは、 hosts_template テーブルには t というエイリアスが付けられ、hosts テーブルには h1 と h2 というエイリアスが付けられ、区別されます。ホスト名とテンプレート名。

以上がZabbix にクエリを実行してホストとテンプレートの関係を表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート