一、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 [email protected] 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
}
-----------------------------------------------------------
二、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