Cacti 0.8.7i の導入
これを行ったときの構成になります。
■環境
■環境
・FreeBSD 7.x
・RRDTool 1.4.5
・NET-SNMP 5.7.4
・MySQL 5.1.54
・Apache 2.2.17
・PHP 5.3.8(+mysqlプラグイン)
・Cacti 0.8.7i(PHPスクリプト)
■データベースに関する設定値・RRDTool 1.4.5
・NET-SNMP 5.7.4
・MySQL 5.1.54
・Apache 2.2.17
・PHP 5.3.8(+mysqlプラグイン)
・Cacti 0.8.7i(PHPスクリプト)
・データベース名:cacti(※デフォルト)
・ユーザー名:cactiuser(※デフォルト)
・パスワード:cactiuser(※デフォルト)
■Cactiに関する設定値・ユーザー名:cactiuser(※デフォルト)
・パスワード:cactiuser(※デフォルト)
・CactiのURL:http://test.lipwood.com/cacti/
・Cactiの保存先:/usr/local/www/apache22/cacti
※Apache、PHPおよびMySQLのインストールを含む基本的な設定についてはここでは省略しています。・Cactiの保存先:/usr/local/www/apache22/cacti
まず、Cacti本体を本家からダウンロードします。ここでは現時点での最新バージョンとなっている"cacti-0.8.7i.tar.gz"をダウンロードしてきます。
ダウンロードしたらそれを解凍した後にブラウザから閲覧出来るディレクトリへコピーします。
もし、FTPなどを使わずにサーバ上で全てやってしまおうと思っている場合は以下のようになります。
次にCactiで使用するデータベースとそれを使用するユーザーを作成して、そのデータベースにCactiで使用するために必要なテーブルを作成します。
作成するテーブルはCactiをコピーしていたディレクトリ内に「cacti.sql」というファイル名で用意されているのでこれを適用します。
それが終わったらファイルとディレクトリのパーミッションを変更しますが、Cactiではcronを使用してデータの更新を行うため、そこで指定したユーザーがファイルの作成や更新が行えるようにするためです。
したがって、実行するユーザーがrootだったり専用のユーザーを作って所有者をそれにするといった場合には必要ない作業になります。
ここでインストールに関する作業は終了です。
ダウンロードしたらそれを解凍した後にブラウザから閲覧出来るディレクトリへコピーします。
もし、FTPなどを使わずにサーバ上で全てやってしまおうと思っている場合は以下のようになります。
(色分け:入力値、コマンドライン、コメント)
■ファイルの取得 # cd /tmp # wget http://www.cacti.net/downloads/cacti-0.8.7i.tar.gz --2012-02-10 17:39:14-- http://www.cacti.net/downloads/cacti-0.8.7i.tar.gz Resolving www.cacti.net (www.cacti.net)... 209.242.232.5, 173.225.179.10, 140.211.167.231 Connecting to www.cacti.net (www.cacti.net)|209.242.232.5|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 2250128 (2.1M) [application/x-gzip] Saving to: `cacti-0.8.7i.tar.gz' 100%[==================================================>] 2,250,128 317K/s in 7.9s 2012-02-10 17:39:22 (277 KB/s) - `cacti-0.8.7i.tar.gz' saved [2250128/2250128] ■圧縮ファイルの解凍と公開先へ移動
# tar -xzf cacti-0.8.7i.tar.gz
# mv ./cacti-0.8.7i /usr/local/www/apache22/cacti
# mv ./cacti-0.8.7i /usr/local/www/apache22/cacti
次にCactiで使用するデータベースとそれを使用するユーザーを作成して、そのデータベースにCactiで使用するために必要なテーブルを作成します。
作成するテーブルはCactiをコピーしていたディレクトリ内に「cacti.sql」というファイル名で用意されているのでこれを適用します。
(色分け:入力値、コマンドライン、コメント)
■mysqlサーバへ接続 # mysql -u root -p Enter password: パスワードを入力 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 61 Server version: 5.1.54-log FreeBSD port: mysql-server-5.1.54_1 Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL v2 license Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. ■ユーザーの作成(デフォルトの場合) mysql> GRANT ALL PRIVILEGES ON cacti.* to cactiuser@localhost identified by 'cactiuser'; Query OK, 0 rows affected (0.02 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) ■データベースの作成(デフォルトの場合) mysql> CREATE DATABASE cacti; Query OK, 1 row affected (0.00 sec) mysql> \q Bye ■テーブルの作成 # cd /usr/local/www/apache22/cacti # mysql -u cactiuser -p -D cacti < ./cacti.sql Enter password: パスワードを入力
したがって、実行するユーザーがrootだったり専用のユーザーを作って所有者をそれにするといった場合には必要ない作業になります。
(色分け:入力値、コマンドライン、コメント)
# cd /usr/local/www/apache22/cacti ■ログを保存するディレクトリとファイルのパーミッションの変更 # chmod 777 log # chmod 777 log/cacti.log ■RRDファイルを保存するためのディレクトリのパーミッションを変更 # chmod 777 rra
Cactiで使用するデータベースおよびテーブルの作業が終わったら今度はCactiの設定を行います。
まず、データベースに接続するための設定を「include/config.php」で行いますが、デフォルトのままであれば特にこの作業は必要ありません。もし、デフォルトとは違う場合は該当箇所を編集します。
ここまで終わればあとはブラウザ上で行う作業になります。
ブラウザから「http://test.lipwood.com/cacti/」へアクセスすると「http://test.lipwood.com/cacti/install/」へ転送されて以下のような画面が表示されると思います。
ここではインストールやライセンスに関することが書かれていますが、特に作業することは無いので画像内で示しているとおり「NEXT」をクリックして次へ進みます。

ここではインストール方法と「include/config.php」で設定されている値が表示されます。
今回は新規なのでこのまま画像内で示しているとおり「NEXT」をクリックして次へ進みます。

ここでは各プログラムのパスやCactiで使用するログファイルの設定などを行います。
基本的に問題が無ければ各パスの入力欄の下には[OK:FILE FOUND]と表示されると思いますが、もし[ERROR: FILE NOT FOUND]となっていたら確認する必要があります。
問題が無ければ「FINISH」をクリックして終了になります。

まず、データベースに接続するための設定を「include/config.php」で行いますが、デフォルトのままであれば特にこの作業は必要ありません。もし、デフォルトとは違う場合は該当箇所を編集します。
"include/config.php"
(色分け:書換、追記、コメント)
25:/* make sure these values refect your actual database/host/user/password */ 26:$database_type = "mysql"; ← 接続タイプ(基本的にはそのまま) 27:$database_default = "cacti"; ← データベース 28:$database_hostname = "localhost"; ← 接続先(基本的にはそのまま) 29:$database_username = "cactiuser"; ← ユーザー名 30:$database_password = "cactiuser"; ← パスワード 31:$database_port = "3306"; ← MySQLのポート(基本的にはそのまま) 32:$database_ssl = false; ← SSL接続の有無(基本的にはそのまま)
ブラウザから「http://test.lipwood.com/cacti/」へアクセスすると「http://test.lipwood.com/cacti/install/」へ転送されて以下のような画面が表示されると思います。
ここではインストールやライセンスに関することが書かれていますが、特に作業することは無いので画像内で示しているとおり「NEXT」をクリックして次へ進みます。

ここではインストール方法と「include/config.php」で設定されている値が表示されます。
今回は新規なのでこのまま画像内で示しているとおり「NEXT」をクリックして次へ進みます。

ここでは各プログラムのパスやCactiで使用するログファイルの設定などを行います。
基本的に問題が無ければ各パスの入力欄の下には[OK:FILE FOUND]と表示されると思いますが、もし[ERROR: FILE NOT FOUND]となっていたら確認する必要があります。
問題が無ければ「FINISH」をクリックして終了になります。

「FINISH」をクリックした後は、以下のようなログイン画面が表示されますので「ユーザ名:admin、パスワード:admin」でログインします。 
初回ログイン時は安全のためパスワードの変更を即すメッセージなりますので新しいパスワードを入力します。

ログイン後は以下のような画面になりますので、後はここからグラフの作成や閲覧を行います。

尚、初期の状態で予めいくつかサンプルが設定されていますが、データを記録しているRRDファイルが無いためこの時点ではグラフは表示されません。
Cactiではデータ収集用に「poller.php」と言うスクリプトが用意されているので、まずはこれをコマンドラインから実行してRRDファイルを作成します。
ちなみに、RRDファイルは「rra」ディレクトリ以下に作成されますのでそれがあればグラフ表示ができるようになっていると思います。
特に問題なければ最後にcronに登録します。

初回ログイン時は安全のためパスワードの変更を即すメッセージなりますので新しいパスワードを入力します。

ログイン後は以下のような画面になりますので、後はここからグラフの作成や閲覧を行います。

尚、初期の状態で予めいくつかサンプルが設定されていますが、データを記録しているRRDファイルが無いためこの時点ではグラフは表示されません。
Cactiではデータ収集用に「poller.php」と言うスクリプトが用意されているので、まずはこれをコマンドラインから実行してRRDファイルを作成します。
ちなみに、RRDファイルは「rra」ディレクトリ以下に作成されますのでそれがあればグラフ表示ができるようになっていると思います。
(色分け:入力値、コマンドライン、コメント)
■まずは問題がないかコマンドラインから実行してみる # php /usr/local/www/apache22/cacti/poller.phpcat: /proc/meminfo: No such file or directory cat: /proc/meminfo: No such file or directory OK u:0.01 s:0.00 r:0.14 OK u:0.01 s:0.00 r:0.14 OK u:0.01 s:0.00 r:0.15 OK u:0.01 s:0.00 r:0.15 OK u:0.01 s:0.00 r:0.17 OK u:0.01 s:0.00 r:0.17 OK u:0.01 s:0.00 r:0.18 OK u:0.01 s:0.00 r:0.18 OK u:0.02 s:0.00 r:0.20 OK u:0.02 s:0.00 r:0.20 02/11/2012 01:34:38 AM - SYSTEM STATS: Time:0.3134 Method:cmd.php Processes:1 Threads:N/A Hosts:2 HostsPerProcess:2 DataSources:5 RRDsProcessed:5
※FreeBSDでは/proc/meminfoは無いのでエラーとなっています。
また、poller.phpは予め設定された時間間隔で行うので連続で実行してもデータの更新はされません。
また、poller.phpは予め設定された時間間隔で行うので連続で実行してもデータの更新はされません。
■RRDファイルが作られているか確認 # ls /usr/local/www/apache22/cacti/rra .htaccess localhost_mem_buffers_3.rrd localhost_mem_swap_4.rrd localhost_proc_7.rrd localhost_load_1min_5.rrd localhost_mem_buffers_8.rrd localhost_mem_swap_9.rrd localhost_users_6.rrd
(色分け:入力値、コマンドライン、コメント)
■cronへ5分間隔で実行するように追加 # ee /etc/crontab ※ファイルの最後に↓これを追加 */5 * * * * root /usr/local/bin/php /usr/local/www/apache22/cacti/poller.php > /dev/null 2>&1
グラフツールはコマンドライン上から行うとオプション設定がとても面倒だったりするのですが、このCactiを使えばレイアウトなどを初め煩雑な設定もかなり楽に行えるのでとても重宝するのではないかと思います。
ここではCactiのインストールについて困った点などを含めて記載しています。
作成日:2012.02.12
更新日:2012.04.05