QNAP TS-459 Pro+にcactiをインストールする

WEBベースのサーバ・機器監視アプリケーションcactiを過去Windows OSを利用したことはあったのですが、今回はQNAP TS-459 Pro+(以下QNAP)にインストールしてみました。
当初QNAPedia Community Wikiに書いてある通りやれば良いと思って深く考えていなかったのですが、実際の作業はWindowsベースの知識しかない人間には結構きついものがありました。

が、なんとか稼働させることは出来ましたので少し整理して記載しておきます。

利用した筐体はTS-459 Pro+ですが、基本的にはどの筐体でも手順は大きく変わらないと思います。
また、QNAPのWEB管理画面やphpMyAdminから実行した方が楽な部分もありますが、基本的にはsshからほとんど設定は可能です。

QNAPのファームウェアバージョンは「3.7.3 Build 20120801」でsshクライアントにはTera Termを利用しています。

Windows OS上で稼働させるとVBスクリプト経由で値が取得出来るので個人的にはWindows版の方が好きではあるのですが、QNAPにインストールするのもお手軽で良いなと思いました。

Cacti 公式
http://www.cacti.net/
Cacti QNAPedia Community Wiki
http://wiki.qnap.com/w/index.php?title=Cacti&setlang=ja#Configure_MySQL_server
[HOWTO] – Install CACTI
http://forum.qnap.com/viewtopic.php?f=32&t=21218
Tera Term
http://sourceforge.jp/projects/ttssh2/

環境準備

SSHでQNAPにログインし、以下のコマンドを使い各ipkgをインストールします。
※以下基本的に注釈が無い場合はsshからの作業です
※一部既に導入しているパッケージがあれば省略しても構いません
※patchコマンドはCactiのpatchを適用する場合に利用するようですが、今回の手順では省略しています。

ipkg install rrdtool
ipkg install net-snmp
ipkg install php-mysql
ipkg install mysql
ipkg install perl
ipkg install patch

cactiのインストール

wgetコマンドでCactiをダウンロードします。
※インストールするバージョンは同じである必要はありませんが、バージョンが異なる場合はファイル名が変更になるので、変更になった部分は各自置換してください。
※ダウンロード先はここ(http://www.cacti.net/download_cacti.php)から確認出来ます。
※ダウンロード先は(/root)になります

wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz

ダウンロードしたファイルを解凍します。

tar -zxvf cacti-0.8.8a.tar.gz

QNAPのWebディレクトリにCactiというディレクトリを作成します。

mkdir /share/Web/cacti

先ほど解凍したデータをcactiフォルダに移動します。

mv /root/cacti-0.8.8a/* /share/Web/cacti

アカウント・グループの作成

グループ「cactigrp」を作成し、ユーザ「cacti」を追加します。
※このアカウントおよびグループはQNAPのWEB管理画面からでも作成・確認が可能です
※ユーザ作成時にパスワードを要求されるので、適当に入力しておいてください

addgroup cactigrp
adduser -h /share/MD0_DATA/.qpkg/cacti -s /bin/false -G cactigrp cacti

Clipboard11

データベースの作成

MYSQL上にデータベースCACTIDBを作成します。
※デフォルトパスワードはadminです
※パスワードがわからない場合はQNAPのWEB管理画面から初期化する事も出来ます

mysql -u root -p
create database CACTIDB;
exit

作成したCACTIDBを以下のコマンドで初期化します。

mysql -u root -p CACTIDB < /share/Web/cacti/cacti.sql&#91;/source&#93;

ユーザ「cacti'@'localhost」にCACTIDB.*に対する全ての権限を許可します。

&#91;source language="vb"&#93;mysql -u root -p
GRANT ALL PRIVILEGES ON CACTIDB.* TO 'cacti'@'localhost' IDENTIFIED BY 'cacti';&#91;/source&#93;

<h3>フォルダアクセス権限の変更</h3>

cactiディレクトリに対するオーナーシップを変更します。

chown -R cacti:cactigrp /share/MD0_DATA/Web/cacti/rra /share/MD0_DATA/Web/cacti/log

config.phpの編集

‘/share/Web/cacti/include/config.php’ にデータベース接続用の設定を行います。
この設定はQNAPの共有ファイルからメモ帳等で編集するかviコマンド等を利用して編集してください。

/* make sure these values refect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "CACTIDB";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "設定したパスワード";
$database_port = "3306";
$database_ssl = false;

Cronの設定

Cronの設定を行います。
※CronはWindowsで言うタスクスケジューラです
QNAPのCronはcrontabコマンドで編集すると再起動時に初期化されてしまうので、以下の方法で設定します。
viで/etc/config/crontabのcrontabを開きます。

vi /etc/config/crontab

crontabに以下の行を追加します。
※viはテキストエディタです。Windowsのテキストエディタとは異なり、通常読み取り専用モードになっています。編集を開始するにはiをタイプしてください。編集後はエスケープキーを押した後:q!で保存しないで終了、:wqで保存して終了です。

*/5 * * * * /opt/bin/php /share/MD0_DATA/Web/cacti/poller.php > /dev/null 2>&1

以下のコマンドを実行して編集結果をcrontabに反映させます。

crontab /etc/config/crontab

crondを再起動し、crontabに変更内容が反映されている事を確認します。
※crontab -lで内容の確認が出来ます

/etc/init.d/crond.sh restart

WEBブラウザからの設定手順

ここからはWEBブラウザから設定を行います。
※ブラウザは適当なブラウザでも問題ないと思いますが、自分はInternet Explorer 8を利用しました。

以下のディレクトリにアクセスすると、インストールが開始されます。

http://<QNAPに割り当てているIPアドレス>/cacti/install/

メモ
以下のようなエラーが画面上に表示される場合は、config.phpの設定値が間違っていますので、再度config.phpの内容を確認してください。
FATAL: Cannot connect to MySQL server on ‘localhost’. Please make sure you have specified a valid MySQL database name in ‘include/config.php’

New Installを選択し、NextをクリックするとPathsの設定画面に切り替わります。

各設定値は以下の値を利用してください。
※ここで設定を入れなかった場合も、Cactiログイン後、[Configuration]→[Settings]→[Paths]から再設定する事が出来ます

snmpwalk Binary Path

/opt/bin/snmpwalk

snmpget Binary Path

/opt/bin/snmpget

snmpbulkwalk Binary Path

/opt/bin/snmpbulkwalk

snmpgetnext Binary Path

/opt/bin/snmpgetnext

RRDTool Binary Path

/opt/bin/rrdtool

PHP Binary Path

/opt/bin/php

Cacti Log File Path

/share/MD0_DATA/Web/cacti/log/cacti.log

※Cacti自体のデバイス読み取り設定はここではいったん割愛します

グラフ生成の確認

5分待ってグラフが作成されるかを確認して、グラフが表示されたら無事インストールは完了です。
※グラフがいつまで経っても表示されない場合は、Cactiの管理画面上から[Turn On Data Source Debug Mode.]を選択し、Data Source Debugにエラーが表示されていないか確認し、エラーが表示されていた場合には内容を修正してください。

今回利用したテンプレート

mysql-cacti-templates

mysqlの値を取得する場合は以下のテンプレートを利用出来ます。
http://code.google.com/p/mysql-cacti-templates/

Multi CPU Utilization Graph

cacti標準のCPUステータスをまとめて一つのグラフに表示出来るテンプレートです。
http://forums.cacti.net/about11615-0-asc-150.html

Scripts and Templates

その他テンプレートやスクリプトを取得するにはフォーラムのScripts and Templatesにアクセスしてください。
http://forums.cacti.net/viewforum.php?f=12

Plugins

http://docs.cacti.net/plugins

おまけ

手動でグラフが作成できるか確認するには以下のコマンドを実行。

/opt/bin/php /share/MD0_DATA/Web/cacti/poller.php

RSA SecurIDアプライアンスをCactiで監視する場合のテンプレート
http://docs.cacti.net/usertemplate:host:rsa:securid

QNAP TS-459 Pro+用テンプレート

QNAPのステータスを取得出来るプラグインが公開されていたのですが上手く動作させることが出来なかったのでそれベースに作ってみました。
※現在HDD利用領域がザックリとしか取得出来ていないので、そのうち修正してアップロードしておきます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です