Blog

Pandora FMSを使った監視

 2013/02/17
このエントリーをはてなブックマークに追加

Pandora FMSはオープンソースの監視システムで、ジャンルでいえば、NagiosとかZabbixとかHinemosと同じ類のものになります。 日本だと楽天とかカシオでの導入事例があり、オープンソース版と有償のエンタープライズ版が存在します。オープンソース版でも製品版の80%〜90%以上の機能が使えるとのことで、以下に導入方法を紹介します。なお、作者へのインタビューがSourceforgeにあがっているので是非参照してください(→こちら

インストール

今回試すにあたってはVirtualBox上のCentOS6で実験しました(Vagrantを使っています)。

モジュールの導入

ソースコードはSourceforgeにホストされています。(→こちら) 今回はCentOSなので、rpmを入手して使うことにします。

wget "http://sourceforge.net/projects/pandora/files/Pandora%20FMS%204.0.3/RHEL_CentOS%20%28RPM%29/pandorafms_console-4.0.3-130118.noarch.rpm/download"     
wget "http://sourceforge.net/projects/pandora/files/Pandora%20FMS%204.0.3/RHEL_CentOS%20%28RPM%29/pandorafms_server-4.0.3-130118.noarch.rpm/download"
wget "http://sourceforge.net/projects/pandora/files/Pandora%20FMS%204.0.3/RHEL_CentOS%20%28RPM%29/pandorafms_agent_unix-4.0.3-130118.noarch.rpm/download"

としてrpmを入手します。このうちpandorafms_serverとpandorafms_consoleは、監視元のサーバにインストールします。pandorafms_agentは監視対象のサーバにインストールすることでエージェントとして機能します。

serverとconsoleをrpmで導入する際は依存関係のあるモジュールをインストールしないといけません。生(に近い)CentOS6だと以下のようにします。

yum install perl-DBI perl-DBD-mysql perl-libwww-perl perl-XML-Twig perl-XML-Simple net-snmp-utils perl-NetAddr-IP net-snmp perl-IO-Socket-INET6 perl-Socket6 nmap net-snmp-perl httpd mod_php php-gd php-ldap php-snmp php-session php-gettext php-mysql php-mbstring php-zip php-zlib php-curl xorg-x11-fonts-75dpi xorg-x11-fonts-misc graphviz mysql-server

また標準のyumで入らないモジュール(wmic)も依存関係があるため以下のように入手します。

wget "ftp://rpmfind.net/linux/sourceforge/p/pa/pandora/Tools%20and%20dependencies%20(All%20versions)/RPM%20SUSE/wmic-4.0.0tp4-0.x86_64.rpm"
rpm -Uvh wmic-4.0.0tp4-0.x86_64.rpm

これで依存関係があるモジュールが導入できたので、Pandora FMSをインストールします。rpmコマンドで導入すればOKです。

rpm -Uvh pandorafms_server-4.0.3-130118.noarch.rpm pandorafms_console-4.0.3-130118.noarch.rpm 

準備中... ########################################### [100%]
   1:pandorafms_console ########################################### [ 50%]

Please, now, point your browser to http://your_IP_address/pandora_console/install.php and follow all the steps described on it.

   2:pandorafms_server ########################################### [100%]

Pandora FMS Server configuration is /etc/pandora/pandora_server.conf
Pandora FMS Server main directory is /usr/share/pandora_server/
The manual can be reached at: man pandora or man pandora_server
Pandora FMS Documentation is in: http://pandorafms.org

Don't forget to start Tentacle Server daemon if you want to receive data using tentacle

ブラウザ経由でインストールプログラムの実施

ここまで来たらあとはブラウザ経由で設定をおこないます。なので、apacheとMySQLを起動し、80番ポートにアクセスできるようにiptablesを設定しておいてください。またMySQLのアカウントやパスワードなどを適宜設定しておいてください。 以上の準備ができたら、

http://your_IP_address/pandora_console/install.php

にアクセスします。以下のようにインストーラーが表示されます。特に気にする箇所はないので先に進みます。

ライセンス同意画面が表示されます。これも特に気にする必要はないので先に進みます。

必要なモジュールのチェックが行います。最下部のデータベースのところは、MySQLが入っていれば大丈夫です。PHPのモジュールの導入ができていない場合はインストールしてください。今回は特に問題ないので先に進みます。

データベースなどの設定画面が表示されます。今回は新規インストールなので、DB EngineにMySQLをInstallation inにA new databaseを選択してください。またデータベースを作成できる権限のMySQLユーザーとパスワードを入力します。またデータベースが他のサーバにある場合はサーバ名を設定してください。ドキュメントルートは通常変更する必要はありません。 以上で先に進みます。

インストールが進んでいます。

インストールが完了しました。デフォルトのユーザー/パスワードはadmin/pandoraになります。またこの画面が表示されたら先に進む前に、install.phpを削除してください。削除しないと先に進めません。

ログイン

では管理画面にアクセスしてみます。URLは/pandora_console/ になります。 初期のユーザーとパスワードは上記の通りです。

ログインすると初期画面として以下のように表示されます。この時点では監視設定などは一切ないので特に面白いところはないです。

管理者アカウントのパスワードの変更や表示言語の設定をおこないます。ページ上部のロゴの横の[admin]をクリックしてください。 以下のような画面が表示されるので、New PasswordとPassword ConfirmationとLanguageそれからE-mailを設定してください。

監視設定の作成

さてここからは監視の設定をおこないます。監視の設定は左ナビゲーションのエージェント管理から行います。 初期の時点では何もエージェントは登録されていません。

今回は僕の自宅LAN内のubuntuマシンを監視します。以下のようにエージェント名、IPアドレス、OSの種類等を入力してください。なお、このように手で入力しなくても、指定したネットワーク内を全てSNMPを使って走査して自動でエージェントを登録することもできます。

次にどのような監視をおこなうか設定します。左ナビのエージェントに移動すると今度は上記のエージェント名がリストに表示されるので、その下にある「モジュール」を選択してください。現時点で何もモジュールが登録されていないのが分かります。

今回はWebサイトの監視をしてみることにします。なので、プルダウンから「ネットワークサーバモジュールの新規作成」を選択した上で、「作成」をクリックして新しい監視設定を作ります。 画面が表示されるので以下のようにします。肝は、モジュールコンポーネントのプルダウンで「Network Management」を選択すること、そして、その横に連動して表示されるプルダウンから「Check HTTP Server」を選択することです。(ちなみに他にもFTPやSSHなどの監視もできます) なお、拡張オプションの箇所で、監視するURLを/ 以外に変えたり、監視の間隔をデフォルトの5分から他の時間に変えることが可能です。 また監視の設定で、特定の文字列が応答に含まれていたら、障害として扱うことも可能です。 ここまでできたら保存してください。この時点で監視をおこなうようになります。

あとは、監視でエラーになった場合に通知をおこなうようにアラートを設定することもできます(もうつかれたので割愛) 複数の監視設定を行った状態のトップページは以下のような感じになります(赤い警告はあえて出しているので気にしない)。監視している項目数や現在障害となっている箇所の個数、そして直近の警告等がトップページで表示されます。

個々のサーバについても確認用に画面が用意されています。この画面から直接サーバに対してVNCやSSHで接続したりtracerouteコマンドを発行したりすることも可能です。

また監視対象のマシンやネットワーク機器はグループ分けしておくこともできます。

ということで概要を紹介しましたが、Nagiosよりは設定ファイルをCUIで弄らないので誰でもメンテナンスできそうで楽そうに思います。 今回はエージェントについては紹介していないですが、エージェントをインストールしておくと良い感じに色々な情報を収集できるようになります。また収集したデータを使ってグラフを描画したり、そのデータを使ってサーバ側でレポートを作ったりといったことも可能です。

 2013/02/17
このエントリーをはてなブックマークに追加