概要
cacti(カクタイ) は、RRDtoolの拡大版インターフェースといったところかな。非常に便利。
本家は、http://www.cacti.net/ 。
で、cacti 0.8.6g をインストールする。
- OSはFedoraCORE3(古い話)。
準備
以下のパッケージが必要。
- Apache <http://httpd.apache.org/>
- PHP <http://www.php.net>
- MySQL <http://www.mysql.com/>
- mysql
- mysql-devel
- RRDTool <http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/>
- NET-SNMP <http://www.net-snmp.org/>
- net-snmp-develも
- openssl-devel
net-snmp-develが入ってなかった。
# yum install net-snmp-devel 〜 Downloading Packages: (1/4): elfutils-libelf-de 100% |=========================| 50 kB 00:00 (2/4): beecrypt-devel-3.1 100% |=========================| 358 kB 00:00 (3/4): elfutils-devel-0.9 100% |=========================| 29 kB 00:00 (4/4): net-snmp-devel-5.2 100% |=========================| 236 kB 00:00
php-snmpも入ってなかった。
# yum install php-snmp 〜 (1/1): php-snmp-4.3.11-2. 100% |=========================| 26 kB 00:00
こんな感じで。
RRDToolのFC3用rpmは無いので、ソースからインストール。
インストール
ユーザー、グループの作成
# useradd cactiuser
インストールディレクトリの作成
# mkdir /usr/local/bin/cacti
パスワードの設定
ログイン
/cacti/index.php
- USER:admin
- PASS:(入れる)
設定
ざっとこんな感じ。
対象の追加
- 左側のメニューから「Device」を選択
- 右上の「Add」ボタンを押下
- 「Devices」画面において対象機器の情報を入力する
- Description:サーバ名
- Hostname:IPアドレス
- Host Template:対象機器によって選択する
- SNMP Community:コミュニティ名。通常は「public」のことが多い。(ちゃんと設定しましょう)
- 入力し終わったら「create」ボタンを押下
- 「Save Successful」と表示され、「SNMP Information」として対象機器のデータが取得されれば、SNMP通信が成功
- 「Create Graphs for this Host」を押下
- 取得したいSNMPデータが表示されるので、適宜選択し「create」ボタンを押下
- 「Graphs」タブでグラフ表示モードへ移行し、該当機器のグラフが生成されていることを確認
対象の削除
- 左側のメニューから「Device」を選択
- 削除したい機器を探し、右側のチェックボックスにチェックを入れる。
- 画面下部の「Choose an action」を「Delete」とし、「go」を押下
- どのデータを削除するかたずねられるので「Delete all associated graphs and data sources」(グラフもデータも削除)を選択して「Yes」を押下
- 「Devices」の一覧に存在しないことを確認
トラブル
突然の停電による再起動後にログインできなくなった。ログイン画面は表示される。原因は、cactiではなくMySQLのテーブル破損でした。
経緯
- 停電
- 復旧してから電源入れてしばらく置いていて、いざ使おうとするとログインできず。
対処
1.spineが複数プロセス起動されている。uptimeが何故か20を超えている。mysqldがCPU100%の模様。
2.とりあえず、service mysqld stop
3.df するとディスクフル……。
4./var/log/mysql/mysql.logがでかすぎる。でかすぎてlessも出来ず。さくっと削除。
5.ディスク空き回復。ここで再起動しておいた。
6.再起動後、やはり/var/log/mysql/mysql.logが肥大化する。内容は
/usr/libexec/mysqld : Table './cacti/poller_item' is marked as crashed and should be repaired
7.もう一回mysqlを止める。
8.mysqlのテーブル破損とのこと。以下コマンドを実行。
myisamchk -fast /var/lib/mysql/xxxxx/poller_item.MYI ←状況チェック myisamchk -recover /var/lib/mysql/xxxxx/poller_item.MYI ←リカバリ
9.myqld起動。今度はエラーが出ない。
10. cacti確認、復旧。
反省点
- UPSに繋いどかなくては。
- mysqlに疎すぎる。どうやったらいいか、コマンドがどういう動きをしているのか調査する必要あり。
最終更新時間:2008年11月21日 17時06分49秒