技術ブログ
目次
渡部です。 実は以前から弊社にZabbixを用いたOracle Database監視に関するご相談が増えてきたこともあり、 私を含めた複数のコーソル メンバーがOracle Database監視を想定したZabbixの拡張の実装に取り組んでいます。
もちろん、拡張の実装に先立ち、まずはZabbixについて学習を進めたのですが、学習当初いくつか理解に苦しんだ点があります。これからZabbixを学ぶ人の少しでもお役に立てたらと思い、これらについて書いておきたいと思います。
Zabbixにおける監視の基本となる主体はアイテムなのですが、 アイテムだけではなく、アイテムの周辺にあるいくつかの概念を理解する必要があります。 具体的には、キー / アイテム / トリガー / グラフ / アクションの相関関係を理解する必要があります。
(私見ですが)Zabbixのマニュアルや研修資料には、これらの相関関係を見通しよく記載した図がなく、理解に苦しみました。以下が、渡部がまとめた図です(万が一誤りがあったら優しく指摘お願いします!)。
次に、「アイテムのタイプ」の概念を明確に理解するのに苦しみました。 雰囲気レベルで理解することはできているのですが、明確な意味構造の中で捉えることがなかなかできませんでした。 (ライティングやセミナーを業務の一部とする関係上、どうしても新しい概念を明確な意味構造で理解したく考えてしまうのですよね・・・)
「アイテムのタイプ」についての、自分なりの構造的な観点での意味づけは以下です。
その次には、「キー」の概念を明確に理解するのに苦しみました。
その原因の一つに、異なる意味で「キー」という用語が使われている、具体的には、 以下の2つを明確に区別せずに説明が記載されていることがあるのではと考えています。
個人的には、以下のように明確にわけて表記するのがよいのではと考えていますが・・・
この区別になぜこだわるのかというと、同一ホストでのキーの一意性における説明が理解できなくなるからです・・・
キーの「意味(役割)」ですが、
と考えてよいのでしょう。ただし以下の留意点(例外)があると考えないといけないかもしれません。
上記の留意点(例外)のこともあり、キーの「意味(役割)」はしっくり整理しきれていません。 所詮はZabbixの内部のデータの持ち方、処理の仕方に依存する概念であり、 意味的に(人間の理解構造的に)しっくりする定義はできないものかもしれませんが・・・
ま、ごにょごにょ書いていますが、 「パラメータを除いた純粋なキー名」 「キー名とパラメータからなるアイテムキー」については明確に区別して欲しいと思いますね! 最初混乱する人 多いんじゃないかなぁ・・・