Xymon

Xymon

はじめに

XymonはUNIXで動作する監視システムです。画面上では各監視項目は緑、黄、赤(と特殊な状況では青と紫)のアイコンで表現されるのでわかりやすく、階層的なページ構成も実現できるので1画面あたりのボリュームを抑えてドリルダウンで状況把握を進めることができるのが気に入っています。個人の感想です、はい。

史実を明らかにすることには興味がないので深入りはしませんが、皆さんの情報収集のお役に立つかもしれないので、ごく簡単に変遷に触れておくと、この種の監視システムの黎明期のプロジェクトの1つ、Big Brotherのadd-onとして開発が始まり、Hobbitという名前の完結したシステムになったそうです。2009年にHobbitからXymonに名称が変更されて現在に至りますが、Wikipedia(英語版)のXymonの項によれば、どうやら権利関係の理由のようです。

決して隅々まで知り尽くして使っているわけではなく、むしろ困ったことが起きたときに必要最小限のことだけを調べているだけなので、まだまだ知らないことは多く、また解決に至らず投げ出していることも多いんですが、Xymonに関しては、hosts.cfgに設定を書いて標準でサポートされている監視項目だけを使って監視してみよう、という程度のサイトはいくつかあるものの、ちょっと突っ込んだことをしようとすると、俄然情報が少ないと感じているので、ささやかですが、このコンテントを作って公開することにしました。なのでXymonについて網羅的に情報を提供することは目指していません。あくまで他のサイトの補完としてご覧下さい。

Xymonのアーキテクチャ

Xymonサーバの内部のモジュール同士の関係については把握できていないのでご勘弁いただいて、システム全体の俯瞰に留めますが、Xymonサーバは監視動作をしてHTMLで監視画面を生成したりCGIモジュールでインタラクティブな操作を実現したりしています。ユーザはWWWブラウザを使って監視画面を閲覧したり様々な操作をしますが、HTTPのサービスは外部のHTTPサーバに依存しています。最近のPrometheusGrafanaなどのシステムが自前でHTTPをサービスするのとは異なっています。

Xymonサーバが各監視対象をポーリングする動作に加え、監視対象ノード上で動作するXymonクライアントからXymonサーバに向けて内部状態をレポートさせることもできます。監視システム一般の話をするときにはエージェントと呼ばれることが多いようですが、Xymonではクライアントと呼んでいます。あまり厳格な書き分けをしても煩雑なので、このコンテントでは、プログラムもそれが動作しているホストもまとめてXymonクライアントあるいはXymonサーバと表現します。XymonクライアントとXymonサーバの間は、通信路の暗号化どころか認証もアクセス制限もない古き佳き作りなので、注意もしくは諦めが必要です。XymonサーバについてはHTTPだけでなくXymonクライアントとXymonサーバとの間の通信に使われる1984/tcpについてもセキュリティを確保しなければなりません。以前、TCP Wrapperのlibwrapに含まれるhosts_ctl()を使ってIPアドレスでアクセス制限するローカルハックをしたような記憶があるんですが、このごろはバイナリパッケージばっかり使っているので、そのときのパッチはどこかへ行ってしまいました。試したことはありませんが、例えばパブリッククラウド上のノードでXymonクライアントを動作させインターネット経由でXymonサーバにレポートを送出させる、というようなケースを考えると、SSHのport forwardか何かでトンネリングするのが現実的なんでしょうか。

インストール

1次配布元はhttps://sourceforge.net/projects/xymon/ですが、FreeBSDではports collectionのnet-mgmtとpkgにxymon-serverとxymon-clientという名前で含まれており、DebianやUbuntuでもxymonとxymon-clientという名前でdebパッケージが提供されています。Redhat属についてはbaseやEPELでは提供されていませんがhttps://terabithia.org/rpms/xymon/というサイトでRPMパッケージを提供してくれています。

このコンテントでの約束事

「Xymonサーバ」、「Xymonクライアント」という言葉については、先ほど述べた通りです。

マニュアルや公式サイトのドキュメントにならって~xymonという表記でXymonがインストールされているトップディレクトリを示しています。具体的なパスはインストール時の指定によりますが、例えばFreeBSDのpkgだと/usr/local/www/xymonです。しかしDebianのdebパッケージやterabithia.org版のRPMパッケージでは、Xymon関係のファイルを1つのディレクトリ以下に集めるのではなく、設定ファイルは/etc/xymonや/etc/xymon-server、/etc/xymon-client、コマンドは/usr/binや/usr/sbinなどに配置するパッケージングになっていて、~xymon/server/etcなどという記述と実際のディレクトリのパス名のつじつまが合わない場合もありますが、柔軟に読み替えて下さい。

tipsか、はたまたbad know-howか


トップページ
Copyright(c) 2020,2022 Koh-ichi Ito, All rights reserved
Last update: $Date:: 2021-12-31 18:07:00 +0900#$