crespo09 发表于 2015-11-23 08:53:57

Nagios监控数据库的方法


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
[*]
[*]}




页: [1]
查看完整版本: Nagios监控数据库的方法