安装mysql之后,需要对mysql服务进行监控。

 
nagios开源自带的check_mysql 对 mysql 的slave 机监控倒是不错。但是对数据库主机监控就略显不足了。
 
使用一个监控插件:check_mysql_health
 
下载和使用方法见:
 
http://exchange.nagios.org/directory/MySQL/check_mysql_health/details
 
具体监控:
 
对于slave 机 ,使用nagios 自带的 check_mysql 监控
 
command[check_mysql_slave]=/usr/local/nagios/libexec/check_mysql -H localhost -s /tmp/mysql.sock -u root -p xxx -S -w 1 -c 3
 
其中用户和密码有可能会更改。延迟1秒警告,延迟3秒报警。
 
check_mysql_health 监控mysql master 服务器
 
/usr/local/nagios/libexec/custom/check_mysql_health --hostname localhost --socket /tmp/mysql.sock --username root --password xxxxxx --mode xxxxx --warning xxxxx --criticalxxxxx
 
mode:

connection-time (Time to connect to the server)

uptime (Time the server is running)

threads-connected (Number of currently open connections)

threadcache-hitrate (线程缓存命中率)

slave-lag (Seconds behind master)

slave-io-running (Slave io running: Yes)

slave-sql-running (Slave sql running: Yes)

qcache-hitrate (查询命中率,如果这个值接近100%,说明服务器select的优化就越好)

qcache-lowmem-prunes (因为内存小,从内存删除缓存查询的数量,可以增大query_cache_size,减小lowmem,增加命中率的优化)

keycache-hitrate (MyISAM key 缓存命中率,如果命中率太低,增大key_buffer_size)

bufferpool-hitrate (InnoDB 缓冲池命中率)

bufferpool-wait-free (InnoDB 缓冲池等待清理的页面)

log-waits (InnoDB log 等待写入时间,如果这个等待时间太大,增大log缓冲池大小)

tablecache-hitrate (Table 缓存命中率)

table-lock-contention (Table 的lock率)

index-usage (索引使用率,越大说明索引越好,越小说明索引优化不充分)

tmp-disk-tables (临时表创建的数量)

slow-queries (慢查询占所有查询的比率,这个值如果很高说明mysql数据库优化不够)

long-running-procs (长期运行的进程)

cluster-ndbd-running (mysql集群监控)

sql (执行一个返回一个数字的SQL,检查mysql是否可以链接查询)

 
举例:
nrpe.cfg:
command[check_mysql_health]=/usr/local/nagios/libexec/custom/check_mysql_health --hostname localhost --socket /tmp/mysql.sock --username xxxxx --password xxxxx --mode $ARG1$ --warning $ARG2$ --critical $ARG3$ 
 
xxx.cfg:
define service{
        use                     xxxxxx
        host_name               xxxxxx
        service_description     mysql数据库连接数
        check_command           check_nrpe_args!check_mysql_health!threads-connected!80!120
}
 
define service{
        use                     xxxxx
        host_name               xxxxx
        service_description     mysql数据库innodb缓存命中
        check_command           check_nrpe_args!check_mysql_health!bufferpool-hitrate
}
define service{
        use                     xxxxx
        host_name               xxxxx
        service_description     mysql数据库innodb缓冲池等待清理的页
        check_command           check_nrpe_args!check_mysql_health!bufferpool-wait-free
}
define service{
        use                     xxxxx
        host_name               xxxxx
        service_description     mysql数据库innodblog写入等待时间
        check_command           check_nrpe_args!check_mysql_health!log-waits
}
define service{
        use                     xxxxx
        host_name               xxxxx                                                                                   
        service_description     mysql数据库锁表率
        check_command           check_nrpe_args!check_mysql_health!table-lock-contention
}
define service{
        use                     xxxxx                                                                                  
        host_name               xxxxx
        service_description     mysql数据库打开文件数
        check_command           check_nrpe_args!check_mysql_health!open-files!80!90
}
define service{
        use                     xxxxx                                                                                 
        host_name               xxxxx
        service_description     mysql数据库慢查询率
        check_command           check_nrpe_args!check_mysql_health!slow-queries!5!10
}
 
搞定。
 
PS:对 warnging 和 critical 的值 :  10 就是 大于10%报警, 10: 就是小于10%报警, 不填就是默认的数值。
mode 一个语句只能一个,
 
--mode xxx1  xxx2    : xxx1 生效
--mode xxx1  --mode xxx2  : xxx2 生效

监控mysql各种选项的更多相关文章

  1. 详解 Spotlight on MySQL监控MySQL服务器

    前一章详解了Spotlight on Unix 监控Linux服务器 ,今天再来看看Spotlight on MySQL怎么监控MySQL服务器. 注:http://www.cnblogs.com/J ...

  2. Zabbix通过percona监控MySQL

    因为Zabbix自带的MySQL监控没有提供可以直接使用的Key,所以一般不采用,业界的同学们都使用Percona Monitoring Plugins 监控 MySQL的方式 Percona介绍 P ...

  3. 【Linux】Zabbix + MPM + msmtp + mutt 监控MySQL + 邮件报警

    Zabbix部署参考博文 http://blog.sina.com.cn/s/blog_5611597901017oe0.html  MPM安装配置参考博文和MPM官网下载地址 http://blog ...

  4. Loadrunner通过sitescope监控mysql

    1.   Loadrunner通过sitescope监控mysql 1.1. Sitescope下载 第一次在网上下载的是sitescope11.30,安装之后无法破解,所以最后卸载了,重新下载了si ...

  5. 总zabbix配置-搭建-邮件报警-微信报警-监控mysql

    Centos7安装Zabbix4.0步骤 官方搭建zabbix4.0的环境要求: 1. 环境搭建LAMP 前提Centos系统安装完成:  确认一下: 1 2 cat /etc/redhat-rele ...

  6. 监控mysql

    Mysql服务器监控 管理MySql服务器属于应用程序监控范畴.这是因为绝大多数性能参数是有MySql软件产生的,而不属于主操作系统的一部分. 如当前所提到的,应该总是先监控基础操作系统,然后监控My ...

  7. 0213Zabbix通过percona监控MySQL

    因为Zabbix自带的MySQL监控没有提供可以直接使用的Key,所以一般不采用,业界的同学们都使用Percona Monitoring Plugins 监控 MySQL的方式 Percona介绍 P ...

  8. Zabbix 监控MySQL、Apache、Nginx应用监控

    zabbix对第三方应用软件的监控,主要有两个工作难点,一个是编写自定义监控脚本,另一个是在编写模板并导入zabbix web中,编写脚本这个要根据 监控需求定制即可,而编写模板文件有些难度,不过网上 ...

  9. zabbix监控MySQL,Tomcat及配置邮件报警

    目录 一.思路 二.部署.配置 环境 安装zabbix 对zabbix进行初步优化 添加监控主机 部署监控Tomcat 配置邮件报警 三.总结 一.思路 首先搭建zabbixserver,本机需要安装 ...

随机推荐

  1. windows8.1 安装Redis

    说点什么 现在互联网都在玩高大上的分布式缓存,或是分布式数据库,去面试的时候也会问些相关知识及应用场景,再没玩过就要out了.  Redis官方只提供了Linux的版本下载,windows的需要去gi ...

  2. JAVA安全模型

    作为一种诞生于互联网兴起时代的语言,Java 从一开始就带有安全上的考虑,如何保证通过互联网下载到本地的 Java 程序是安全的,如何对 Java 程序访问本地资源权限进行有限授权,这些安全角度的考虑 ...

  3. 在ASP.NET Core中怎么使用HttpContext.Current

    一.前言 我们都知道,ASP.NET Core作为最新的框架,在MVC5和ASP.NET WebForm的基础上做了大量的重构.如果我们想使用以前版本中的HttpContext.Current的话,目 ...

  4. Net设计模式实例之桥接模式( Bridge Pattern)

    一.桥接模式简介(Brief Introduction) 桥接模式(Bridge Pattern),将抽象部分与它的实现部分分离,使的抽象和实现都可以独立地变化. Decouple an abstra ...

  5. vue+sass 下sass不能运行问题

    好久没写博文了,今天抽空写一写,最近在用vue.js build 项目,今早想使用sass来编译css,可是安装好依赖包之后仍然显示一下错误: ERROR in ENOENT: no such fil ...

  6. listview控件及其与数据库的连接

    一.显示数据 1.视图 -----小三角--视图-Details,该选项最常用,选中之后会以表格样式呈现. 2.设置列头 ----右键--编辑列 --添加 先编辑列,再编辑项 编辑列右边的属性:Tex ...

  7. WebAPI2使用AutoFac依赖注入完整解决方案。

    WebApi2上进行依赖注入,在百度里能搜到的的完整解决方案的文章少之又少,缺胳膊断腿. 和MVC5依赖注入的不同之处,并且需要注意的地方,标记在注释当中.上Global代码: namespace S ...

  8. C++实现邮件群发的方法

    这篇文章主要介绍了C++实现邮件群发的方法,较为详细的分析了邮件发送的原理与C++相关实现技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了C++实现邮件群发的方法.分享给大家供大家参考.具 ...

  9. .NET多线程总结和实例介绍

    摘要:.Net提供了许多多线程编程工具,可能是因为太多了,所以掌握起来总是有一些头疼,我在这里讲讲我总结的一些多线程编程的经验,希望对大家有帮助. 1.多线程的总结 不需要传递参数,也不需要返回参数 ...

  10. IOS 动画播放案例

    #import "ViewController.h" @interface ViewController () @property (weak,nonatomic) IBOutle ...