ホーム > ネットワーク, 作業メモ > CactiをIISで使う

CactiをIISで使う

CactiをWindows ServerのIIS上で利用するメモ…

CactiはMRTGと同様なサーバの状態やネットワークのトラフィック監視が可能なプログラムで、動作には以下のものが必要となります。

  • RRDtool (ラウンドロビン形式データベースへの数値蓄積/グラフ化ソフト)
  • Net-SNMP (なくても動くが、snmpwalkはあった方が便利)
  • MySQL (RDBMS)
  • php (webフロントエンド言語)
  • Webサーバ(apache 或いは IISなど)

とりあえずWebサーバとphpとMySQLは動いているという前提で…。

RRDtoolのインストール

公式サイトからWindows用バイナリを取得し、解凍します。解凍されたフォルダ内に”rrdtool”フォルダがあるので、任意のフォルダに配置して下さい。

Net-SNMPのインストール

公式サイトからインストーラを取得し、実行します。

net-snmpインストール

インストールコンポーネントは規定のまま、任意のフォルダにインストールします。インストール完了後、ここからMIBを取得し、Net-SNMPインストールフォルダ以下のshare/snmp/mibs/ にコピーしておきます。プロンプトからsnmpwalkでローカルのsnmp情報が取得できればOK。

Cactiのインストール

公式サイトからバイナリを取得し、解凍します。解凍されたフォルダ(“cacti-*.*.**”等)を”cacti”にリネームし、任意のフォルダに配置して下さい。特にこだわりが無ければC:\Inetpub\wwwroot\ 以下に配置するとIISの設定がサボれます。

MySQLのデータベース作成

コマンドプロンプトを開いて、mysqladminコマンドでcactiデータベースを作成します。

>mysqladmin -u root -p create cacti
Enter Password: **********

cactiパッケージに含まれるsqlスクリプトを利用して、テーブル等を作成します。

>mysql -u root -p cacti < c:\Inetpub\wwwroot\cacti\cacti.sql
Enter Password: **********

cacti用にDBユーザを作成し、作成したDBアイテムに対してアクセス権を付与します。

>mysql -u root -p
Enter password: *******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 500
Server version: 5.1.33-community MySQL Community Server (GPL)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> use cacti;
Database changed

mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY ‘password‘;
Query OK, 0 rows affected (0.03 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.05 sec)

mysql> exit
Bye

これでDBの準備は完了。

CactiのDBアクセスの設定

Cactiインストールパス\Include\config.php を編集し、作成したDBカタログ名・DBユーザ名・DBパスワードを指定する(例のままだと無変更)。

ファイルのアクセス権設定

%windir%\System32\cmd.exeにインターネットゲストアカウント(IUSR_****)及びNETWORK SERVICE(もしくはアプリケーションプール実行ユーザ)の読み取り・実行権限を付与する。必ずしもプロンプトは使わないような気がするのだが…これをやっておかないとsnmp関連が正常に動作しない。phpが内部で呼んでいる…?

Cacti初期設定

ブラウザから以下のurlにアクセスしませう。(localhost以外で作業している場合は適宜読み替えて下さい…)。

http://localhost/cacti/
cactiのセットアップ画面が出てくればOK。画面が出ない・何らかのエラーメッセージが表示されるようなら、何かきっと問題があるので設定を見直しませう…。(ちなみにウチだと php.ini を編集して sockets を有効にする必要がありましたorz)。

[Next], “New Install”-[Next], [Finish] で初期設定を完了します。

初期設定が完了すると、以下のようなCactiへのログオン画面が表示されます。初期ID/パスワードはadmin/admin なので、まずログインしましょう。
cactiログオン画面
ログオン後、まず管理ユーザ(admin)のパスワードの変更を強制されるので、任意のパスワードを2回入力して[Save]すると、Cactiのコンソール画面が開きます。

Cactiの関連アプリケーションのパス設定

Cactiのコンソールから[Settings]-[Paths]を開き、各種パスの設定画面を開きます。各関連ツールへのパスを正しく設定し、下に”[OK: FILE FOUND]“の表示が出るようにしましょう。

何度見てもパスは正しいのにどうしても「FILE FOUND」表示にならない場合、ファイルへのアクセス権を見直してみて下さい。インターネットゲストアカウント及びアプリケーションプール実行ユーザへの読み取り・実行権がついていないとダメです…。

ポーリングの設定

Cacti本体は定期的にサーバを巡回して情報を取得する機能は持たないため、情報を更新するために別途外部で定期的にスクリプトを実行する必要があります。

Cactiインストールパスに、以下の名前のpoller.bat を作成します。

cd /d c:\Inetpub\wwwroot\cacti
php.exe c:\Inetpub\wwwroot\cacti\poller.php

カレントディレクトリを移動しないとどうもうまく動かない場合がある模様なので.batを噛ませていますが、問題なく動作するようであれば2行目のphpスクリプト実行だけでOKかもしれません。上記バッチをcronサービス、またはWindows標準のタスクマネージャで、5分毎に実行されるように設定してください。

ポーリング時のエラーなどは、Cactiインストールフォルダ以下/log/cacti.log に出力されるので、動作がおかしいなー、と思ったらまずチェックしましょう。

以上でCactiの動作設定は完了です。

カテゴリー: ネットワーク, 作業メモ タグ:
  1. コメントはまだありません。
  1. トラックバックはまだありません。