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のインストール
公式サイトからインストーラを取得し、実行します。
インストールコンポーネントは規定のまま、任意のフォルダにインストールします。インストール完了後、ここから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] で初期設定を完了します。