cloudforecast icon indicating copy to clipboard operation
cloudforecast copied to clipboard

the server metrics gathering

CloudForecast - server resource monitoring framework

WARNING: Alpha quality code

サーバ等のリソース監視をするためのツールです。 RRDToolの薄いラッパー、情報取得のためのフレームワークとして設計されています。 CloudForecastは、4つのプロセスによって動作します。

  • 巡回デーモン
  • グラフ閲覧 HTTPD
  • 情報取得Gearmanワーカー
  • RRDファイル更新Gearmanワーカー

小規模な監視では、Gearmanがなくても動作可能です。 動作イメージはdocsディレクトリ以下の cloudforecast.png になります

巡回デーモン

$ ./cloudforecast_radar -r -c cloudforecast.yaml -l server_list.yaml

  • 起動すると5分ごとに巡回を行います
  • -r 再起動オプション。ライブラリや設定ファイルを更新すると自動で再起動します
  • -c 設定ファイル
  • -l サーバ一覧

web server

$ ./cloudforecast_web -r -p 5000 -c cloudforecast.yaml -l server_list.yaml

  • グラフ閲覧 HTTPD
  • -p ポート httpdのport
  • -o | -host httpdがListenするIP。デフォルトはすべてのIP
  • --allow-from アクセス可能なクライアントIP/IPセグメント、複数指定可能 192.168.0.1 or 192.168.0.1/24 なにも指定しなければ アクセス制御はしない
  • --front-proxy リバースプロキシーを使っている場合に、そのIPアドレス/IPセグメント。複数指定可能

情報取得Gearmanワーカー

$ ./cf_fetcher_worker -r -c cloudforecast.yaml
-max-workers 2 -max-request-per-child 100 -max-exection-time 60

  • gearmanでのリソース情報取得ワーカー
  • -max-worker preforkするワーカー数
  • -max-request-per-child 1ワーカープロセス処理回数。この回数を超えるとプロセスが新しく作り直される
  • -max-exection-time ワーカーの1回の取得作業でこれ以上の時間かかっている場合、そのワーカーを停止します

RRDファイル更新Gearmanワーカー

$ ./cf_updater_worker -r -c cloudforecast.yaml
-max-workers 2 -max-request-per-child 100 -max-exection-time 60  - gearmanでのリソース情報をrrdファイルに書き込むワーカー

#環境変数 CF_DEBUG=1 をするとdebugログが出力されます