暇人じゃない

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

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 を押して次へ。

2010 11 02 4

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

2010 11 02 5

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

2010 11 02 6

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

2010 11 02 7

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

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

2010 11 02 8

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

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 分毎に自動更新されます。

2010 11 02 9

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

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/

About

chocoby (GitHub / Twitter)

フリーのソフトウェア開発者です。 Ruby を使った Web 開発を得意としています。