SlideShare a Scribd company logo
mon, munin による楽々監視生活   桑野 章弘
アジェンダ 自己紹介 監視、、、嫌いなんです。 監視の種類 実際の手順 [munin 編 ] 実際の手順 [mon 編 ] まとめ
自己紹介
自己紹介 桑野 章弘 id: akuwano twitter: @kuwa_tw 渋谷で働く IT 企業 インフラエンジニア 最近は自分でも何やってんのかわからなくなってきた 趣味は最近はスマートフォンかな? NexusOne を持っておりますが、 iPhone ユーザとアイデンティティを戦わせたりするのが好きです。
qpstudy 最初の一発目とか 恥ずかしいんですが、、、
はじめさせて頂きます お題は、、、
監視、、、嫌いなんです。
何が嫌いってメンドクサイ 好きです? やれサーバ足しただの やれサーバ外しただの スペックが変わったとか 毎回変えるの? なんやかんやですよ てんやわんやですよ とにかく嫌なんです!めんどくさいんです!さよなら!
でもね、、、 監視って大事なんです 定常的に見ないとわからないもの 突発的に出てくる負荷 トラブルシューティング時に大活躍 寝た子を起こされたりとかもしますけど やっぱり離れられない!
と言うわけで 監視を出来るだけ簡単にやってみましょうと言うコンセプト。 スパッと。
監視の種類
こんなのがあります トレンドの監視 障害監視
トレンドの監視 リソースを追ったり 負荷の増減状況をみたり サービス状況のログ取得と言う意味の監視 予防の監視 =munin
障害監視 サーバが落ちたり 書き込みが出来なかったり 事象が起こることを監視するという意味の監視 検知の監視 =mon
こんなのでいきましょう トレンドの監視 =munin 障害監視 =mon
実際の手順 [Munin 編 ]
munin とは perl ベースでかかれた監視ツール(カラスの意味らしいです) データ取得は cron で一定期間毎に polling する形式(デフォルト 5 分)
Overview サーバ cron で polling クライアント群 HTML ファイル
Munin[Index]
Munin[ 日時 ]
インストール パッケージで簡単 このさい RPMforge 使いましょうw Debian 系は APT で OK #####  サーバインストール # rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt # rpm -ihv http://apt.sw.be/redhat/el5/en/x86_64/RPMS.dag/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm # yum update # yum install munin.noarch #####  クライアントインストール # yum install munin-node.noarch #####  サーバインストール (debian/ubuntu) # aptitude install munin #####  クライアントインストール (debian/ubuntu) # aptitude install munin-node
設定 [ サーバ側 ] 取得先のサーバ(エージェントが動いてるサーバ)を記述するだけで簡単 処理が多い時は [max_processes] もいじるといいよ vi /etc/munin/munin.conf (snip) ###  データ取得先サーバの設定  ### ### db server ### [db.example.com;hoge-db01] address 192.168.0.11 use_node_name yes [db.example.com;hoge-db02] address 192.168.0.12 use_node_name yes グループ名 ホスト名 IP アドレス
設定 [ クライアント側 ] エージェントを起動するだけでアラ簡単! でも取得データを増やしたい場合は /etc/munin/plugins にスクリプトおいて、  /etc/munin/ plugin-conf.d/ にスクリプト毎の設定をおきましょう vi /etc/munin/munin-node.conf (snip) ### Munin サーバの IP 許可設定  ### allow ^192168010$ ###  取得データの変更 MySQL 関連のパラメータを取得したい  ### # ln –s  /usr/share/munin/plugins/mysql_bytes  /etc/munin/plugins/mysql_bytes cat <<‘EOF’ > plugin-conf.d/mysql [mysql*] env.mysqladmin /usr/bin/mysqladmin env.mysqlopts -udbadmin -h127.0.0.1 EOF ###  エージェント起動  ### /etc/init.d/munin-node start  
その他の運用 Web ページはテンプレートでカスタマイズ可能 /etc/munin/templates/ 以下にテンプレートがあるのでそれを編集してカスタマイズできます 独自の監視もスクリプトで簡単!
独自スクリプト #!/bin/bash MeasurementMode=min #MeasurementMode=sec DATE=`date  +%Y-%m-%d` LOG_FILE=&quot;/usr/local/tomcat/logs/hoge.log&quot; GREP_TEXT_E=&quot;ERROR&quot; GREP_TEXT_W=&quot;WARN&quot; TARGET_MINUTE=`LANG=C date +%H:%M --date '1 minutes ago'` TARGET_SECOND=`LANG=C date +%H:%M:%S --date '1 minutes ago'` ECHO=/bin/echo GREP=/bin/grep WC=/usr/bin/wc TAIL=/usr/bin/tail CAT=/bin/cat
独自スクリプト if [ &quot;$1&quot; == &quot;config&quot; ]; then $ECHO &quot;graph_title log exception count $LOG_FILE&quot;; $ECHO &quot;graph_vlabel request /$MeasurementMode&quot;; $ECHO &quot;graph_category ExceptionCount&quot;; $ECHO &quot;graph_order ERROR WARN&quot;; $ECHO &quot;ERROR.label ERROR*100&quot;; $ECHO &quot;ERROR.min 0&quot;; $ECHO &quot;ERROR.max 1000&quot;; $ECHO &quot;ERROR.draw AREA&quot;; $ECHO &quot;WARN.label WARN&quot;; $ECHO &quot;WARN.min 0&quot;; $ECHO &quot;WARN.max 1000&quot;; $ECHO &quot;WARN.draw STACK&quot;; exit 0; fi
独自スクリプト if [ &quot;$MeasurementMode&quot; == &quot;min&quot; ]; then TARGET_BETWEEN_TIME=$TARGET_MINUTE TAIL_LINE_CNT=10000 else TARGET_BETWEEN_TIME=$TARGET_SECOND TAIL_LINE_CNT=1000 fi count=`$TAIL -n $TAIL_LINE_CNT $LOG_FILE | $GREP &quot;$TARGET_BETWEEN_TIME&quot; | $GREP &quot;$GREP_TEXT_E&quot; | $WC -l` $ECHO $GREP_TEXT_E.value $(($count*100)) count=`$TAIL -n $TAIL_LINE_CNT $LOG_FILE | $GREP &quot;$TARGET_BETWEEN_TIME&quot; | $GREP &quot;$GREP_TEXT_W&quot; | $WC -l` $ECHO $GREP_TEXT_W.value $count
実際の手順 [Mon 編 ]
mon とは perl ベースでかかれた監視ツール( Service Monitoring Daemon ) Unisys の人が作ってたみたいだけど更新は止まってる模様 えーと、間違えました、枯れてます
Overview
インストール やっぱりパッケージで簡単 ##### mon のインストール # yum install mon.x86_64 ##### mon のインストール (debian/ubuntu) aptitude install mon
設定 [ サーバ側 ] [mon.cf] に取得先のサーバを記述するだけで簡単 #################################################################### #  監視先サーバの設定 #################################################################### hostgroup hoge-www-servers  192.168.0.10 192.168.0.11 192.168.0.12 hostgroup fuga-db-servers  192.168.0.11 192.168.0.12
設定 [ サーバ側 ] [mon.cf] に取得先のサーバを記述するだけで簡単 #################################################################### #  サービス監視の設定  #################################################################### watch hoge-servers service ping interval 10s monitor fping.monitor period wd {Sun-Sat} alertevery 3m alertafter 18 3m alert mail.alert -f alert@example.com hoge-alert@example.com upalert mail.alert -f alert@example.com -S “TITLE&quot; -u hoge-alert@example.com service http interval 3m monitor http.monitor -p 80 -u &quot;/url/check.html&quot; allow_empty_group period wd {Sun-Sat} alertevery 9m alertafter 3 9m alert apache_tomcat-restart.alert alert mail.alert -f alert@example.com hoge-alert@example.com upalert mail.alert -f alert@example.com -S “TITLE&quot; -u hoge-alert@example.com
設定 [ クライアント側 ] なんもいらんです!簡単の極み! SSH させてとかやるならいる場合もあります
運用 Web のコンソール [mon.cgi] CLI  インターフェース  [moncmd/monshow] Monitor スクリプト Alert スクリプト
Web のコンソール [mon.cgi] Web のコンソール [mon.cgi]
mon.cgi
monshow CLI  インターフェース  [moncmd] mon.cgi でやれることを CLI でも出来ます。 設定の確認や、現在のステータス確認
CLI  インターフェース  [moncmd/monshow] CLI  インターフェース  [monshow] # /usr/local/mon/clients/monshow --full server: localhost time: Thu May 20 11:38:30 2010 state: scheduler running GROUP  SERVICE  STATUS  LAST  NEXT  ALERTS SUMMARY R hoge-w-both-mys load_average untested  untested  7s  none R hoge-w-both-bat hoge-w-both- -  10s  1s  none R hoge-both-info- df_check_80  -  79s  00:28:24  none R hoge-both-info- df_check_90  -  00:01:55  00:27:48  none R hoge-c-both-mys hoge-c-both- -  00:01:53  00:01:06  none R hoge-c-pc-info- hoge-c-pc-cr -  7s  4s  none R hoge-c-both-net hoge-c-both- -  7s  4s  none R hoge-w-both-api hoge-w-both- -  10s  1s  none R hoge-both-batch df_check_80  -  64s  00:28:37  none R hoge-both-batch df_check_90  -  00:01:37  00:28:06  none R hoge-w-both-mys hoge-w-both- -  00:02:13  46s  none R hoge-w-both-nod hoge-w-both- -  7s  4s  none R hoge-w-both-com ntp  -  00:01:52  00:27:51  none R hoge-both-chat- df_check_80  -  70s  00:28:31  none
CLI  インターフェース  [moncmd/monshow] CLI  インターフェース  [moncmd] mon.cgi でやれることを CLI でも出来ます。 config のチェック config の確認 監視の有効・無効 監視項目のテスト リリーススクリプトに組み込むと便利です
moncmd ##### config  チェック # /usr/local/mon/clients/moncmd test config 220 test config completed OK, no errors found #####  チェック 監視(有効 / 無効) # /usr/local/mon/clients/moncmd (enable|disable) service &quot;group&quot; &quot;service“ # /usr/local/mon/clients/moncmd (enable|disable) watch &quot;watch“ # /usr/local/mon/clients/moncmd (enable|disable) host  “host“ #####  現監視項目のリスト # /usr/local/mon/clients/moncmd list watch hoge-servers ping hoge-servers http
Monitor スクリプト 細かい監視も可能
Monitor スクリプト #!/bin/sh #MYSQL MYSQL_USER=‘dbcheck’' MYSQL_PASSWORD=‘hogehoge' MYSQL_BASE='/usr/bin/mysql' MYSQL_COMMAND='SHOW SLAVE STATUS' MYSQL_GREP='Seconds_Behind_Master' RET='' ## HOST CHECK LOOP for host in &quot;$@&quot; do #EXEC RET=`&quot;${MYSQL_BASE}&quot; -h &quot;$host&quot; -u${MYSQL_USER} -p${MYSQL_PASSWORD} -e &quot;${MYSQL_COMMAND}&quot;|grep ${MYSQL_GREP}|awk '{print $2}'` #RET CHECK if [ &quot;${RET}&quot; != 0 ] then if [ &quot;$failed&quot; = &quot;&quot; ] then failed=&quot;$host:${RET}&quot; else failed=&quot;$failed $host:${RET}&quot; fi fi done ## ERROR CHECK if [ &quot;$failed&quot; != &quot;&quot; ] then echo &quot;$failed&quot;  echo &quot;${MYSQL_GREP}:$failed&quot; exit 1 fi # OK RETURN exit 0
Alert スクリプト alert ディレクティブに書いた物は障害時すべて実行される メール送信+ Apache 再起動+ Tomcat 再起動とかも可能
Alert スクリプト #!/usr/bin/perl use Getopt::Std; getopts (&quot;s:g:h:t:l:u&quot;); $summary=<STDIN>; chomp $summary; $t = localtime($opt_t); ($wday,$mon,$day,$tm) = split (/+/, $t); print <<EOF; アラート送信 グループ : $opt_g,  サービス  $opt_s EOF print &quot; アップアラートはこっち &quot; if ($opt_u); print <<EOF; 障害時間  $wday $mon $day $tm 障害サマリ : $summary EOF
まとめ
mon とか munin て結構簡単 恐らく OSS の監視アプリの中でも 1 、 2 を争うくらい簡単 でも作りこみによっては細かく設定できます 大規模になってくると問題はありますけど、、、 既にやってますしw なんとかなります。 お手軽監視に Munin と mon はいかがでしょうか!
ざっくり説明 でしたので、もっと細かい話をと言う方は、、、 懇親会でお願いします!
ご清聴ありがとうございました

More Related Content

Mon, Muninによる楽々監視生活

  • 2. アジェンダ 自己紹介 監視、、、嫌いなんです。 監視の種類 実際の手順 [munin 編 ] 実際の手順 [mon 編 ] まとめ
  • 4. 自己紹介 桑野 章弘 id: akuwano twitter: @kuwa_tw 渋谷で働く IT 企業 インフラエンジニア 最近は自分でも何やってんのかわからなくなってきた 趣味は最近はスマートフォンかな? NexusOne を持っておりますが、 iPhone ユーザとアイデンティティを戦わせたりするのが好きです。
  • 8. 何が嫌いってメンドクサイ 好きです? やれサーバ足しただの やれサーバ外しただの スペックが変わったとか 毎回変えるの? なんやかんやですよ てんやわんやですよ とにかく嫌なんです!めんどくさいんです!さよなら!
  • 9. でもね、、、 監視って大事なんです 定常的に見ないとわからないもの 突発的に出てくる負荷 トラブルシューティング時に大活躍 寝た子を起こされたりとかもしますけど やっぱり離れられない!
  • 13. トレンドの監視 リソースを追ったり 負荷の増減状況をみたり サービス状況のログ取得と言う意味の監視 予防の監視 =munin
  • 14. 障害監視 サーバが落ちたり 書き込みが出来なかったり 事象が起こることを監視するという意味の監視 検知の監視 =mon
  • 17. munin とは perl ベースでかかれた監視ツール(カラスの意味らしいです) データ取得は cron で一定期間毎に polling する形式(デフォルト 5 分)
  • 18. Overview サーバ cron で polling クライアント群 HTML ファイル
  • 21. インストール パッケージで簡単 このさい RPMforge 使いましょうw Debian 系は APT で OK ##### サーバインストール # rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt # rpm -ihv http://apt.sw.be/redhat/el5/en/x86_64/RPMS.dag/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm # yum update # yum install munin.noarch ##### クライアントインストール # yum install munin-node.noarch ##### サーバインストール (debian/ubuntu) # aptitude install munin ##### クライアントインストール (debian/ubuntu) # aptitude install munin-node
  • 22. 設定 [ サーバ側 ] 取得先のサーバ(エージェントが動いてるサーバ)を記述するだけで簡単 処理が多い時は [max_processes] もいじるといいよ vi /etc/munin/munin.conf (snip) ### データ取得先サーバの設定 ### ### db server ### [db.example.com;hoge-db01] address 192.168.0.11 use_node_name yes [db.example.com;hoge-db02] address 192.168.0.12 use_node_name yes グループ名 ホスト名 IP アドレス
  • 23. 設定 [ クライアント側 ] エージェントを起動するだけでアラ簡単! でも取得データを増やしたい場合は /etc/munin/plugins にスクリプトおいて、 /etc/munin/ plugin-conf.d/ にスクリプト毎の設定をおきましょう vi /etc/munin/munin-node.conf (snip) ### Munin サーバの IP 許可設定 ### allow ^192168010$ ### 取得データの変更 MySQL 関連のパラメータを取得したい ### # ln –s /usr/share/munin/plugins/mysql_bytes /etc/munin/plugins/mysql_bytes cat <<‘EOF’ > plugin-conf.d/mysql [mysql*] env.mysqladmin /usr/bin/mysqladmin env.mysqlopts -udbadmin -h127.0.0.1 EOF ### エージェント起動 ### /etc/init.d/munin-node start  
  • 24. その他の運用 Web ページはテンプレートでカスタマイズ可能 /etc/munin/templates/ 以下にテンプレートがあるのでそれを編集してカスタマイズできます 独自の監視もスクリプトで簡単!
  • 25. 独自スクリプト #!/bin/bash MeasurementMode=min #MeasurementMode=sec DATE=`date +%Y-%m-%d` LOG_FILE=&quot;/usr/local/tomcat/logs/hoge.log&quot; GREP_TEXT_E=&quot;ERROR&quot; GREP_TEXT_W=&quot;WARN&quot; TARGET_MINUTE=`LANG=C date +%H:%M --date '1 minutes ago'` TARGET_SECOND=`LANG=C date +%H:%M:%S --date '1 minutes ago'` ECHO=/bin/echo GREP=/bin/grep WC=/usr/bin/wc TAIL=/usr/bin/tail CAT=/bin/cat
  • 26. 独自スクリプト if [ &quot;$1&quot; == &quot;config&quot; ]; then $ECHO &quot;graph_title log exception count $LOG_FILE&quot;; $ECHO &quot;graph_vlabel request /$MeasurementMode&quot;; $ECHO &quot;graph_category ExceptionCount&quot;; $ECHO &quot;graph_order ERROR WARN&quot;; $ECHO &quot;ERROR.label ERROR*100&quot;; $ECHO &quot;ERROR.min 0&quot;; $ECHO &quot;ERROR.max 1000&quot;; $ECHO &quot;ERROR.draw AREA&quot;; $ECHO &quot;WARN.label WARN&quot;; $ECHO &quot;WARN.min 0&quot;; $ECHO &quot;WARN.max 1000&quot;; $ECHO &quot;WARN.draw STACK&quot;; exit 0; fi
  • 27. 独自スクリプト if [ &quot;$MeasurementMode&quot; == &quot;min&quot; ]; then TARGET_BETWEEN_TIME=$TARGET_MINUTE TAIL_LINE_CNT=10000 else TARGET_BETWEEN_TIME=$TARGET_SECOND TAIL_LINE_CNT=1000 fi count=`$TAIL -n $TAIL_LINE_CNT $LOG_FILE | $GREP &quot;$TARGET_BETWEEN_TIME&quot; | $GREP &quot;$GREP_TEXT_E&quot; | $WC -l` $ECHO $GREP_TEXT_E.value $(($count*100)) count=`$TAIL -n $TAIL_LINE_CNT $LOG_FILE | $GREP &quot;$TARGET_BETWEEN_TIME&quot; | $GREP &quot;$GREP_TEXT_W&quot; | $WC -l` $ECHO $GREP_TEXT_W.value $count
  • 29. mon とは perl ベースでかかれた監視ツール( Service Monitoring Daemon ) Unisys の人が作ってたみたいだけど更新は止まってる模様 えーと、間違えました、枯れてます
  • 31. インストール やっぱりパッケージで簡単 ##### mon のインストール # yum install mon.x86_64 ##### mon のインストール (debian/ubuntu) aptitude install mon
  • 32. 設定 [ サーバ側 ] [mon.cf] に取得先のサーバを記述するだけで簡単 #################################################################### # 監視先サーバの設定 #################################################################### hostgroup hoge-www-servers 192.168.0.10 192.168.0.11 192.168.0.12 hostgroup fuga-db-servers 192.168.0.11 192.168.0.12
  • 33. 設定 [ サーバ側 ] [mon.cf] に取得先のサーバを記述するだけで簡単 #################################################################### # サービス監視の設定 #################################################################### watch hoge-servers service ping interval 10s monitor fping.monitor period wd {Sun-Sat} alertevery 3m alertafter 18 3m alert mail.alert -f [email protected] [email protected] upalert mail.alert -f [email protected] -S “TITLE&quot; -u [email protected] service http interval 3m monitor http.monitor -p 80 -u &quot;/url/check.html&quot; allow_empty_group period wd {Sun-Sat} alertevery 9m alertafter 3 9m alert apache_tomcat-restart.alert alert mail.alert -f [email protected] [email protected] upalert mail.alert -f [email protected] -S “TITLE&quot; -u [email protected]
  • 34. 設定 [ クライアント側 ] なんもいらんです!簡単の極み! SSH させてとかやるならいる場合もあります
  • 35. 運用 Web のコンソール [mon.cgi] CLI インターフェース [moncmd/monshow] Monitor スクリプト Alert スクリプト
  • 36. Web のコンソール [mon.cgi] Web のコンソール [mon.cgi]
  • 38. monshow CLI インターフェース [moncmd] mon.cgi でやれることを CLI でも出来ます。 設定の確認や、現在のステータス確認
  • 39. CLI インターフェース [moncmd/monshow] CLI インターフェース [monshow] # /usr/local/mon/clients/monshow --full server: localhost time: Thu May 20 11:38:30 2010 state: scheduler running GROUP SERVICE STATUS LAST NEXT ALERTS SUMMARY R hoge-w-both-mys load_average untested untested 7s none R hoge-w-both-bat hoge-w-both- - 10s 1s none R hoge-both-info- df_check_80 - 79s 00:28:24 none R hoge-both-info- df_check_90 - 00:01:55 00:27:48 none R hoge-c-both-mys hoge-c-both- - 00:01:53 00:01:06 none R hoge-c-pc-info- hoge-c-pc-cr - 7s 4s none R hoge-c-both-net hoge-c-both- - 7s 4s none R hoge-w-both-api hoge-w-both- - 10s 1s none R hoge-both-batch df_check_80 - 64s 00:28:37 none R hoge-both-batch df_check_90 - 00:01:37 00:28:06 none R hoge-w-both-mys hoge-w-both- - 00:02:13 46s none R hoge-w-both-nod hoge-w-both- - 7s 4s none R hoge-w-both-com ntp - 00:01:52 00:27:51 none R hoge-both-chat- df_check_80 - 70s 00:28:31 none
  • 40. CLI インターフェース [moncmd/monshow] CLI インターフェース [moncmd] mon.cgi でやれることを CLI でも出来ます。 config のチェック config の確認 監視の有効・無効 監視項目のテスト リリーススクリプトに組み込むと便利です
  • 41. moncmd ##### config チェック # /usr/local/mon/clients/moncmd test config 220 test config completed OK, no errors found ##### チェック 監視(有効 / 無効) # /usr/local/mon/clients/moncmd (enable|disable) service &quot;group&quot; &quot;service“ # /usr/local/mon/clients/moncmd (enable|disable) watch &quot;watch“ # /usr/local/mon/clients/moncmd (enable|disable) host “host“ ##### 現監視項目のリスト # /usr/local/mon/clients/moncmd list watch hoge-servers ping hoge-servers http
  • 43. Monitor スクリプト #!/bin/sh #MYSQL MYSQL_USER=‘dbcheck’' MYSQL_PASSWORD=‘hogehoge' MYSQL_BASE='/usr/bin/mysql' MYSQL_COMMAND='SHOW SLAVE STATUS' MYSQL_GREP='Seconds_Behind_Master' RET='' ## HOST CHECK LOOP for host in &quot;$@&quot; do #EXEC RET=`&quot;${MYSQL_BASE}&quot; -h &quot;$host&quot; -u${MYSQL_USER} -p${MYSQL_PASSWORD} -e &quot;${MYSQL_COMMAND}&quot;|grep ${MYSQL_GREP}|awk '{print $2}'` #RET CHECK if [ &quot;${RET}&quot; != 0 ] then if [ &quot;$failed&quot; = &quot;&quot; ] then failed=&quot;$host:${RET}&quot; else failed=&quot;$failed $host:${RET}&quot; fi fi done ## ERROR CHECK if [ &quot;$failed&quot; != &quot;&quot; ] then echo &quot;$failed&quot; echo &quot;${MYSQL_GREP}:$failed&quot; exit 1 fi # OK RETURN exit 0
  • 44. Alert スクリプト alert ディレクティブに書いた物は障害時すべて実行される メール送信+ Apache 再起動+ Tomcat 再起動とかも可能
  • 45. Alert スクリプト #!/usr/bin/perl use Getopt::Std; getopts (&quot;s:g:h:t:l:u&quot;); $summary=<STDIN>; chomp $summary; $t = localtime($opt_t); ($wday,$mon,$day,$tm) = split (/+/, $t); print <<EOF; アラート送信 グループ : $opt_g, サービス $opt_s EOF print &quot; アップアラートはこっち &quot; if ($opt_u); print <<EOF; 障害時間 $wday $mon $day $tm 障害サマリ : $summary EOF
  • 47. mon とか munin て結構簡単 恐らく OSS の監視アプリの中でも 1 、 2 を争うくらい簡単 でも作りこみによっては細かく設定できます 大規模になってくると問題はありますけど、、、 既にやってますしw なんとかなります。 お手軽監視に Munin と mon はいかがでしょうか!

Editor's Notes

  1. Spider Storage Engine はおいておくw
  2. Spider Storage Engine はおいておくw
  3. Spider Storage Engine はおいておくw
  4. Spider Storage Engine はおいておくw
  5. Spider Storage Engine はおいておくw
  6. Spider Storage Engine はおいておくw
  7. Spider Storage Engine はおいておくw
  8. Spider Storage Engine はおいておくw
  9. Spider Storage Engine はおいておくw
  10. Spider Storage Engine はおいておくw
  11. Spider Storage Engine はおいておくw
  12. Spider Storage Engine はおいておくw
  13. Spider Storage Engine はおいておくw
  14. Spider Storage Engine はおいておくw
  15. Spider Storage Engine はおいておくw
  16. Spider Storage Engine はおいておくw
  17. Spider Storage Engine はおいておくw
  18. Spider Storage Engine はおいておくw
  19. Spider Storage Engine はおいておくw
  20. Spider Storage Engine はおいておくw
  21. Spider Storage Engine はおいておくw
  22. Spider Storage Engine はおいておくw
  23. Spider Storage Engine はおいておくw
  24. Spider Storage Engine はおいておくw
  25. Spider Storage Engine はおいておくw
  26. Spider Storage Engine はおいておくw
  27. Spider Storage Engine はおいておくw
  28. Spider Storage Engine はおいておくw
  29. Spider Storage Engine はおいておくw