{{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に疎すぎる。どうやったらいいか、コマンドがどういう動きをしているのか調査する必要あり。