Cactiシステム管理

Cactiカスタマイズ設定手順

Cactiのカスタマイズ設定について以下にまとめました。

Cactiでより柔軟な監視を行う為に、ここではPollerTypeの変更方法と、基本的なプラグインのインストールについて説明します。
Cactiのインストール、及び初期設定についてはこちらを参照下さい。

・Poller Typeの変更
Cactiが監視機器からデータを取得するタイミングは、デフォルトで5分間隔です。
この時、監視機器が多くなるとデータ取得が5分以内に終わらずに、グラフが作成されない事態に陥ります。
これを防ぐ為にも、デフォルトで用意されているPollerのcmd.phpを、より高速なSpineに変更します。
以下では、Spineを利用する為に必要なソフトウェアのインストール、及び設定を説明します。

  1. 事前準備
    Spineの動作に必要な為、 mysql-devel がインストールされている事を確認します。
    [root@cacti-test ~]# rpm -qa | grep mysql-devel
    mysql-devel-5.0.77-4.el5_5.4
    mysql-develが存在しない場合は、適宜インストールして下さい。
  2. 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
  3. Cactiの画面から設定
    Cactiの画面から、 [Settings] リンクを押下し、 [Path] タブを表示させます。
    その後、 [Spine Poller File Path] の項目にSpineをインストールしたパスを追記して 「Save」 ボタンを押下します。
    cacti-setting-paths

    次に、 [Poller] タブを表示させ、 [Poller Type] の項目をに設定して 「Save」 ボタンを押下します。
    cacti-setting-poller

    最後に、設定から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にパッチを適用する必要があります。
プラグインのインストールについては後述しますが、ここではその下準備としてパッチの適用手順を説明します。
  1. 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
  2. 同梱の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
  3. プラグイン用のテーブルが作成された事を確認します。
    [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本体とインストールされているプラグインのアップデートを確認する事が出来るプラグイン。

  1. 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 cacti
    Tholdプラグイン用のテーブルが作成された事を確認します。
    [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;
  2. 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/
  3. 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 cacti
    Updateプラグイン用のテーブルが作成された事を確認します。
    [root@cacti-test update]# mysql -u cactiuser -p cacti
    mysql> show tables like 'plugin_update_info';
    以下のテーブルが作成されている事を確認します。
    ・plugin_update_info

    mysql> quit;
  4. 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 ]
  5. Cactiの画面から設定
    Cactiの画面から、adminユーザの設定で [Plugin Management]の項目にチェックを入れ、「Save」ボタンを押下します。
    cacti-usermanagement-realmpermissions

    [Plugin Management]の項目にチェックを入れる事によって、左側のメニュー欄に[Plugin Management]のメニューが表示されるようになります。[Plugin Management]リンクを押下すると、今回適用したプラグインの一覧が表示されるので、それぞれ[Actions]項目のアイコンを押下してインストールします。
    cacti-pluginmanagement

    Cactiのカスタマイズ設定については以上です。