いろいろ設定して遊んでたPandoraちゃん(PandoraFMSサーバ)ですが、
WebコンソールでPandoraちゃんのdataserverやらnetworkやらがdownする事象が発生してました。
(~going downメッセージ出てすぐに、~going upって出る)
きりのさんと「そのうちなんとかしないとねーあははー」とか話してたけど、
夕食後、
①ログファイルを見て回る
/var/log/messages→特に異常なし、ということで、Pandora用のログファイルを見てみる
PANDORA:/var/log/pandora # ls -al
total 1536
drwxr-xr-x 2 pandora root 4096 Mar 1 00:48 .
drwxr-xr-x 13 root root 4096 Jan 30 13:49 ..
-rw-r--r-- 1 root root 682 Jan 30 13:49 pandora_agent.log
-rw-r--r-- 1 root root 1379840 Mar 1 00:53 pandora_server.error
-rw-r--r-- 1 root root 5066 Feb 26 21:30 pandora_server.error-20130226.bz2
-rw-r--r-- 1 root root 5068 Feb 27 21:30 pandora_server.error-20130227.bz2
-rw-r--r-- 1 root root 5076 Feb 28 21:30 pandora_server.error-20130228.bz2
-rw-rw-rw- 1 root root 64339 Mar 1 00:53 pandora_server.log
-rw-rw-rw- 1 root root 65610 Mar 1 00:48 pandora_server.log.old
-rw-rw-rw- 1 root root 23 Feb 28 21:30 pandora_snmptrap.log
-rw-rw-rw- 1 root root 4 Jan 14 22:11 pandora_snmptrap.log.index
なんかエラーが大量に出てるっぽい(゚д゚lll)
中身を見てみる。
PANDORA:/var/log/pandora # tail -f pandora_server.error
DBD::mysql::db do failed: Incorrect key file for table './pandora/tserver.MYI'; try to repair it at /usr/lib/perl5/PandoraFMS/DB.pm line 579.
(これが延々と続く)PANDORA:/var/log/pandora # tail -f pandora_server.log
2013-03-01 00:38:22 PANDORA [V1] Pandora FMS Server 'PANDORA' unhandled error.
2013-03-01 00:38:22 PANDORA [V1] [E] 'PANDORA': DBD::mysql::db do failed: Incorrect key file for table './pandora/tserver.MYI'; try to repair it at /usr/lib/perl5/PandoraFMS/DB.pm line 579.
(これが延々と続く)
▂▅▇█▓▒░('ω')░▒▓█▇▅▂うわあああああああなんじゃこりゃああああああ
②調べてみる
とりあえず他のとこのPandoraちゃんで同じような事象が発生してないかを調査。
↓
あったあった。(ただしスペイン語を読み解く必要有り)
http://openideas.info/smf/index.php?topic=7204.0;wap2
どうやらこの人も同じようなことで悩んでいたっぽい。
んで、他の人が「これ、MySQLのMyISAMの問題じゃね?」って言って参考ページに誘導されている。
→りくちゃも参考ページ見に行ってみた
→スペイン語だよ!!!orz
→頑張って読む
③tserver.MYIの状況を確認する
エラーの原因はここだとほぼ特定出来たので、データファイルの状況を確認。
※コマンドは前述の参考ページに書いてあったのをそのまま流用
PANDORA:/var/lib/mysql/pandora # myisamchk -c tserver.MYI
Checking MyISAM file: tserver.MYI
Data records: 4 Deleted blocks: 0
myisamchk: warning: Table is marked as crashed
myisamchk: warning: 4 clients are using or haven't closed the table properly
- check file-size
myisamchk: error: Size of datafile is: 396 Should be: 456
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check data record references index: 2
- check data record references index: 3
- check data record references index: 4
- check record links
myisamchk: warning: Found 4 key parts. Should be: 8
MyISAM-table 'tserver.MYI' is corrupted
Fix it using switch "-r" or "-o"
データファイルがクラッシュしとるー!!!(((( ;゚д゚)))アワワワワ
ここできりのさん帰宅。
④データファイルを修復する
きりのさんが帰宅したので、データファイルを修復してもらいました(
参考ページ:http://akkunchoi.github.com/myisam-incorrect-key-file-for-table-try-to-repair-it.html
PANDORA:/var/log/pandora # mysql
mysql> use pandora
Database changed
mysql>
mysql> check table tserver ;
+-----------------+-------+----------+----------------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+-----------------+-------+----------+----------------------------------------------------------+
| pandora.tserver | check | warning | Table is marked as crashed |
| pandora.tserver | check | warning | 4 clients are using or haven't closed the table properly |
| pandora.tserver | check | error | Checksum for key: 3 doesn't match checksum for records |
| pandora.tserver | check | error | Corrupt |
+-----------------+-------+----------+----------------------------------------------------------+
4 rows in set (0.00 sec)
mysql> repair table tserver ;
+-----------------+--------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+-----------------+--------+----------+----------+
| pandora.tserver | repair | status | OK |
+-----------------+--------+----------+----------+
1 row in set (0.00 sec)
mysql> check table tserver ;
+-----------------+-------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+-----------------+-------+----------+----------+
| pandora.tserver | check | status | OK |
+-----------------+-------+----------+----------+
1 row in set (0.00 sec)
mysql> quit
このあと、りくちゃさんが先ほどのコマンドを実行。
PANDORA:/var/lib/mysql/pandora # myisamchk -c tserver.MYI
Checking MyISAM file: tserver.MYI
Data records: 4 Deleted blocks: 0
- check file-size
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check data record references index: 2
- check data record references index: 3
- check data record references index: 4
- check record links
あっ、修復されたっぽい!!
ということで、様子を見てみることにしました。。。
⑤思わぬ落とし穴
きりのさん「(カチャカチャ...)ん?Pandoraちゃん、サーバプロセスいなくない?」
りくちゃ「えーまさかー」
PANDORA:/etc/pandora # pstree
init---cannaserver
--console-kit-dae---64*[{console-kit-da}]
--cron
--dbus-daemon
--httpd2-prefork---10*[httpd2-prefork]
--klogd
--login---bash
--5*[mingetty]
--mysqld_safe---mysqld---9*[{mysqld}]
--nscd---8*[{nscd}]
--pandora_agent
--polkitd---{polkitd}
--rpcbind
--sshd---2*[sshd---sshd---bash---su---bash---view]
x --sshd---sshd---bash---su---bash
x --sshd---sshd---bash---su---bash---pstree
x --sshd---bash
--syslogd
--tentacle_server
--udevd---2*[udevd]
ホントだ( Д ) ゚ ゚
Pandoraサーバのrestartかけました。
PANDORA:/etc/pandora # pstree
init---cannaserver
--console-kit-dae---64*[{console-kit-da}]
--cron
--dbus-daemon
--httpd2-prefork---10*[httpd2-prefork]
--klogd
--login---bash
--5*[mingetty]
--mysqld_safe---mysqld---20*[{mysqld}]
--nscd---8*[{nscd}]
--pandora_agent
--pandora_server---sh---snmpget
x --10*[{pandora_server}]
--polkitd---{polkitd}
--rpcbind
--snmptrapd
--sshd---2*[sshd---sshd---bash---su---bash---view]
x --sshd---sshd---bash---su---bash
x --sshd---sshd---bash---su---bash---pstree
x --sshd---bash
--syslogd
--tentacle_server
--udevd---2*[udevd]
めでたしめでたし。
教訓:psでプロセスの確認はしようね。
そのあとも監視継続中ですが、~going downが出なくなりました。
pandora_server落ちてたのに他のネットワーク機器の監視ができてたので、
その日は寝るまでpandoraちゃんすげぇとか言ってました。
このとらしゅのおかげで、本日は睡眠不足です。
そろそろpandoraちゃんのバージョンアップを検討中。