死活監視システムを置いてみよう

Xymon

死活監視とは、サーバーやサービスが稼動しているかどうかを監視することです。
Web事業を手がけるパラファミリーにとっても死活監視は大事なこと。
今日はその死活監視をしてくれるシステム Xymon を導入します。
(今までも運用していたのですが、今日は今までと別のサーバーにもうひとつ入れます)

まず、 Xymon の公式ホームページはこちらです。

The Xymon Monitor

稼働状況を監視して、Web上でこんな感じに表示してくれるほか、異常を見つけるとメールで通知する機能もあります。
公式は日本語対応していないので判りづらい点もありますが、日本語ドキュメントを見たい人はスカイホビットさんのページが実に参考になります。

さて、まずは導入のために必要なものを揃えます。
説明によると以下のものが必要らしいです。

  • Webブラウザ
    ここを見ている貴方は既にブラウザを持っています。
  • UNIXライクなOS
    Webサーバーの多くはLinuxかBSDかSolarisかHP-UXなので大丈夫。
    Windows上で動かす方法も何かあるかもしれませんが、わたしは知りません。
    なお、インストールにroot権限が必要なので、レンタルサーバー不可。
  • 十分なシステムリソース
    監視システムはDAEMONとして常に動くので、それなりのリソースが必要です。
    といっても数MiBくらいとか言ってるので、現代のサーバーなら問題にならないと思います。
    他には一定バージョン以上のカーネルが必要とか、少々難しいことを言っていますがとりあえず気にしません。
  • Webサーバー
    Apacheを使いましょう。他のでもいけるかもしれないけど未検証。
    理論上は、メール通知機能しか使わないならWebサーバーなしでも駆動はしますが、制御も確認もできないので使いづらくなります。
  • CコンパイラとGUN make
    gccとmakeを使いましょう。
    HP-UXのユーザーはgccを使え、と書いてあるので、OSによってはバンドルのコンパイラでは駄目なようです。
  • PCRE, RRDtool, libpng, OpenSSL, OpenLDAPライブラリ
    PCRE はPerlの文法による正規表現を行うためのライブラリで、これは必須です。
    RRDtool は Xymon が監視データを保存・参照するのに使うらしく、これも必須です。
    libpng はPNG形式画像を生成するツールで、応答時間などのデータをグラフ化するのに使うようで必須です。
    OpenSSL はSSLアクセスに必要です。必須ではありませんが、これがないとhttpsサイトの監視ができません。
    OpenLDAP はLDAPサーバーへのアクセスに必要です。必須ではありませんが、LDAPサーバーを監視するのであれば必要です。
  • システムの Xymon ユーザー
    useradd xymon でさくっと作っちゃいましょう。

yum でパッケージ管理する場合、ライブラリは各パッケージの -devel とついたものを導入します。
(libpngだけはRRDtoolからアクセスする、つまりlibpng-develの必要な部分はコンパイル済みのため不要らしい)
今回の場合はライブラリがlibpngしか入ってなかったので導入します。ただしLDAPは監視する予定がないので省きます。
(青字が入力、赤字は注釈)


Xymon のアカウントは作らなければ存在しないはずなので、さくっと作ります。


さて、準備が整ったので、Xymonのソースを拾ってきます。
Xymonホームページの “Where can I get Xymon ?” と書かれたあたりにあるリンクから、SourceForgeのXymonのページへと飛ぶと、Xymonのソースをダウンロードできます。
yum派の人は緑色の Download ボタンを押して、 direct link のリンクを右クリックしてURLをコピーしましょう(FireFoxの場合)。
現在の最新版は 4.3.17 のようですね。


ダウンロードできたら展開しましょう。


configure を実行して、パラメータを設定します。
ほとんどのパラメータにはデフォルト値があるので、迷った箇所は入力しなくていい場合がほとんどです。


configure できたらインストールします。


あ、そういえば /opt/xymon 作ってないけどインストールできた。
インストール時に作ってくれるみたいですねー。
さて、インストールしたXymonを動かしてみましょう。


おっけー、動いたよ。
そしたら最後に、稼働状況をWebで見るためApacheにサイト設定を追加します。


ちなみに、XymonではsuEXECは使うべきでないそうです。

設定を追加したらApacheに設定を読ませて……

設置したXymon

やった、できたよ!

ただし、このままだと Xymon は SNI に対応していないため、1ホストに複数のSSLサイトを収容していると正常に監視ができません。
今回 Xymon を新たに導入したのは、新サーバーに移動して SNI 対応するためなのですが、それについては次回(あれば)解説することとします。

15:20 追記
Xymon 4.3.13 からSNIにも対応済みで、4.3.14 以上では実装されてるけどデフォルトoffにしているらしいです。
4.3.13 のとき(おそらくSNI非対応のホストへのアクセスで)異常が多発したためにデフォルトoffにしたんだとか。
SNIに対応した監視をしたい場合は、監視対象設定ファイル hosts.cfg の各ホスト設定に “sni” の字を追加すればOKでした。
簡単なことやったんね~。


投稿者:

さみどり

さみどり

パラファミリーの技術担当です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です