独自の監視項目を追加する(Xymonクライント編)

独自の監視項目を追加する(Xymonクライアント編)

testモジュールの作成

Xymonクライアントはtestモジュールを起動するときに

の3つの値を引き渡してきます。なので、これらの値はtestモジュール中にハードコーディングしないで環境変数から取得しましょう。

サンプルコードはHow can I create a custom test script?のA simple client-side extension scriptを見ていただきたいんですが

というのが処理の流れです。

testモジュールのインストール

How can I create a custom test script?では、作ったtestモジュールを~xymon/client/extに置いて、~xymon/client/etx/clientlunch.cfgという設定ファイルにエントリを追加しろと書いてあります。しかし実際には~xymon/client/localに対応するディレクトリにtestモジュールを置けば、特に設定ファイルにエントリを追加しなくても定期的に起動されます。例えばFreeBSDのpkgだと/usr/local/www/xymon/client/local、Debianのdebパッケージだと/usr/lib/xymon/client/localです。また、terabithia.org版のRPMパッケージには独自の改造が施されていて、/usr/share/xymon-client/localと/usr/local/share/xymon-clientの2ヶ所のディレクトリを見るようになっています。意図は不明ですが、rpm -eでパッケージを削除しても影響を受けないように、といことではないかと想像します。

このディレクトリに置きさえすれば自動的に実行されるということは、sometest.ORGとかsometest.bakとかいう名前にmvしても待避にならないということなので注意して下さい。testモジュールの開発中などに、直前のバージョンを待避したつもりになって新しいバージョンのモジュールを置くと、新旧両方のモジュールが起動されてしまい、意図しない挙動をして悩むことになります(なりました)。

Xymonサーバの設定

監視対象のホスト名、つまりXymonクライアントのホスト名はhosts.cfgに設定されていなければなりません。additional textに数値データを含めてXymonサーバで時系列グラフを描画させるためには設定が必要ですが、それについては独自の監視項目を追加する(グラフ編)で触れることにして、新しいtestと対応するcolumnを追加するための設定は、特に必要ありません。Xymonクライアントからstatusメッセージを送出すると、自動的にcolumnが追加されます。

逆にtestモジュールのバグなどで意図しないcolumnがXymonサーバにできてしまったときは、メニューバーのHelp→Tips and TricksにあるI accidentally added an 'ftp' check. Now I cannot got it off the webpage!に説明があるようにXymonサーバ上で

xymon localhost "drop Xymonクライアントのホスト名 消去したいcolumn名

を実行すれば消去できます。Xymonサーバではなく他のホストから、localhostではなくXymonサーバのホスト名またはIPアドレスを指定して実行しても消去できます。消去したいcolumn名を忘れてdrop Xymonクライアントのホスト名だけを与えてxymonコマンドを実行してしまうと、直後のSo how do I get rid of an entire host in Xymon?に書かれているように、そのXymonクライアントの全columnが消去されてしまうので気をつけて下さい。

特権昇格も認証も何もなしで、こんな危ない操作ができてしまうのは問題だと思います。WebインターフェースはHTTPサーバで認証やアクセス制限が適用できますが、1984/tcpは丸腰なんです。


index |俯瞰編 |Xymonクライント編 |Xymonサーバ編 |グラフ編 |NCV以外のRRDSERVICE
Copyright(c) 2020 Koh-ichi Ito, All rights reserved
Last update: $Date:: 2020-04-18 15:25:13 +0900#$