您的位置:首页 > 数据库

Nagios监控数据库的方法

2015-05-27 14:11 369 查看

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阀值(默认)

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  
 
}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: