こんにちわ。
職人見習いの小森です。

今回は、Node.jsで利用可能な死活監視ツールUptimeをEC2上にインストールし実際に監視してみたいと思います。

node.js インストール

yum install gcc-c++
yum install openssl-devel
wget http://nodejs.org/dist/v0.6.15/node-v0.6.15.tar.gz
tar zxvf node-v0.6.15.tar.gz
cd node-v0.6.15
 ./configure --prefix=/usr/local/node
make
make install
vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/node/bin

次のコマンドを実行し、バージョンが表示されれば正しくインストールされています。

node -v

今回の本題に入ります。
UptimeはMongoDBを利用するのでインストールし起動します。

cd /usr/local/src
wget http://downloads.mongodb.org/linux/mongodb-linux-i686-1.2.2.tgz
tar zxfv mongodb-linux-i686-1.2.2.tgz
mkdir /data
mkdir /data/db
cd /usr/local/src/mongodb-linux-i686-1.2.2/bin/mongod
./mongod --fork --logpath /usr/local/mongodb/logs/

次にUptimeをインストールします。npmとgitを使うので入ってなければインストールしてください。

curl http://npmjs.org/install.sh | sh
git clone git://github.com/fzaninotto/uptime.git
cd uptime
npm install

Uptimeをインストールしたフォルダ内にあるapp.jsを実行します。

cd uptime
node app.js

EC2のSecurityGroupでポート:8082を開けて、「Public DNS:8082」をブラウザで開き、次の画面が開けばインストール作業は完了です。

create your first check.を押すと次の画面が開くので、監視したいUrlを設定し保存します。

実際に監視を始めると、次の画面のような応答時間によるグラフが作成されていきます。

Node.js、MongoDB、Uptimeをインストールするだけの簡単な設定で監視ツールが用意出来ました。
今は応答時間によるグラフ作成機能しか無いのが残念ですが、アラートメール送信機能
などが実装されると死活監視ツールとして十分使えそうな印象です。

なお、今回使用したNode.js、MongoDBについてより詳しい内容が以下の記事に掲載されております。
WebSocketってなんじゃ?(Node編3 node.jsでサーバーサイドjQuery)
WebSocketってなんじゃ?(Node編4 MongoDBってなんじゃ?)

※この記事は、なかの人(spitz8008)が書いています。