RDSの監視は、Nagiosで下記のように行っています。
define host { use cloudpack-dummy-host host_name suz-lab-rds address suzlab.xxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com } define service { use cloudpack-service host_name suz-lab-rds service_description dns check_command check-dns-ip-cloudpack!xxx.xxx.xxx.xxx } define service { use cloudpack-service host_name suz-lab-rds service_description mysql check_command check-mysql-cloudpack!user!pass } define host { name cloudpack-dummy-host use generic-host register 0 check_command check-dummy-cloudpack max_check_attempts 1 normal_check_interval 5 retry_check_interval 1 } define service { name cloudpack-service use generic-service register 0 max_check_attempts 3 normal_check_interval 5 retry_check_interval 1 } define command { command_name check-dummy-cloudpack command_line $USER1$/check_dummy 0 } define command { command_name check-mysql-cloudpack command_line $USER1$/check_mysql -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ } define command { command_name check-dns-ip-cloudpack command_line $USER1$/check_dns -H $HOSTADDRESS$ -a $ARG1$ }
(ブログ用に調整しているので、このままでは動作しないかもしれません。)
はじめに、RDSのHOSTとしてのチェックについてですが、RDS自体はPINGが通らないので、NagiosでpingできないHostを監視のようにcheck_dummyコマンドを利用するようにしています。
次に、RDSのフェイルオーバーに関する注意点で紹介したMulti-AZのフェイルオーバー検知として、DNSのチェックも行なっています。