1: 2010-11-26 (金) 00:53:11 maruo |
現: 2013-02-06 (水) 02:28:30 maruo |
- | で、私はWebインタフェースで取得した情報を表示してくれるマネージャ、CACTIというのを使用したわけですね。では、説明していきましょう。 | + | *SNMPエージェントを設定したら [#mb82a056] |
| + | こんどは取得した情報を表示できる、SNMPマネージャが必要です。フリーのSNMPマネージャとしては、MRTGが有名ですが、CACTIというツールも結構名前が出てきます。グラフフォーマットが綺麗、MRTGよりも柔軟など、良い評価が聞けるので、こちらをインストールしてみます。 |
| + | |
| + | *インストール [#e9c8a697] |
| + | CACTIには、Webインタフェースであるcactiパッケージと、周期的にデータを収集してくれるデーモンであるcacti-spineというパッケージがあります。 |
| + | |
| + | cactiだけでも特に問題はないのですが、cactiそのものよりも軽いため、多数のSNMPマネージャから情報を収集するにはcacti-spineを使用したほうがよいと言う事で、双方インストールしてみます。 |
| + | |
| + | # emerge cacti cacti-spine |
| + | |
| + | *初期設定 [#rd8abadd] |
| + | **mysql [#wd164f9d] |
| + | 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とかを使ってるので、その場合はもちっと別になりますよぅ。データベースに接続するユーザ/パスワードを変えたい場合は、ここで一細工入りますから気をつけてくださいねー |
| + | |
| + | **cacti [#fc14d1ca] |
| + | <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 |
| + | |
| + | **cacti-spine [#n003730b] |
| + | /etc/spine.confを、先程のconfig.phpと同様に設定しておきます。 |
| + | DB_Host localhost |
| + | DB_Database cacti |
| + | DB_User cactiuser |
| + | DB_Pass 設定したパスワード |
| + | DB_Port 3306 |
| + | DB_PreG 0 |
| + | |
| + | *カスタマイズ [#x3d52a9a] |
| + | **アクセスしてみて、監視設定を行ってみる。 [#pa7b47f6] |
| + | ブラウザで、http://サーバ名/<cacitのインストール先>にアクセスしてみましょう。cactiの初期設定画面が出てまいります。そこから先の設定は…例えば[[RRDTool+Cactiによるサーバ監視(Linux編)>http://www.aconus.com/~oyaji/suse9.3/cacti_linux.htm]]とか見ると、グラフィカルで分かりやすいですね。参照して設定してみてください。 |
| + | **poller(周期監視処理)を設定する [#t570474b] |
| + | せっかくspine設定したから、それ使用したいですよね。こんな感じ。 |
| + | Console→Settings→Pollerタブ→ |
| + | :enable|ON |
| + | :Poller Type|spine |
| + | 以上です。 |
| + | **CPU温度とHDD温度のグラフつくってみる。 [#y60d6c90] |
| + | さっきの、[[RRDTool+Cactiによるサーバ監視(Linux編)>http://www.aconus.com/~oyaji/suse9.3/cacti_linux2.htm]]に分かりやすく書いてありますね。やってみてやってください。ただし私は、SNMP経由で取得としてます。ヒントは、[[先ほど設定したextTableのMIBオブジェクト>Gentoo Linuxな生活/SNMPで悩む#tdcbac53]]は、.1.3.6.1.4.1.2021.8.1、出力を取得できるextResultオブジェクトは、.1.3.6.1.4.1.2021.8.1.100あたりから取得できるっすよー。 |
| + | |
| + | **できたグラフを、HTMLページにExportしてみる [#y1e7fcb8] |
| + | なんかね…CACTIのページを、直接リモートで表示させてみると、たまにグラフが表示されず、さらにapacheの負荷がズドンと跳ね上がることがあります。こりゃーいかん、ということで、外部参照する為用に、作成したグラフ画面をExportして参照だけできるようにしておきます。 |
| + | Console→Setting→Graph Exportタブ→ |
| + | :Export Method|Classic |
| + | :Export Directory|httpのページを出力したいパスを設定します。 |
| + | |
| + | 後はお好きなようにカスタマイズしてね。私は、1時間毎にグラフを更新して出力するセッティングにしてます。 |
| + | |
| + | *結果 [#s951dd43] |
| + | こんな感じね。ちなみに、CACTI自体は、家からしかアクセス出来ないように設定してあります。外部参照用には、Exportしたグラフを見るようにしてあります。 |
| + | |
| + | &ref(cacti.png); |
| + | |
| + | *追記:10Gbyte超えメモリだと、グラフ化されない件 [#qbb53e56] |
| + | Cactiで、デフォルトでData Templates→ucd/net - Memory - Buffersやucd/net - Memory - Cache、ucd/net - Memory - Freeを使用してメモリ使用率を取得すると、10Gbyteを超えるメモリの使用率がグラフ化されません。 |
| + | |
| + | **なんでか~? [#j01d4624] |
| + | よくよく調べた所、Maximum Valueが10Gbyteに制限されているんですね。この欄にUを設定して見てください。10Gbyte超えの領域がモニタリングされるようになります。 |
| + | **それでもダメな場合 [#i41e1df0] |
| + | 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 |
| + | |
| + | これできちんととられるようになりました。ホッ |