ここではXymonでのよくある問題を解決する情報を提供します.
2.7.1 赤・黄色・緑の異なるアイコンの意味は?
Color | 色 | 状態 | 24時間以内の状態変化がない場合 | 24時間以内の状態変化がある場合 |
---|---|---|---|---|
Green | 緑 | 障害無し | ||
Yellow | 黄色 | 軽微な障害 | ||
Red | 赤 | 障害 | ||
Clear | 透明 | データ無し | ||
Purple | 紫 | 監視不可 | ||
Blue | 青 | 監視一時停止 | ||
? | ? | 不明 |
2.7.2 クライアント側のテストが表示されない.
クライアントをインストールしましたか? XymonクライアントパッケージはXymonサーバをインストールしたときだけ自動でインストールされ, ほかのシステムには,クライアント側の監視を表示するには, クライアントパッケージを,Xymonのconfigureスクリプトを"--client"オプション付きにしてビルドする必要があります.
クライアントをインストールしたのなら,二つのよくある問題をチェックしてください.
- クライアントはhosts.cfgの別のホスト名で使っている.
- ファイアウォールがブロックしている.
Xymonはhosts.cfgにあるホストのみで管理し,hosts.cfgにないホスト名は捨てられます. Xymonサーバ用にWebサーバでxymondカラムを監視すれば,これらは知らないホストとしてレポートされるでしょう.
hosts.cfgのどちらかのサーバを再設定するか,hosts.cfgファイルにCLIENT:clienthostname タグを付加して, Xymonはどのクライアントがhosts.cfgのどの部分にマッチするかわかるようになります. Xymonクライアントは,クライアントからXymonにレポートを送るときにホスト名を明示的に"--hostname=ホスト名"オプション付きで決めて,起動できます.
Xymonはどのクライアントがhosts.cfgのどの部分にマッチするかわかるようになります. Xymonクライアントは,クライアントからXymonにレポートを送るときにホスト名を明示的に"--hostname=ホスト名"オプション付きで決めて,起動できます.
クライアントはステータスレポートをTCPポート1984でXymonサーバに情報を送ることができる必要があります. このポートがファイアウォールにブロックされると,クライアントのステータスはレポートされません.
可能ならば,アクセスするためにファイアウォールを開けてください. 代わりとしては,Xymonサーバへのステータスメッセージを転送するために(Xymonに含まれている)bbproxyツールを利用してプロキシを設定してください.
2.7.3 クライアントが古いホスト名を利用している.
hosts.cfgファイルのホストのエントリにCLIENT:clienthostname タグを追加するか,クライアントを正規のホスト名を使うように再設定してください.
2.7.4 bbmv/bbrmコマンドはどこにありますか?
それらはXymonネットワークデーモンに統合されました.次の3つの質問を見てください.
2.7.5 テスト用のステータスを消す方法は?
コマンドを使ってください.(訳注:ホスト名のftpを削除するには下記のようにします.)
~/server/bin/bb 127.0.0.1 "drop ホスト名 ftp"
テストの跡を永遠に削除します."drop ホスト名 ftp"のまわりを引用する必要があることに注意してください.
2.7.6 ホストを消す方法は?
ホストごと消すには,まず, ~/server/etc/hosts.cfg ファイルからホストを消してください.そして,コマンドを使ってください.
~/server/bin/bb 127.0.0.1 "drop ホスト名"
ホストの跡を永遠に削除します."drop ホスト名"のまわりを引用する必要があることに注意してください.
2.7.7 ホストの名前を変える方法は?
まず,~/server/etc/hosts.cfg ファイルを新しい名前に変えてください.そして,履歴情報を新しい名前へ移動します.次を実行してください.
~/server/bin/bb 127.0.0.1 "rename 古いホスト名 新しいホスト名"
2.7.8 Apacheパフォーマンスグラフを取得するには
Charles Jones がXymonメーリングリストサーバに方法を提供しました.
From: Charles Jones Date: Sun, 06 Feb 2005 21:28:19 -0700 Subject: Re: [hobbit] Apache tag Okay, first you must make the indicated addition to your apache httpd.conf (or you can make a hobbit.conf in apaches conf.d directory). [ed: See the hosts.cfg man-page for the "apache" description] Then, you must restart apache for the change to take effect (/etc/init.d/httpd restart). Then, manually test the server-stats url to make sure it's working, by using your browser and going to http://your.server.com/server-status?auto (you can also go to http://your.server.com/server-status/ to get some nice extended apache performance info). You should get back something like this: Total Accesses: 131577 Total kBytes: 796036 CPULoad: 1.0401 Uptime: 21595 ReqPerSec: 6.09294 BytesPerSec: 37746.7 BytesPerReq: 6195.16 BusyWorkers: 43 IdleWorkers: 13 Scoreboard: RR__RWR___RR_R_RR_RRRRRRRRR_RRRRRRR__RRR_RRRRCRRRRR_RRRR........................................................................................................................................................................................................ Now, assuming you are getting back the server-status info, time to make sure your hosts.cfg is correctly configured to collect and graph the data. Heres what I have in mine: 1.2.3.4 my.server.com # conn ssh http://1.2.3.4 apache=http://1.2.3.4/server-status?auto TRENDS:*,apache:apache|apache1|apache2|apache3 From what you said of your setup, I'm guessing your only problem is using the wrong url for the apache tag (you used "apache=http://192.168.1.25/xymon/" which just won't work - that's the kind of URL you would use for the http tag). Hope this helped. -Charles
2.7.9 XymonのWebページにMRTGグラフを追加する方法は?
このための専用の文書があります(訳注:未訳). Xymonがネイティブに扱えるデータ形式でMRTGへ保存する方法が説明されています.
(訳注:SNMPで取得する値のグラフ化であれば,devmonが便利です.) (訳注:SNMP以外のグラフ表示ならば,エクステンション+LARRDが便利と思います.グラフの作り方を参照ください.)
2.7.10 もっと頻繁に更新するには?
~/server/etc/tasks.cfg にXymonプログラムのすべての更新間隔が定義されます. ネットワークテストのデフォルトは5分間隔で,Webページの更新間隔は1分に1回です.
bbretest-net.sh をネットワークテストサーバ(Xymonのデフォルトです)で動かしている場合は注意してください, 失敗したネットワークテストは,最初に失敗してから30分後までは毎分実行されます, そのため通常はネットワークテストの間隔を変える必要はあまりありません.
2.7.11 温度を華氏温度でグラフ表示させたい
~/server/etc/graphs.cfg ファイルを編集して,[temperature] 定義を,デフォルトから,その下にある華氏のグラフに変更してください.
2.7.12 アラートのメッセージからHTMLリンクを削除する方法は?
~/server/etc/alerts.cfg の FORMAT=TEXT を FORMAT=PLAINに変更してください.
2.7.13 Webでmanページが見つかりません.
一般に,Apacheは.cgiを含むファイル名がCGIであると誤ります,そのため,CGIのmanページが拒否されます. Stephen Beaudryさんが解決方法を見つけました.
これはデフォルトで引き起こされ,Apacheは.cgiを含むファイル名をCGIスクリプトに関連づけます. httpd.confを下記に変更することで対応しました. AddHandler cgi-script .cgi ->を次のように変更-> AddHandler cgi-script .cgi$
2.7.14 アラートのメールがサブジェクトなしで来ます.
Xymonはデフォルトでは送信にmailコマンドを利用します. SolarisとHP-UXのmailコマンドはXymonが利用している-Sオプションを理解しません. そのため,サブジェクト無しのメールが来ます. この問題は etc/xymonserver.cfg のメールの設定で,mailxコマンドを代わりに利用することで解決します. この変更の後にXymonを再起動させる必要はありません.
2.7.15 XymonはSNMPトラップの受信をサポートしていますか?
直接はしていません. しかしほかのオープンソースのソフトウェアでSNMPトラップの受信を可能にします. Xymonにトラップを接続するエレガントな方法は,Andy Farriorによる記事を見てください(訳注:未訳).
2.7.16 自作の監視スクリプトはどうやって作りますか?
スクリプトやカスタムプログラムで自動的に取得できるものであればどんなものでもXymonに追加できます.
なにかユニークなものを監視する必要があれば,シンプルなエクステンションスクリプトを書きます.いくつかのことを設計する必要があります.
- カラムの名前
- どのように監視するか
- 赤,黄,緑の判定基準をどう定義するべきか
- ステータスメッセージに表示する拡張データは何か
単純なクライアント側のエクステンションはこんな感じです.
#!/bin/sh COLUMN=mytest # Name of the column COLOR=green # By default, everything is OK MSG="Bad stuff status" # Do whatever you need to test for something # As an example, go red if /tmp/badstuff exists. if test -f /tmp/badstuff then COLOR=red MSG="${MSG} `cat /tmp/badstuff` " else MSG="${MSG} All is OK " fi # Tell Xymon about it $BB $BBDISP "status $MACHINE.$COLUMN $COLOR `date` ${MSG} " exit 0
事前に定義されている環境変数に注意してください. BB, BBDISP, MACHINE は,すべてXymonのxymonlaunch経由でスクリプトを実行するときに提供されます. "Bad stuff status"と出力されるMSG変数がステータスメッセージを表示するのに使われることにも注意してください, 状態がなにであるかを定義したとき,メッセージが追加されます.
これを実行するには,スクリプトを ~xymon/client/ext/ (例:Xymonクライアントをインストールしたディレクトリの下のext/)ディレクトリに保存してください. それから,~xymon/client/etc/clientlaunch.cfg ファイルに下記のように新しいセクションを追加してください.
[myscript] ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg CMD $XYMONCLIENTHOME/ext/myscript.sh LOGFILE $XYMONCLIENTHOME/logs/myscript.log INTERVAL 5m
サーバ側スクリプトもほとんどは同じです. しかし一般的に,専用タグを定義しているhosts.cfgファイルからホスト名を取得するためにbbhostgrepユーティリティを利用し, それぞれのホストにメッセージを送ります.このように.
#!/bin/sh BBHTAG=foo # What we put in hosts.cfg to trigger this test COLUMN=$BBHTAG # Name of the column, often same as tag in hosts.cfg $BBHOME/bin/bbhostgrep $BBHTAG | while read L do set $L # To get one line of output from bbhostgrep HOSTIP="$1" MACHINEDOTS="$2" MACHINE=`echo $2 | $SED -e's/\./,/g'` COLOR=green MSG="$BBHTAG status for host $MACHINEDOTS" #... do the test, perhaps modify COLOR and MSG $BB $BBDISP "status $MACHINE.$COLUMN $COLOR `date` ${MSG} " done exit 0
サーバ側の監視では,hosts.cfgファイルに見つかるホストのリストにループして,すべてにステータスメッセージを送ることに注意してください. それ以外はクライアント側の監視が適しています.