株式会社コーソル

コーソルDatabaseエンジニアのブログ

技術ブログ

  • Zabbix
  • 2018.09.30
  • 渡部 亮太

Zabbixを初めて学んだときに理解に苦しんだ概念

渡部です。 実は以前から弊社にZabbixを用いたOracle Database監視に関するご相談が増えてきたこともあり、 私を含めた複数のコーソル メンバーがOracle Database監視を想定したZabbixの拡張の実装に取り組んでいます。

zabbix_logo_500x131.png

もちろん、拡張の実装に先立ち、まずはZabbixについて学習を進めたのですが、学習当初いくつか理解に苦しんだ点があります。これからZabbixを学ぶ人の少しでもお役に立てたらと思い、これらについて書いておきたいと思います。

アイテム周りの論理構造(オブジェクト構造)

Zabbixにおける監視の基本となる主体はアイテムなのですが、 アイテムだけではなく、アイテムの周辺にあるいくつかの概念を理解する必要があります。 具体的には、キー / アイテム / トリガー / グラフ / アクションの相関関係を理解する必要があります。

(私見ですが)Zabbixのマニュアルや研修資料には、これらの相関関係を見通しよく記載した図がなく、理解に苦しみました。以下が、渡部がまとめた図です(万が一誤りがあったら優しく指摘お願いします!)。

zabbix_pf_005.png

「アイテムのタイプ」の意味づけ

次に、「アイテムのタイプ」の概念を明確に理解するのに苦しみました。 雰囲気レベルで理解することはできているのですが、明確な意味構造の中で捉えることがなかなかできませんでした。 (ライティングやセミナーを業務の一部とする関係上、どうしても新しい概念を明確な意味構造で理解したく考えてしまうのですよね・・・)

「アイテムのタイプ」についての、自分なりの構造的な観点での意味づけは以下です。

  • 「アイテムのタイプ」=「監視処理(または監視データ収集処理)の種類」
    • 「監視項目(≒アイテム)の種類」という意味ではない
    • (渡部私見だが)その意味で「アイテムタイプ」や「アイテムのタイプ」という言葉はあまり良いものではない
  • 独自の分類だが、アイテムのタイプは監視処理(または監視データ収集処理)の実装に応じて、4つに分類されると考えると理解しやすいのでは
    • 分類1: Zabbix Agentに実装済みのアイテムのタイプ
    • 分類2: 独自に実装するが必要あるアイテムのタイプ
    • 分類3: Zabbix Serverに実装済みのアイテムのタイプ
    • 分類4: その他

zabbix_pf_010.png

zabbix_pf_011.png

「キー」の誤解ない定義づけ

その次には、「キー」の概念を明確に理解するのに苦しみました。

その原因の一つに、異なる意味で「キー」という用語が使われている、具体的には、 以下の2つを明確に区別せずに説明が記載されていることがあるのではと考えています。

  • パラメータを除いた純粋なキー名
  • キー名とパラメータからなるアイテムキー

個人的には、以下のように明確にわけて表記するのがよいのではと考えていますが・・・

  • 「キー」または「キー名」 : パラメータを除いた純粋なキー名
  • 「キー文字列」: キー名とパラメータからなるアイテムキー

この区別になぜこだわるのかというと、同一ホストでのキーの一意性における説明が理解できなくなるからです・・・

zabbix_pf_016.png

「キー」の意味づけ

キーの「意味(役割)」ですが、

  • キー=「アイテムで使用する監視処理を一意に特定するための識別子」

と考えてよいのでしょう。ただし以下の留意点(例外)があると考えないといけないかもしれません。

  • 正確には「アイテムタイプ」+「キー」で、アイテムで使用する監視処理が一意に特定される
  • トラッパーアイテムでは、監視データとアイテムを紐づけるキーと考える方が理解しやすいはず

zabbix_pf_015.png

上記の留意点(例外)のこともあり、キーの「意味(役割)」はしっくり整理しきれていません。 所詮はZabbixの内部のデータの持ち方、処理の仕方に依存する概念であり、 意味的に(人間の理解構造的に)しっくりする定義はできないものかもしれませんが・・・

ま、ごにょごにょ書いていますが、 「パラメータを除いた純粋なキー名」 「キー名とパラメータからなるアイテムキー」については明確に区別して欲しいと思いますね! 最初混乱する人 多いんじゃないかなぁ・・・

プロフィール

On7tWW6m1Ul4

渡部 亮太

・Oracle ACE
・AWS Certified Solutions Architect - Associate
・ORACLE MASTER Platinum Oracle Database 11g, 12c 他多数

カテゴリー

アーカイブ