CloudForecastを使ってみる
CloudForecastで検索すると、作者の @kazeburo さんよりも上位に @riywo さんが来るのがすごいな。
というわけで、シンプルで使いやすと噂のCloudForecastを使ってみることにします。ただ、監視する対象がないので、どうにもこうにも検証がしづらいのですが、とりあえずはインストールログとして。
参考ににさせて頂いたのは、以下のサイト。
- CloudForecastっていうリソース監視のツール/フレームワーク作った - blog.nomadscafe.jp
- リソースモニタリングツール「CloudForecast」入門
- CloudForecastを入れてみた - メメメモモ
インストール
環境
- Fedora15 on ThinkPad X220
下準備
インストール前に動作に必要なパッケージをインストールする。
# yum install gcc perl-devel rrdtool-perl net-snmp net-snmp-utils net-snmp-perl git
インストール
- 本体のソースを入手する。(配置する場所は適宜)
$ cd /opt $ git clone https://github.com/kazeburo/cloudforecast.git $ cd cloudforecast
- cpanmをダウンロードする
- Perlモジュールをそれぞれのアプリケーションに閉じた環境にインストールして実行できるようにするためにcpanmを利用します。
$ wget --no-check-certificate http://cpanmin.us/
- 必要なPerlモジュールをインストールする
$ mkdir extlib $ perl Makefile.PL*1 $ perl cpanm -v -l extlib --installdeps .
完了まで少し時間がかかるので、小休止。
以下のように出力されればインストール完了。
Successfully installed .
XX distributions installed
設定
SNMPの設定
本体を動作させる前に、監視で利用するSNMPの設定をする(/etc/snmp/snmpd.conf)。とりあえず動作させるために、以下の設定をする(riywoさんのパクリです)。そして、snmpdをrestartする。
view all included .1 80 access notConfigGroup "" any noauth exact all none none disk / 10000
CloudForecastの設定
ひとまず、自ホストのみを監視するように設定する。
- CloudForecast自身の設定
$ mv cloudforecast_sample.yaml cloudforecast.yaml
とりあえずは変更しない。
- 監視対象ホストの設定
$ mv server_list_sample.yaml server_list.yaml $ vi server_list.yaml
-
- 以下のようにlocalhostを監視するように設定
--- #Test servers: - config: basic.yaml hosts: - 127.0.0.1 localhost Test Server
- ホストの監視項目の設定
$ vi host_config/basic.yaml
component_config: resources: - traffic:wlan0 - disk:/ - basic
起動!
データ保管用ディレクトリを作成して、監視デーモンを起動します。
$ mkdir data $ ./cloudforecast_radar -r > /tmp/cloudforecast_radar.log 2>&1
これで監視デーモンが起動して、5分間隔でポーリングをする。「-r」オプションは、設定ファイル変更時に、デーモンを再起動して設定ファイルを再読み込みするため。
WEBからグラフを確認
./cloudforecast_web -r > /tmp/cloudforecast_web.log 2>&1 &
としたが、モジュールが足りず起動しなかったので、足りないモジュールをインストールする。手順としては、本体インストール時と同じ。
$ perl cpanm -v -l extlib CGI Text::Xslate $ perl cpanm -v -l extlib HTML::FillInForm::Lite.pm
これで起動したので、ブラウザから http://localhost:5000/ へアクセスして確認する。
グラフが描画されていればOK。
設定の更新
試しに設定ファイルを更新してみたら、デーモンが監視・WEBとも落ちてしまった。なぜだ。。。
ひとまず今日はこのへんまで。設定ファイルの更新時の挙動と、起動や停止のinitスクリプト化も考えなきゃいけないので、次はそのあたりをやってみようと思う。
これがうまくいったら、会社Cactiを置き換えてしまいたいなとも思う。
*1:これを忘れるとモジュールのインストールで失敗する。(kazeburoさんやriywoさんのエントリにはこの記載がなかったので結構はまった。。そして id:memememomo さんの上述のエントリに助けられました。)