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 です。
環境:
- Ubuntu 10.04 Server
- nginx 0.8.53
- PHP 5.3.2
- MySQL 5.1.41
設定や 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 から
- Unix - Load Average
- Unix - Logged in Users
- Linux - Memory Usage
- Unix - Ping Latency
- Unix - Processes
などを選択して追加してみます。 ページ上部にある 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/