MySQLのクエリを監視してグラフ化してみる

今日はNagiosExchangeにある「check_mysql」を試します。
特にmysqlの性能監視に使えそうです。

設定


設定方法を簡単にまとめます。コマンドを定義します。

define command{
        command_name    check_mysqld
        command_line    $USER1$/check_mysqld.pl -H localhost -u $ARG1$ -p $ARG2$ -a uptime,threads_connected,questions,slow_queries,open_tables -w ',,,,' -c ',,,,' -A $USER21$
}


「services.cfg」の設定です。

define  service{
        use                     generic-service
        host_name               mon0
        service_description     MySQL:QueryPattern
        check_command           check_mysqld_full!<mysqluser>!mysqlpass
}


「-A」オプションの値を定義するのが大変なので、ユーザ定義変数として設定します。

$USER21$='com_commit,com_rollback,com_delete,com_update,com_insert,com_insert_select,com_select,qcache_hits,qcache_inserts,qcache_not_cached,questions,bytes_sent,bytes_received,aborted_clients,aborted_connects,binlog_cache_disk_use,binlog_cache_use,connections,created_tmp_disk_tables,created_tmp_files,created_tmp_tables,delayed_errors,delayed_insert_threads,delayed_writes,handler_update,handler_write,handler_delete,handler_read_first,handler_read_key,handler_read_next,handler_read_prev,handler_read_rnd,handler_read_rnd_next,key_blocks_not_flushed,key_blocks_unused,key_blocks_used,key_read_requests,key_reads,key_write_requests,key_writes,max_used_connections,not_flushed_delayed_rows,open_files,open_streams,open_tables,opened_tables,prepared_stmt_count,qcache_free_blocks,qcache_free_memory,qcache_lowmem_prunes,qcache_queries_in_cache,qcache_total_blocks,select_full_join,select_rangle_check,slow_launch_threads,slow_queries,table_locks_immediate,table_locks_waited,threads_cached,threads_connected,threads_created,threads_running'


監視を実行した結果はこんな感じです。



pnp4nagiosのテンプレートを利用すると、こんな感じでグラフ化する事も可能です。



今日はこんな所で。