{{category Linux,nolink}} !!!概要 cacti(カクタイ) は、RRDtoolの拡大版インターフェースといったところかな。非常に便利。 本家は、http://www.cacti.net/ 。 で、cacti 0.8.6g をインストールする。 *OSはFedoraCORE3(古い話)。 !!!準備 以下のパッケージが必要。 *Apache *PHP *MySQL **mysql **mysql-devel *RRDTool  *NET-SNMP **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に疎すぎる。どうやったらいいか、コマンドがどういう動きをしているのか調査する必要あり。