MySQLの監視

最近、MySQLが落ちてしまうことがあり、原因が特定できずに、その都度調べて対処しているが、落ちてしまっても、気づかないことがある。

HTTPならば、80番ポートを監視していれば良い。MySQLの場合どうしたらいいのか、調べた。

方法1 コマンドラインからの確認

# mysqladmin -h 127.0.0.1 -P 3306 -u root ping
mysqladmin: connect to server at '127.0.0.1' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

mysqlにコマンドを送ると、反応があるとのこと。

mysqlを停めて実行すると

# mysqladmin -h 127.0.0.1 -P 3306 -u root ping
mysqladmin: connect to server at '127.0.0.1' failed
error: 'Can't connect to MySQL server on '127.0.0.1' (115)'
Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock' exists!

こんな感じで、エラーの出方が違うので、cron等で組み込み、メール送信すれば良い。

でも、今回はサクッとやりたい。

方法2 uptimerebotを使用する

https://uptimerobot.com/ を使ってみる。httpやping、port指定で監視が出来る。
WordPressで、MySQLのエラー時は、httpエラーコード500を出すようだが、検知設定がない。
そこで、 Keywordというのもあったで利用することにする。

WordPressで使っているので、MySQLが落ちると、ホームページ上に「Error establishing a database connection」という表示がされている。これをここに指定した。

ただ、Wordpressによっては、日本語表示されているのですが、その場合、日本語で記載しても、エラー検知されなかった。エラー時のウェブのソースを見ても、イマイチ使えるキーワードがなかった。

時間があるときに、もっとしっかり組み込みたい

参考にしたサイト

第12回 MySQLのヘルスチェックをする[死活監視の基礎編]MySQLを本番で運用する場合,ヘルスチェック(監視)は欠かせません。
第12回 MySQLのヘルスチェックをする[死活監視の基礎編] gihyo.jp
第12回 MySQLのヘルスチェックをする[死活監視の基礎編]

参考になった方、誤りを見つけた等、コメントを残してくれるとうれしいです。

Loading Facebook Comments ...

コメントする

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

No Trackbacks.