技術ブログ
目次
渡部です。 実は以前から弊社にZabbixを用いたOracle Database監視に関するご相談が増えてきたこともあり、 私を含めた複数のコーソル メンバーがOracle Database監視を想定したZabbixの拡張の実装に取り組んでいます。
その作業の中で、以前Orabbixについて少し調べてみた時のメモを書いておきたいと思います。
ご存知の方が多いとは思いますが、ZabbixはOSSの運用監視ツールでは現在デファクトスタンダードといってよいソフトウェアです。導入コストが低いことから、弊社のお取引先でも多くのお客様がご利用ですが、残念ながらデフォルトのままではOracle Databaseの監視はできません。作りこみをするか、拡張機能を導入する必要があります。
若干古いですが、Zabbix関連の著作で有名なAndrea Dalle Vacche氏が作成したOracle Database監視のZabbix拡張であるOrabbixが存在していますので、 参考のため、以前調査しました。
最近はアクティブな状態では無いようで、動作要件が全般的に古いですね。
関連記事:Oracle Databaseを無償で使う方法いろいろ
Orabbixアーキテクチャの特徴は以下の通りです。
Orabbixには、アイテムなどを定義したZabbixテンプレートTemplate_Oracleが同梱されており、 監視対象ホストにこのテンプレートをリンク(適用)すると、Orabbixが定義したアイテムなどを使ってそのホストを監視できます。
以下にテンプレートTemplate_Oracleに含まれるアイテムとグラフの一覧を示します。 なお、このテンプレートにはアイテムとグラフ以外にもトリガーも含まれています。
実際のグラフ表示例は http://www.smartmarmot.com/wiki/index.php?title=Orabbix#What_can_it_monitor.3F から確認できます。
Orabbixのアーキテクチャで示した通り、監視処理の主体/実体はOrabbixデーモンです。 そのOrabbixデーモンの設定はconfig.prosファイルに指定します。
基本的な構成におけるconfig.prosファイルの主要な設定は、
です。
監視データを取得するために実行する監視クエリ(SELECT文)は、query.propsファイルに定義されており、通常はこれを使用します。アイテムに対応する形で監視クエリが定義されています。
ただ、何らかの理由で監視クエリ(SELECT文)をデフォルトから変更したい場合は、query.propsファイルに定義されているSELECT文を変更したり、変更を加えた監視クエリ(SELECT文)を記載した別の監視クエリ定義ファイルを使用することもできます。
また、監視対象のOracleデータベース毎に異なる監視クエリ定義ファイルを使用可能です。 これは、バージョンによって監視データを得るSELECT文が異なる場合などに有効です。
監視クエリ構成の基本は監視クエリのSELECT文を定義することですが、これ以外もいくつかの設定が可能です。
弊社では独自にOracle Database監視機能の実装を進めているため、Orabbixをそのまま使うことは考えにくいのですが、 Orabbixの適度な柔軟性は良い感じに思えます 🙂