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监控配置
监控服务器:192.168.1.2
MySQL数据授权:
在要监控的MySQL数据库服务器上
mysql> grant usage on *.* to hbchen@192.168.1.2 identified by “hbchen“;
mysql> flush privileges; 在监控服务器上
1》查看当前连接到数据库的连接数
#./check_mysql_health –hostname 192.168.1.2 –username hbchen–password hbchen–mode threads-connected OK – 3 client connection threads | threads_connected=3;10;20 threads_connected=3;10;20 3表示连接数
10 表示warning阀值(默认)
20 表示critical阀值(默认)
据提示跟现实情况定制,可参考{nagios利用插件(check_mysql_replication.pl)监控mysql主从热备}