SNMPエージェントを設定したら anchor.png

こんどは取得した情報を表示できる、SNMPマネージャが必要です。フリーのSNMPマネージャとしては、MRTGが有名ですが、CACTIというツールも結構名前が出てきます。グラフフォーマットが綺麗、MRTGよりも柔軟など、良い評価が聞けるので、こちらをインストールしてみます。

Page Top

インストール anchor.png

CACTIには、Webインタフェースであるcactiパッケージと、周期的にデータを収集してくれるデーモンであるcacti-spineというパッケージがあります。

cactiだけでも特に問題はないのですが、cactiそのものよりも軽いため、多数のSNMPマネージャから情報を収集するにはcacti-spineを使用したほうがよいと言う事で、双方インストールしてみます。

 # emerge cacti cacti-spine

Page Top

初期設定 anchor.png

Page Top

mysql anchor.png

CACTIは、収集した情報をSQLデータベースに収集します。このために、mysqlを使用しましょう。うちでは、mysqlベースで、すべてが構築されてますのでね…

ちなみに、CACTIのデフォルトベースで設定するとこんな感じ

データベースをまず作成する。
# mysqladmin -u root -p create cacti

作成したデータベースにユーザ権限を設定する
# mysql -u root -p
Enter password: rootパスワード[Enter]
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser用パスワード';
mysql> flush privileges;
mysql> q
 
テーブルを設定する
# mysql -p cacti < <cactiをインストールしたディレクトリ>/cacti.sql
Enter password: rootパスワード[Enter]

ここまでで、データベース/データテーブルが作成されます。ちなみに、私はphpmyadminとかを使ってるので、その場合はもちっと別になりますよぅ。データベースに接続するユーザ/パスワードを変えたい場合は、ここで一細工入りますから気をつけてくださいねー

Page Top

cacti anchor.png

<cactiのインストールディレクトリ>/include/config.phpを以下のように編集してみます。先程のMySQLの設定と合わせておくんですね。

$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "設定したパスワード";
$database_port = "3306";

さらに、周期的にデータを収集するために、crontabに以下を設定しておきます。

*/5 * * * *    apache   /usr/bin/php <cactiのインストールディレクトリ>/poller.php
Page Top

cacti-spine anchor.png

/etc/spine.confを、先程のconfig.phpと同様に設定しておきます。

DB_Host         localhost
DB_Database     cacti
DB_User         cactiuser
DB_Pass         設定したパスワード
DB_Port         3306
DB_PreG         0
Page Top

カスタマイズ anchor.png

Page Top

アクセスしてみて、監視設定を行ってみる。 anchor.png

ブラウザで、http://サーバ名/<cacitのインストール先>にアクセスしてみましょう。cactiの初期設定画面が出てまいります。そこから先の設定は…例えばRRDTool+Cactiによるサーバ監視(Linux編)とか見ると、グラフィカルで分かりやすいですね。参照して設定してみてください。

Page Top

poller(周期監視処理)を設定する anchor.png

せっかくspine設定したから、それ使用したいですよね。こんな感じ。 Console→Settings→Pollerタブ→

enable
ON
Poller Type
spine 以上です。
Page Top

CPU温度とHDD温度のグラフつくってみる。 anchor.png

さっきの、RRDTool+Cactiによるサーバ監視(Linux編)に分かりやすく書いてありますね。やってみてやってください。ただし私は、SNMP経由で取得としてます。ヒントは、先ほど設定したextTableのMIBオブジェクトは、.1.3.6.1.4.1.2021.8.1、出力を取得できるextResultオブジェクトは、.1.3.6.1.4.1.2021.8.1.100あたりから取得できるっすよー。

Page Top

できたグラフを、HTMLページにExportしてみる anchor.png

なんかね…CACTIのページを、直接リモートで表示させてみると、たまにグラフが表示されず、さらにapacheの負荷がズドンと跳ね上がることがあります。こりゃーいかん、ということで、外部参照する為用に、作成したグラフ画面をExportして参照だけできるようにしておきます。 Console→Setting→Graph Exportタブ→

Export Method
Classic
Export Directory
httpのページを出力したいパスを設定します。

後はお好きなようにカスタマイズしてね。私は、1時間毎にグラフを更新して出力するセッティングにしてます。

Page Top

結果 anchor.png

こんな感じね。ちなみに、CACTI自体は、家からしかアクセス出来ないように設定してあります。外部参照用には、Exportしたグラフを見るようにしてあります。

cacti.png

Page Top

追記:10Gbyte超えメモリだと、グラフ化されない件 anchor.png

Cactiで、デフォルトでData Templates→ucd/net - Memory - Buffersやucd/net - Memory - Cache、ucd/net - Memory - Freeを使用してメモリ使用率を取得すると、10Gbyteを超えるメモリの使用率がグラフ化されません。

Page Top

なんでか~? anchor.png

よくよく調べた所、Maximum Valueが10Gbyteに制限されているんですね。この欄にUを設定して見てください。10Gbyte超えの領域がモニタリングされるようになります。

Page Top

それでもダメな場合 anchor.png

rrdtoolで取得されているデータベース側の属性を変えてやります。rrdtoolで収集されたデータベースは、<cactiのWebソースがあるディレクトリ>/rra配下にあります。この下にある、メモリ使用率を収集しているファイルの属性を変えてやります。メモリ使用率を収集しているファイルは、CactiメニューのData Sources→メモリ収集しているデータ・ソースのData Source Path項目に記述されております。で、このファイル名が仮にhost_mem_buffers_28.rrd,host_mem_free_29.rrd,host_mem_cache_30.rrdとします。こいつらの属性をコマンドラインで変更してやります。

# sudo rrdtool tune host_mem_buffers_28.rrd -a mem_buffers:U
# sudo rrdtool tune host_mem_cache_30.rrd -a mem_cache:U
# sudo rrdtool tune host_mem_free_29.rrd -a mem_free:U

これできちんととられるようになりました。ホッ


トップ   凍結 差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 5555, today: 1, yesterday: 0
初版日時: 2010-11-26 (金) 00:53:11
最終更新: 2013-02-06 (水) 02:28:30 (JST) (1752d) by maruo
ページ内検索

ログイン

ユーザー名:


パスワード:





パスワード紛失

メインメニュー

サブメニュー
自宅鯖計画

Gentoo Linuxな生活

玄箱HGにGentoo格闘記

航空ショーへ行こう

モータースポーツな世界

奥深き写真の世界への誘い

我思う ゆえに我あり



携帯用QRコード