-
entry001206
comments
自宅サーバーを常時稼動させているのですが、その稼動状況をあまりきちんと把握しておりませんでした。 よろしくない。 そこで、今月の Software Design で取り上げられていた Cacti をインストールすることにしました。
"Cacti" は「カクタイ」と発音するそうです。 Cacti は MRTG の後継であるグラフ化ツールであるRRDTool のフロントエンドとして振る舞い、各種ステータスをグラフ化して表示する Web アプリケーションです。
MRTG は古くから使われていて実績のあるグラフ化ツールではあるものの、二系統しかグラフ化できないなどの制約があり使い勝手はさすがに見劣りしてきています。 そこで開発されたのが RRDTool で、MRTG の蓄積を生かしつつ(開発者は同じ人)機能の拡充がなされています。 がしかし、欠点としてその扱いが複雑になってしまったようです。 という経緯で、この Cacti のようなフロントエンドが必要になるわけですな。
Cacti は SNMP にも対応しているので、今回は Linux サーバーだけではなく Windows XP マシンも監視対象に入れてみたいと思います。
Cacti をセットアップします自宅サーバーは CentOS なのでインストールは簡単。 RPMForge.net から、こんな具合にインストールできます。
$ yum install cacti
インストールが終わったら、DB スキーマの作成です。 Cacti はバックエンドのデータストアとして MySQL を使います。
$ sudo su - mysql $ mysqladmin -u root create cacti $ mysql -u root cacti < /var/www/cacti/cacti.sql $ mysql -u root mysql mysql> grant all on cacti.* to cactiuser@localhost \ identified by '<password>'; mysql> flush privileges
続いて、作成した DB への接続情報を Cacti に設定します。 設定ファイルは /var/www/cacti/include/config.php になります。
$database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "<password>"; $database_port = "3306";
念のため、Apache の設定を確認してから起動します。 Apache 用の設定は /etc/httpd/conf.d/cacti.conf に置かれます。 httpd.conf に "Include conf.d/*.conf" というディレクティブがあるので、自動的に Apache の設定として読み込まれます(ぼくはこの動きが気持ち悪いので当該ディレクティブを無効化していますが)。
$ sudo /etc/rc.d/init.d/httpd restart
設定した URI(たとえば http://example.net/cacti/)にアクセスすると、初回アクセス時のコンフィギュレーション画面が表示されます。 ぼくの場合は特に設定を変更すべき箇所が見当たらなかったので、そのまま次へ次へと。 やがてログイン画面が表示されるので admin/admin にてログインしましょう。 新しいパスワードを聞かれるので適当なパスワードを設定すれば起動完了。
デフォルトでは Localhost が登録されています。 crond を使って五分間隔で値を取得しているので、しばらく待つとグラフが表示される状態になります。 左上の "graph" タブをクリックしましょう。
Windows XP マシンの稼動状況をグラフ化するCacti のインストールが終わったので、Windows XP マシンの稼動状況を SNMP で取得してグラフ化してみましょう。 Windows XP Professional には標準で SNMP Agent 機能が用意されています。 "サービス" に "SNMP Service" がリストされているはずです。 これが存在しない場合は "コントロールパネル > プログラムの追加と削除 > Windows コンポーネントの追加と削除" から "管理とモニタツール" を追加してください。 続いて、"サービス > SNMP Service" のプロパティを開き "セキュリティ" タブを開きます。 デフォルトのコミュニティ名 "public" を変更しましょう。 また、必要に応じて接続元ホストも絞りましょう。 今回の Cacti 用には Linux サーバーの IP アドレスを指定しておけば問題ないでしょう。
SNMP Service が起動してなければ起動します。 必要に応じてファイアウォールの設定も変更してください。 以上で Windows マシン側の設定は完了です。
続いて Cacti の設定です。 箇条書きで。
- 先ほどの Web の "console" タブ画面のメニューから "Devices" をクリックします。
- 画面右上の "Add" リンクをクリックします。
- 以下のように入力します。
Description 何か分かりやすい表示名 Hostname Windows マシンのホスト名 Host Template Windows 2000/XP SNMP Community 先ほど指定したコミュニティ名 SNMP Version Version 2 SNMP Port 161 SNMP Timeout 適当に - "create" ボタンをクリックして設定を作成します
続いてグラフ定義の作成です。
- 表示された画面の "Create Graphs for this Host" リンクをクリックします
- すべてのグラフにチェックをつけて "create" ボタンをクリックします
- メニューの "Devices" をクリックします
- 先ほど作成した Windows マシンの設定にチェックをつけます
- "Cheese an action" の "Place on a Tree (Default Tree)" を選択して "go" をクリックします
- "yes" をクリックします
以上でグラフの追加は完了です。 "graph" タブから Windows マシンのグラフを表示して見ましょう。
MTEntryMore



