Xymonクライアントはtestモジュールを起動するときに
の3つの値を引き渡してきます。なので、これらの値はtestモジュール中にハードコーディングしないで環境変数から取得しましょう。
サンプルコードはHow can I create a custom test script?のA simple client-side extension scriptを見ていただきたいんですが
$XYMON
$XYMSRV
status
$MACHINE
.column名 greenかyellowかred additional 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クライアントのホスト名は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は丸腰なんです。