こんにちは!プラットフォーム技術部の齊藤(沙)です。

前回はZabbixが監視設定や履歴データを保管するデータベースの中でもホストに関連するテーブルについて確認しました。今回はアイテムに関連するテーブルについて確認していきます。

前回の記事はこちら。

こんにちは!プラットフォーム技術部の齊藤(沙)です。前回はZabbixサーバーの内部プロセスについて確認しましたね。今回はZabbixが監視設定や履歴データを保管するデータベースについて確認していきます。前回の記事はこちら。まとめ記事作りました♥Zabbixを知ろう -...

まとめ記事作りました♥

こんにちは、プラットフォーム技術部の齊藤(沙)です。「まるごとおまかせZabbix」をより便利で有用なサービスとするために日々奮闘中の私ですが、アークシステム ザビ家の一員として、Zabbix に関する日々の取り組みやナレッジをご紹介していきます!おかげさまで記...

Zabbixを知ろう -Zabbixのデータベースについて – アイテム編

私たちアークシステムでは、パフォーマンスの観点からZabbixにおけるデータベースはMariaDB(Mysql)の使用を推奨しています。本記事では、Zabbix3.0、mariadb5.5の環境を用いて確認していきます。

アイテムに関する情報について

主要テーブル一覧

監視項目であるアイテムに関する情報は主に以下のテーブルに格納されています。

itemsテーブル詳細

まずはアイテムに関する主要な情報が格納されている「items」テーブルについて詳しく確認していきます。
以下は「desc items;」コマンドの出力結果です。

アイテムはZabbixの仕様上、ホストまたはテンプレートに紐付く形で存在します。そしてZabbixのデータベースの中では、ホストもテンプレートも共に「hosts」テーブル内に情報が格納されます。

「items」テーブルに「hostid」が存在して簡単に取得できそうなので、まずはホストに紐付くアイテムの一覧を取得して見たいと思います。

ホスト+テンプレートのアイテムについて

SQL文 (‘hosts’ – ‘items’)

以下は実行するSQL文です。

「hosts」テーブルにおける「status」カラム内の値が「3」となっているデータはテンプレートを表すため、where句の1つめの条件で検索対象から除外しています。

実行結果 (‘hosts’ – ‘items’)

以下が実行結果です。

ホストに紐付くアイテムを取得することができました!

でもこれでは、ホストに紐付いているアイテムがどのテンプレートに存在するものなのかがわかりません。
つぎはテンプレート名も一緒に取得して見たいと思います。

SQL文 (‘hosts’ – ‘items’ – ‘hosts(テンプレート)’)

以下は実行するSQL文です。

「items」テーブル内の「templateid」カラムの情報を使って、どのテンプレートのアイテムなのかを追っていきます。テンプレートとホストに関する情報が同じテーブルに格納されているため、少し分かり辛いですね。。。

実行結果 (‘hosts’ – ‘items’ – ‘hosts(テンプレート)’)

以下が実行結果です。

最初は少し混乱しましたが、テンプレート名も無事取得することができました!

ホスト+アイテムについて

ここまでで、ホストとそのホストに紐付く”テンプレートに作成されたアイテム”についての参照方法について確認しました。

つぎはホストとそのホストに個別作成されたアイテム(以下ホスト個別アイテム)の参照方法について確認していきたいと思います。設定方法の誤りで意図せず発生するホスト個別アイテムですが、SQLでリスト化できれば設定後の確認で便利ですよね!

確認のため、「ArkTest」ホストに「host item」という名前のホスト個別アイテムを作成しました。

SQL文 (‘hosts’ – ‘items(ホスト個別)’)

以下は実行するSQL文です。

「templateid」にはNULLを、ホストの「status」には3以外の値を条件として実行します。

実行結果 (‘hosts’ – ‘items(ホスト個別)’)

以下が実行結果です。

確認用の作成した、ホスト個別アイテムが取得できました!
(ディスカバリルールで作成されるアイテムもこのSQL文では出力されます。)

これで以下についてSQL文で簡単に確認できるようになりました。

  • ホストに紐付くテンプレートアイテム
  • ホストに紐付くホスト個別アイテム

アイテム+アプリケーションについて

丁度実施している作業で、特定のアプリケーション名が設定されているアイテムを確認する必要があるので、最後にアプリケーション名の取得についても確認して見たいと思います。

applicationsテーブル詳細

以下は「desc applications;」コマンドの出力結果です。

むむむ。「itemid」が存在しません。

items_applicationsテーブル詳細

以下は「desc items_applications;」コマンドの出力結果です。

「itemid」を発見しました。
「items_applications」テーブルの「itemid」を使えばアイテムに紐付くアプリケーション名を取得できそうです。

SQL文 (‘items(ホスト個別)’ – ‘items_applications’ – ‘applications’)

以下は実行するSQL文です。

実行結果 (‘items(ホスト個別)’ – ‘items_applications’ – ‘applications’)

以下が実行結果です。

アイテムに紐付くアプリケーション名についても取得することができました!

まとめ

今回はアイテムに関する情報が格納されているテーブルと、そのリレーションについて確認しました。
WebUIのフィルタ機能の強化により、SQL文で設定内容を確認する機会は減っていますが、欲しい情報だけを一覧表示させることが出来る点ではSQL文は非常に便利!

データベースからアイテムを参照する際には

  • 「hosts」テーブルに、ホストとテンプレート情報が保存されている。

ことを留意することが大切ですね!

もっとZabbixのデータベースのことを知るために、次回はデータベースの中のトリガーに関する情報について確認していきたいと思います。

こんにちは!プラットフォーム技術部の齊藤(沙)です。前回はZabbixが監視設定や履歴データを保管するデータベースの中でも監視項目であるアイテムに関連するテーブルについて確認しました。今回は監視閾値であるトリガーに関連するテーブルについて確認していきます...

アークシステムでは、Zabbixの環境構築や保守サポートを低価格・短納期で実現する「まるごとおまかせZabbix」を提供しています。 本サービスの詳細や、Zabbixを活用したソリューションにご興味をお持ちの方がいらっしゃいましたら サービス紹介ページ からお気軽にお問合わせ下さい。

 

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

Twitter で「株式会社アークシステム」をフォローしよう!

【わたしに♥おまかせ Zabbix⑤】Zabbixのデータベースについて - アイテム編https://devlog.arksystems.co.jp/wp-content/uploads/2018/02/moz-09_ec-1200x630.jpghttps://devlog.arksystems.co.jp/wp-content/uploads/2018/02/moz-09_ec-150x150.jpgsachi-saitoまるごとおまかせZabbixプラットフォーム技術部製品紹介システム運用・保守保守,Zabbix,システム監視こんにちは!プラットフォーム技術部の齊藤(沙)です。 前回はZabbixが監視設定や履歴データを保管するデータベースの中でもホストに関連するテーブルについて確認しました。今回はアイテムに関連するテーブルについて確認していきます。 前回の記事はこちら。まとめ記事作りました♥Zabbixを知ろう -Zabbixのデータベースについて - アイテム編 私たちアークシステムでは、パフォーマンスの観点からZabbixにおけるデータベースはMariaDB(Mysql)の使用を推奨しています。本記事では、Zabbix3.0、mariadb5.5の環境を用いて確認していきます。 アイテムに関する情報について 主要テーブル一覧 監視項目であるアイテムに関する情報は主に以下のテーブルに格納されています。itemsテーブル詳細 まずはアイテムに関する主要な情報が格納されている「items」テーブルについて詳しく確認していきます。 以下は「desc items;」コマンドの出力結果です。アイテムはZabbixの仕様上、ホストまたはテンプレートに紐付く形で存在します。そしてZabbixのデータベースの中では、ホストもテンプレートも共に「hosts」テーブル内に情報が格納されます。 「items」テーブルに「hostid」が存在して簡単に取得できそうなので、まずはホストに紐付くアイテムの一覧を取得して見たいと思います。 ホスト+テンプレートのアイテムについて SQL文 ('hosts' - 'items') 以下は実行するSQL文です。 「hosts」テーブルにおける「status」カラム内の値が「3」となっているデータはテンプレートを表すため、where句の1つめの条件で検索対象から除外しています。実行結果 ('hosts' - 'items') 以下が実行結果です。ホストに紐付くアイテムを取得することができました! でもこれでは、ホストに紐付いているアイテムがどのテンプレートに存在するものなのかがわかりません。 つぎはテンプレート名も一緒に取得して見たいと思います。 SQL文 ('hosts' - 'items' - 'hosts(テンプレート)') 以下は実行するSQL文です。「items」テーブル内の「templateid」カラムの情報を使って、どのテンプレートのアイテムなのかを追っていきます。テンプレートとホストに関する情報が同じテーブルに格納されているため、少し分かり辛いですね。。。 実行結果 ('hosts' - 'items' - 'hosts(テンプレート)') 以下が実行結果です。最初は少し混乱しましたが、テンプレート名も無事取得することができました! ホスト+アイテムについて ここまでで、ホストとそのホストに紐付く'テンプレートに作成されたアイテム”についての参照方法について確認しました。 つぎはホストとそのホストに個別作成されたアイテム(以下ホスト個別アイテム)の参照方法について確認していきたいと思います。設定方法の誤りで意図せず発生するホスト個別アイテムですが、SQLでリスト化できれば設定後の確認で便利ですよね! 確認のため、「ArkTest」ホストに「host item」という名前のホスト個別アイテムを作成しました。 SQL文 ('hosts' - 'items(ホスト個別)') 以下は実行するSQL文です。「templateid」にはNULLを、ホストの「status」には3以外の値を条件として実行します。 実行結果 ('hosts' - 'items(ホスト個別)') 以下が実行結果です。確認用の作成した、ホスト個別アイテムが取得できました! (ディスカバリルールで作成されるアイテムもこのSQL文では出力されます。) これで以下についてSQL文で簡単に確認できるようになりました。ホストに紐付くテンプレートアイテム ホストに紐付くホスト個別アイテムアイテム+アプリケーションについて 丁度実施している作業で、特定のアプリケーション名が設定されているアイテムを確認する必要があるので、最後にアプリケーション名の取得についても確認して見たいと思います。 applicationsテーブル詳細 以下は「desc applications;」コマンドの出力結果です。むむむ。「itemid」が存在しません。 items_applicationsテーブル詳細 以下は「desc items_applications;」コマンドの出力結果です。「itemid」を発見しました。 「items_applications」テーブルの「itemid」を使えばアイテムに紐付くアプリケーション名を取得できそうです。 SQL文 ('items(ホスト個別)' - 'items_applications' - 'applications') 以下は実行するSQL文です。実行結果 ('items(ホスト個別)' - 'items_applications' - 'applications') 以下が実行結果です。アイテムに紐付くアプリケーション名についても取得することができました! まとめ 今回はアイテムに関する情報が格納されているテーブルと、そのリレーションについて確認しました。 WebUIのフィルタ機能の強化により、SQL文で設定内容を確認する機会は減っていますが、欲しい情報だけを一覧表示させることが出来る点ではSQL文は非常に便利! データベースからアイテムを参照する際には「hosts」テーブルに、ホストとテンプレート情報が保存されている。ことを留意することが大切ですね! もっとZabbixのデータベースのことを知るために、次回はデータベースの中のトリガーに関する情報について確認していきたいと思います。アークシステムでは、Zabbixの環境構築や保守サポートを低価格・短納期で実現する「まるごとおまかせZabbix」を提供しています。 本サービスの詳細や、Zabbixを活用したソリューションにご興味をお持ちの方がいらっしゃいましたら サービス紹介ページ からお気軽にお問合わせ下さい。ARK Solution Development Division Developers Blog.