暇人じゃない

Ubuntu 10.04 + nginx 環境に Cacti をインストール

Linux + nginx + MySQL + PHP = 「LNMP 環境」と言えば良いのでしょうか。

「あ、サーバー監視やりたいな」という事で Cacti をインストールしてみました。

Cacti: The Complete RRDTool-based Graphing Solution
http://www.cacti.net/

Cacti とは、サーバーやルーター等の機器を監視するプログラムです。
公式サイトのスクリーンショット集にあるように、監視状況をグラフィカルに表示することができます。

似たようなものに、Nagios/Hinemos/Munin/ZABBIX など色々なものがあります。
使用する Web サーバーはいつものごとく nginx です。

環境:

設定や URL については適宜読み替えてください。

ユーザーの作成

Cacti 用のユーザーを作成します。

$ sudo groupadd cacti
$ sudo useradd -g cacti cacti
$ sudo passwd cacti

RRDtool のインストール

RRDtool とは、簡単にいうとシステムの統計情報などからグラフを生成するプログラムです。 RRDtool 単体でも色々できるみたいなのですが、RRDtool のコマンドは複雑なので Cacti を RRDtool のフロントエンドとして使用します。

$ sudo aptitude install rrdtool

その他依存パッケージのインストール

$ sudo aptitude install php5-snmp snmp

補足: もし、Apache 環境で使用する予定だったり、Cacti が インストールされる場所を気にしないのであれば Cacti のパッケージ自体をインストール (sudo aptitude install cacti) すれば簡単にインストールできるようです。
今回は nginx を使用する/Cacti を置く場所を自分で決めたいので、手動でインストールします。

Cacti のデータベースを作成

mysql> create database cacti;
mysql> GRANT ALL ON cacti.* to cactiuser@localhost IDENTIFIED BY 'cactipasswd';

Cacti の初期設定

ダウンロード

Cacti: The Complete RRDTool-based Graphing Solution
http://www.cacti.net/download_cacti.php

上記ページから「Cacti for Linux/Unix in tar.gz format」のファイルをダウンロードします。

$ wget http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz
# 解凍してドキュメントルート下に移動
$ tar zxvf cacti-0.8.7g.tar.gz 
$ sudo mv cacti-0.8.7g/ /home/cacti/cacti
# ドキュメントルートに対してシンボリックリンクを張る
$ sudo ln -s /home/cacti/cacti/ /var/www/test/public_html/
$ sudo chown -R cacti:cacti /var/www/test/public_html/cacti

データベースの設定

$ cd /var/www/test/public_html/cacti
$ sudo vim include/config.php

先程作成した Cacti で使用するデータベースの設定を書きます。

$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactipasswd";
$database_port = "3306";

Cacti で使用するテーブルを作成します。

$ mysql -u cacti -p cacti < cacti.sql

cron の設定

sudo crontab -u cacti -e
*/5 * * * * php /home/cacti/cacti/poller.php > /dev/null 2>&1

サービスを再起動

$ sudo /etc/init.d/php-fastcgi restart
$ sudo /etc/init.d/nginx restart

Cacti にアクセスしてみる

http://example.com/cacti/

Cacti Installation Guide というページが表示されます。 Next を押して次へ。

Please select the type of installation
New Install のまま Next を押して次へ。

Make sure all of these values are correct before continuing. Next を押して次へ。

すると、ログイン画面が表示されます。

ユーザー名:admin、パスワード:admin でログインすると、パスワードを変更しろと言われるので変更します。

ホーム画面が出てきました。

とりあえずグラフがみたい!

Create devices for network から localhost を追加。
Create graphs for your new device から

などを選択して追加してみます。 ページ上部にある graphs を開いてしばらく経つと、以下のように少しずつグラフが表示されてくると思います。 グラフのページは5分毎に自動更新されます。

これで一通りのセットアップは終わりです。

nginx を監視する

別途、記事を書きました。

Cacti で nginx を監視する
/blog/2010/11/02/monitoring-nginx-statistics-with-cacti/

参考サイト

The Cacti Manual
http://www.cacti.net/downloads/docs/html/index.html

cacti - グラフツールcactiとは?
http://cacti.loaded.jp/