Cactiのカスタマイズ設定について以下にまとめました。
Cactiでより柔軟な監視を行う為に、ここではPollerTypeの変更方法と、基本的なプラグインのインストールについて説明します。
Cactiのインストール、及び初期設定についてはこちらを参照下さい。
・Poller Typeの変更
Cactiが監視機器からデータを取得するタイミングは、デフォルトで5分間隔です。
この時、監視機器が多くなるとデータ取得が5分以内に終わらずに、グラフが作成されない事態に陥ります。
これを防ぐ為にも、デフォルトで用意されているPollerのcmd.phpを、より高速なSpineに変更します。
以下では、Spineを利用する為に必要なソフトウェアのインストール、及び設定を説明します。
- 事前準備
Spineの動作に必要な為、 mysql-devel がインストールされている事を確認します。
[root@cacti-test ~]# rpm -qa | grep mysql-devel
mysql-devel-5.0.77-4.el5_5.4mysql-develが存在しない場合は、適宜インストールして下さい。
- Spineのインストール
Spineのアーカイブファイルをダウンロードし、展開後、インストールします。
[root@cacti-test ~]# cd /usr/local
[root@cacti-test local]# wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.7g.tar.gz
[root@cacti-test local]# tar xvzf cacti-spine-0.8.7g.tar.gz
[root@cacti-test local]# cd cacti-spine-0.8.7g
[root@cacti-test cacti-spine-0.8.7g]# ./configure --prefix=/usr/local/spine
[root@cacti-test cacti-spine-0.8.7g]# make
[root@cacti-test cacti-spine-0.8.7g]# make installデフォルトで設定ファイルのspine.conf.distが生成されます。これをコピーしてspine.confとして利用します。
尚、自動的にMySQLの接続設定がされていますが、念の為、内容が正しい事を確認して下さい。[root@cacti-test cacti-spine-0.8.7g]# cd /usr/local/spine/etc/
[root@cacti-test etc]# cp -p spine.conf.dist spine.conf
[root@cacti-test etc]# cat spine.conf
example)
DB_Host localhost
DB_Database cacti
DB_User cactiuser
DB_Pass cactiuser
DB_Port 3306
DB_PreG 0 - Cactiの画面から設定
Cactiの画面から、 [Settings] リンクを押下し、 [Path] タブを表示させます。
その後、 [Spine Poller File Path] の項目にSpineをインストールしたパスを追記して 「Save」 ボタンを押下します。
次に、 [Poller] タブを表示させ、 [Poller Type] の項目を
に設定して 「Save」 ボタンを押下します。 最後に、設定から5分程度待って、cactiのログを確認し、Spine(
Methodがspineになっている事)で実行されている事を確認します。
[root@cacti-test etc]# tail /var/www/cacti/log/cacti.log | grep "Method"
11/11/2010 02:25:03 PM - SYSTEM STATS: Time:1.1945 Method:spine Processes:1 Threads:1 Hosts:4 HostsPerProcess:4 DataSources:38 RRDsProcessed:32
・パッチの適用
Cacti Usersのプラグインを利用するには、Cactiにパッチを適用する必要があります。
プラグインのインストールについては後述しますが、ここではその下準備としてパッチの適用手順を説明します。
- Cacti UsersサイトからPlugin Architectureをダウンロードし、パッチを適用します。
[root@cacti-test etc]# cd /usr/local
[root@cacti-test local]# wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7g-PA-v2.8.tar.gz
[root@cacti-test local]# tar xvzf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
[root@cacti-test local]# cd cacti-plugin-arch/
[root@cacti-test local]# cp -p cacti-plugin-0.8.7g-PA-v2.8.diff /var/www/cacti/
[root@cacti-test local]# cd /var/www/cacti/
[root@cacti-test cacti]# chown cactiuser:cactiuser cacti-plugin-0.8.7g-PA-v2.8.diff
[root@cacti-test cacti]# patch -p1 -N < cacti-plugin-0.8.7g-PA-v2.8.diff - 同梱のpa.sqlを利用して、cactiデータベースにプラグイン用のテーブルを作成します。
[root@cacti-test cacti]# cd /usr/local/cacti-plugin-arch
[root@cacti-test cacti-plugin-arch]# mysql -u cactiuser -p < pa.sql cacti - プラグイン用のテーブルが作成された事を確認します。
[root@cacti-test cacti-plugin-arch]# mysql -u cactiuser -p cacti
mysql> show tables like '%plugin%';
以下のテーブルが作成されている事を確認します。
・plugin_config
・plugin_hooks
・plugin_realms
・plugin_db_changes
mysql> quit;
・各種プラグインのインストール
ここでは、以下のプラグインのインストール方法を説明します。
プラグイン |
概要 |
Thold |
Cactiで監視している機器がダウンした時や、グラフの値が設定したしきい値を超えて変化した時に、アラートメールを送る事が出来るプラグイン。 |
Settings | プラグイン個別の設定を保存する為のプラグイン。Tholdプラグインを適用する為には必須。 |
Update | Cacti本体とインストールされているプラグインのアップデートを確認する事が出来るプラグイン。 |
- Tholdプラグインのインストール
Cacti UsersサイトからTholdプラグインのアーカイブファイルをダウンロード、展開して生成されたtholdディレクトリ配下を、/var/www/cacti/plugins/以下へ移動します。
[root@cacti-test cacti-plugin-arch]# cd /usr/local/
[root@cacti-test local]# wget http://cactiusers.org/downloads/thold.gzip
[root@cacti-test local]# tar xvzf thold-0.4.2.tar.gz
[root@cacti-test local]# chown -R cactiuser:cactiuser thold
[root@cacti-test local]# mv thold /var/www/cacti/plugins/同梱のThold.sqlを利用して、cactiデータベースにTholdプラグイン用のテーブルを作成します。
[root@cacti-test local]# cd /var/www/cacti/plugins/thold/
[root@cacti-test thold]# mysql -u cactiuser -p < thold.sql cactiTholdプラグイン用のテーブルが作成された事を確認します。
[root@cacti-test thold]# mysql -u cactiuser -p cacti
mysql> show tables like '%thold%';
以下のテーブルが作成されている事を確認します。
・thold_data
・thold_template
・plugin_thold_template_contact
・plugin_thold_threshold_contact
・plugin_thold_contacts
・plugin_thold_log
mysql> quit; - Settingsプラグインのインストール
Cacti UsersサイトからSettingsプラグインのアーカイブファイルをダウンロード、展開して生成されたsettingsディレクトリ配下を、/var/www/cacti/plugins/以下へ移動します。
[root@cacti-test thold]# cd /usr/local/
[root@cacti-test local]# wget http://cactiusers.org/downloads/settings.tar.gz
[root@cacti-test local]# tar xvzf settings-0.5.tar.gz
[root@cacti-test local]# chown -R cactiuser:cactiuser settings
[root@cacti-test local]# mv settings /var/www/cacti/plugins/ - Updateプラグインのインストール
Cacti UsersサイトからUpdateプラグインのアーカイブファイルをダウンロード、展開して生成されたupdateディレクトリ配下を、/var/www/cacti/plugins/以下へ移動します。
[root@cacti-test local]# wget http://cactiusers.org/downloads/update.gzip
[root@cacti-test local]# tar xvzf update-0.4.tar.gz
[root@cacti-test local]# chown -R cactiuser:cactiuser update
[root@cacti-test local]# mv update /var/www/cacti/plugins/同梱のupdate.sqlを利用して、cactiデータベースにUpdateプラグイン用のテーブルを作成します。
[root@cacti-test local]# cd /var/www/cacti/plugins/update/
[root@cacti-test update]# mysql -u cactiuser -p < update.sql cactiUpdateプラグイン用のテーブルが作成された事を確認します。
[root@cacti-test update]# mysql -u cactiuser -p cacti
mysql> show tables like 'plugin_update_info';
以下のテーブルが作成されている事を確認します。
・plugin_update_info
mysql> quit; - Cactiの設定ファイル(config.php)を編集
CactiのURLパスの設定を以下の通り編集し、「http://ホスト名(or IP)/cacti/」でCactiの画面が表示されるようにします。
[root@cacti-test update]# vi /var/www/cacti/include/config.php
### 編集前
#$url_path = "/";
### 編集後
$url_path = "/cacti/"設定を反映させる為に、Apacheを再起動します。
[root@cacti-test cacti]# /etc/init.d/httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ] - Cactiの画面から設定
Cactiの画面から、adminユーザの設定で [Plugin Management]の項目にチェックを入れ、「Save」ボタンを押下します。
[Plugin Management]の項目にチェックを入れる事によって、左側のメニュー欄に[Plugin Management]のメニューが表示されるようになります。[Plugin Management]リンクを押下すると、今回適用したプラグインの一覧が表示されるので、それぞれ[Actions]項目のアイコンを押下してインストールします。
Cactiのカスタマイズ設定については以上です。