Nagios监控数据库的方法:
check_mysql_health监控数据库
1、check_mysql_health安装
在监控服务器上安装
- # cd /usr/local/src/tarbag
- # wget http://labs.consol.de/wp-content/uploads/2010/03/check_mysql_health-2.1.1.tar.gz
- # tar zxvf check_mysql_health-2.1.1.tar.gz -C ../software/
- # ./configure \
- –prefix=/usr/local/nagios/ \
- –with-nagios-user=nagios \
- –with-nagios-group=nagios \
- –with-perl=/usr/bin/perl \
- –with-statefiles-dir=/usr/local/nagios/var/tmp \
- –with-perl perl\ 程序运行路径
- –with-statefiles-dir 状态信息文件路径
- # make
- # make install
2、check_mysql_health选项
- Options:
- –hostname
- the database server’s hostname
- –port
- the database’s port. (default: 3306)
- –socket
- the database’s unix socket.
- –username
- the mysql db user
- –password
- the mysql db user’s password
- –database
- the database’s name. (default: information_schema)
- –warning
- the warning range
- –critical
- the critical range
- –mode
- the mode of the plugin. select one of the following keywords:
- connection-time 连接到服务器上的时间
- uptime 服务器运行的时间
- threads-connected 当前连接到数据库的连接数
- threadcache-hitrate 线程缓存命中率
- slave-lag slave落后master多少时间
- slave-io-running slave复制是否正常
- slave-sql-running slave复制是否正常
- qcache-hitrate 查询缓存命中率
- qcache-lowmem-prunes (Query cache entries pruned because of low memory)
- keycache-hitrate (MyISAM key cache hitrate)
- bufferpool-hitrate (InnoDB buffer pool hitrate)
- bufferpool-wait-free (InnoDB buffer pool waits for clean page available)
- log-waits (InnoDB log waits because of a too small log buffer)
- tablecache-hitrate 表缓存命中率
- table-lock-contention 表锁率
- index-usage 索引使用情况
- tmp-disk-tables (Percent of temp tables created on disk)
- slow-queries 慢查询
- long-running-procs 长时间运行的进程
- cluster-ndbd-running ndb节点运行状况
- sql 返回一个数字的任何SQL语句
3、check_mysql_health监控配置
监控服务器:10.59.97.42
MySQL数据授权:
在要监控的MySQL数据库服务器上
- mysql> grant usage on *.* to honyho@10.59.97.42 identified by “honyho@8123“;
- mysql> flush privileges;
在监控服务器上
1》查看当前连接到数据库的连接数
- #./check_mysql_health –hostname 10.59.97.57 –username honyho –password honyho@8123 –mode threads-connected
- OK – 3 client connection threads | threads_connected=3;10;20
- threads_connected=3;10;20
3表示连接数
10 表示warning阀值(默认)
20 表示critical阀值(默认)
#p#
Nagios相关配置
1》配置commands.cfg文件
- define command{
- command_name check_mysql_health
- command_line $USER1$/check_mysql_health –hostname $ARG1$ –username $ARG2$ –password $ARG3$ –warning $ARG4$ –critical $ARG5$ –mode $ARG6$
- }
2》配置121_207_231_17.cfg文件
- define service{
- use local-service
- host_name 121.207.231.17
- service_description threads-connected
- check_command check_mysql_health!10.59.97.57!honyho!honyho@8123!1000!1500!threads-connected
- }
———————————————————–
#p#
nagios-mysql-plugins插件监控数据库
一、安装此插件
- #wget 北北没有给地址
- #tar zxvf nagios-mysql-plugins-0.3.tar.gz -C ../software/
- #cd nagios-mysql-plugins-0.3
- #chmod +x *mysql*
二、插件内容
check_db_mysql.pl 检测mysql是否运行
check_errorlog_mysql.pl 检测mysql数据库错误日志
check_repl_mysql_cnt_slave_hosts.pl 统计连接到从主机数
check_repl_mysql_heartbeat.pl 检测心跳 (安装完默认名字是check_repl_mysql_hearbeat.pl)
check_repl_mysql_io_thread.pl 检测IO线程
check_repl_mysql_read_exec_pos.pl
check_repl_mysql_readonly.pl 检测从是否设置为只读
check_repl_mysql_seconds_behind_master.pl检测从多少时间与主同步
check_repl_mysql_sql_thread.pl 检测SQL线程
perf_mysql.pl 收集性能数据
- perf_mysql.pl -m
- connections,
- thread_cache,
- network_traffic,
- queries,query_cache,
- myisam_key_buffer,
- table_cache,
- temporary_tables,
- tables,
- slow_queries,
- bin_log,uptime,
- innodb_buffer_pool,
- innodb_buffer_pool_io,
- innodb_io,innodb_data,
- innodb_logfile,
- innodb_row_locking,
- innodb_queries
【编辑推荐】