Nagios监控数据库的方法

Nagios监控数据库的方法:

check_mysql_health监控数据库

1、check_mysql_health安装

在监控服务器上安装

 
  1. #cd/usr/local/src/tarbag
  2. #wgethttp://labs.consol.de/wp-content/uploads/2010/03/check_mysql_health-2.1.1.tar.gz
  3. #tarzxvfcheck_mysql_health-2.1.1.tar.gz-C../software/
  4. #./configure\
  5. prefix=/usr/local/nagios/\
  6. with-nagios-user=nagios\
  7. with-nagios-group=nagios\
  8. with-perl=/usr/bin/perl\
  9. with-statefiles-dir=/usr/local/nagios/var/tmp\
  10. –with-perlperl\程序运行路径
  11. –with-statefiles-dir状态信息文件路径
  12. #make
  13. #makeinstall

2、check_mysql_health选项

 
  1. Options:
  2. –hostname
  3. thedatabaseserver’shostname
  4. –port
  5. thedatabase’sport.(default:3306)
  6. –socket
  7. thedatabase’sunixsocket.
  8. –username
  9. themysqldbuser
  10. –password
  11. themysqldbuser’spassword
  12. –database
  13. thedatabase’sname.(default:information_schema)
  14. –warning
  15. thewarningrange
  16. –critical
  17. thecriticalrange
  18. –mode
  19. themodeoftheplugin.selectoneofthefollowingkeywords:
  20. connection-time连接到服务器上的时间
  21. uptime服务器运行的时间
  22. threads-connected当前连接到数据库的连接数
  23. threadcache-hitrate线程缓存命中率
  24. slave-lagslave落后master多少时间
  25. slave-io-runningslave复制是否正常
  26. slave-sql-runningslave复制是否正常
  27. qcache-hitrate查询缓存命中率
  28. qcache-lowmem-prunes(Querycacheentriesprunedbecauseoflowmemory)
  29. keycache-hitrate(MyISAMkeycachehitrate)
  30. bufferpool-hitrate(InnoDBbufferpoolhitrate)
  31. bufferpool-wait-free(InnoDBbufferpoolwaitsforcleanpageavailable)
  32. log-waits(InnoDBlogwaitsbecauseofatoosmalllogbuffer)
  33. tablecache-hitrate表缓存命中率
  34. table-lock-contention表锁率
  35. index-usage索引使用情况
  36. tmp-disk-tables(Percentoftemptablescreatedondisk)
  37. slow-queries慢查询
  38. long-running-procs长时间运行的进程
  39. cluster-ndbd-runningndb节点运行状况
  40. sql返回一个数字的任何SQL语句

3、check_mysql_health监控配置

监控服务器:10.59.97.42

MySQL数据授权:

在要监控的MySQL数据库服务器上

 
  1. mysql>grantusageon*.*tohonyho@10.59.97.42identifiedby“honyho@8123“;
  2. mysql>flushprivileges;

在监控服务器上

1》查看当前连接到数据库的连接数

 
  1. #./check_mysql_health–hostname10.59.97.57–usernamehonyho–passwordhonyho@8123–modethreads-connected
  2. OK–3clientconnectionthreads|threads_connected=3;10;20
  3. threads_connected=3;10;20

3表示连接数

10 表示warning阀值(默认)

20 表示critical阀值(默认)

Nagios相关配置

1》配置commands.cfg文件

 
 
  1. definecommand{
  2. command_namecheck_mysql_health
  3. command_line$USER1$/check_mysql_health–hostname$ARG1$–username$ARG2$–password$ARG3$–warning$ARG4$–critical$ARG5$–mode$ARG6$
  4. }

2》配置121_207_231_17.cfg文件

 
 
  1. defineservice{
  2. uselocal-service
  3. host_name121.207.231.17
  4. service_descriptionthreads-connected
  5. check_commandcheck_mysql_health!10.59.97.57!honyho!honyho@8123!1000!1500!threads-connected
  6. }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Java中的JDBC API来监控MySQL数据库。通过JDBC连接MySQL数据库,然后执行SQL语句,获取需要监控的信息。例如,可以执行SHOW STATUS命令来获取MySQL服务器的状态信息,包括连接数、查询数、线程数、缓存命中率等等。还可以执行SHOW PROCESSLIST命令来查看当前正在执行的SQL语句和连接信息。获取到这些信息后,可以将其记录到日志文件中,或者通过邮件、短信等方式发送给管理员。另外,还可以使用一些开源的Java监控工具,例如C3P0、Druid等,来监控MySQL数据库的连接池状态和执行情况。 ### 回答2: Java可以使用多种方式来监控MySQL数据库。 首先,可以使用JDBC(Java数据库连接) API来连接到MySQL数据库,并执行一些查询语句以获取数据库的状态信息。通过执行SHOW STATUS或SHOW VARIABLES语句,可以获取有关数据库连接数、事务数、锁状态、缓存命中率等性能指标的信息。通过定期执行这些查询,可以实时监控数据库的性能。 其次,可以使用Java的开源数据库连接池框架,如Apache Commons DBCP、HikariCP等,来管理数据库连接池。这些框架提供了一些监控功能,可以通过配置参数来启用。例如,可以设置最大活动连接数和最大空闲连接数,当连接数超过或低于阈值时,可以触发警告或记录日志。 此外,还可以使用开源的监控工具,如Cacti、Nagios、Zabbix等,来监控MySQL数据库。这些工具提供了各种监控指标和图表,可以通过配置参数和脚本来实现对数据库监控和报警。例如,可以监控数据库的CPU和内存使用率、关键查询的响应时间以及慢查询、死锁和连接数等。 最后,可以使用Java的日志框架,如Log4j、Logback等,来记录数据库的日志信息。通过配置日志级别和输出目标,可以将关键的数据库操作和性能指标记录到日志文件中,方便后续分析和故障排查。 总之,Java可以通过JDBC API、数据库连接池框架、监控工具和日志框架等方式来监控MySQL数据库,从而实时获取数据库的状态信息和性能指标,为数据库性能优化和故障排查提供支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值