f:id:riala:20140715195510j:plain

あずにゃん「なんでそんなにメール大量に受信してるんですか?」

今日は、nagiosでMySQLの監視登録を行い、登録の手順方法を学ぶといった内容。

監視を行うことによって、アラートを飛ばすのがごく一般的な使われ方だそうな。
例えば、MySQLのプロセスが落ちました→MySQL止まりましたよ?みたいなアラートですね。
あずにゃんの行動を逐一メールでアラート飛ばしてればそれはメールサーバもパンクしますよ。

下記、登録手順。

MySQL監視用プラグインがインストールされているかの確認。

# ls /usr/lib/nagios/plugins/
check_apt       check_ide_smart     check_ntp       check_ssmtp
check_breeze    check_ifoperstatus  check_ntp_peer  check_swap
check_by_ssh    check_ifstatus      check_ntp_time  check_tcp
check_clamd     check_imap          check_nwstat    check_time
check_cluster   check_ircd          check_oracle    check_udp
check_dhcp      check_jabber        check_overcr    check_ups
check_dig       check_ldap          check_pgsql     check_users
check_disk      check_ldaps         check_ping      check_wave
check_disk_smb  check_load          check_pop       contrib
check_dns       check_log           check_procs     eventhandlers
check_dummy     check_mailq         check_radius    negate
check_file_age  check_mrtg          check_real      plugins.pm
check_flexlm    check_mrtgtraf      check_rpc       urlize
check_fping     check_mysql         check_sensors   utils.pm
check_ftp       check_mysql_query   check_simap     utils.py
check_game      check_nagios        check_smtp      utils.pyc
check_hpjd      check_nntp          check_snmp      utils.sh
check_http      check_nntps         check_spop
check_icmp      check_nt            check_ssh

grepでcheck_mysqlとcheck_mysql_queryがあればokです。
無ければ、下記よりプラグインのダウンロードを行えばよろし。

# yum --enablerepo=epel -y install nagios nagios-plugins nagios-plugins-all


MySQLへ接続を行うための設定
下記内容は、末尾に追加。

# vi /usr/local/nagios/etc/objects/commands.cfg
define command{
       command_name    check_mysql
       command_line    $USER1$/check_mysql -u username -p password
       }

usernameと、passwordは、MySQLのユーザの情報となります。適宜置き換えること。

# vi /usr/local/nagios/etc/objects/localhost.cfg
define service{
        use                             local-service
        host_name                       localhost
        service_description             MySQL
        check_command                   check_mysql
        notifications_enabled           0
        }


以上で、設定は終了となります。

nagiosの再起動

# service nagios restart


ブラウザから http://サーバー名/nagios/ にアクセスし、メニューの「Services」より、今回追加を行ったMySQLがあるかを確認する。

設定がうまくいっていれば、Statusがokとなっています。

試しにMySQLのプロセスを止めてみましょう。

# /etc/init.d/mysqld stop


しばらくすると、nagiosよりMySQLに接続できなくなったことが表示されます。

とりあえず、登録手順は把握できたので、どこまで細かい設定ができるか等、次回まったり更新予定。