zabbix监控mysql性能(106)

今天来看看zabbix如何监控mysql性能,这边使用mysql自带的模板,可以监控如下内容:OPS(增删改查)、mysql请求流量带宽,mysql响应流量带宽,最后会附上相应的监控图!

编写check_mysql.sh脚本

用于获取mysql性能指标数据,你需要修改相应的数据库信息

脚本如下:

修改zabbix_agentd.conf

增加自定义key,在最后一行增加如下:

备注:请注意修改你的数据库信息,以及zabbix路径信息

重启zabbix

Link MySQL模板

模板是zabbix系统提供的,进入zabbix web后台,configuration-->hosts-->点击你的主机name-->选择template选项卡,选择模板“Template App MySQL”,最后点击update即可

mysql

zabbix监控mysql

数据查看

如果配置没有异常,那么可以在graph中查看到2张监控图,分别为请求流量带宽、响应流量带宽、ops,点击monitoring-->graphs-->选择你的主机,分别选择Graph“MySQL bandwidth”、“MySQL operations”,监控图分别如下(图片可以点击放大查看):

mysql

zabbix监控mysql

mysql

zabbix监控mysql

常见错误解决思路

如果发现监控没有数据,请排查如下问题

1. zabbix客户端是否重启

2. 脚本是否有执行权限

3. 数据库是否有权限

4. 环境变量是否有问题

5. 请看zabbix item列,鼠标移至红色叉上,有错误提示。

6. 如果数据库密码保存在脚本中,会导致监控没有数据会不断的报错为Warning: Using a password on the command line interface can be insecure.需要将帐号密码等配置添加到my.cnf中。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:36   其中:访客  36   博主  0

  1. Bryan 0

    2092:20161202:162011.674 error reason for “192.168.*.*mysql.status[Bytes_received]” changed: Received value [Warning: Using a password on the command line interface can be insecure.55383] is not suitable for value type [Numeric (float)],这个数据类型的错误你们都是怎么解决的啊,我用的是zabbix3.2,在服务器运行单个命令可以获取到mysql的状态数据的改变,但是图表中没有数据

  2. bluesone 0

    [root@localhost zabbix-2.0.6]# zabbix_get -s 192.168.100.98 -k mysql.status
    arg error!
    Usage:/usr/local/zabbix-2.0.6/scripts/chk_mysql.sh(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)
    提示参数错误,这是几个意思呢?
    坐等。。。。。

  3. 匿名 0

    楼主好,我安装你的方法做完后报错:ZBX_NOTSUPPORTED: Unsupported item key,这个怎么解决?

  4. stone 85757916 3

    谢谢分享….

  5. Null 2

    楼主,# 获取mysql运行状态 这个方案无法行得通哦。
    因为当mysqld停止后,mysqladmin就会报错,所以。
    建议采用端口监听。

  6. 路人甲 2

    楼主,如果数据库密码保存在脚本中,会导致监控没有数据 会不断的报错为Warning: Using a password on the command line interface can be insecure.
    需要将帐号密码等配置添加到my.cnf中,希望楼主更新下。

  7. 禁言 5

    你好,我在应用此文章时遇到一点问题:1、服务器端获取不到客户端mysql 的版本信息;2、服务器获取mysql.ping 的数据是0,但在客户端测试获取是1。其他参数正常,比如mysql.status[Uptime]。请问这是什么问题?
    mysql的版本是5.6,编译安装的
    防火墙、selinux已经关闭
    zabbix item列正常

    • 运维生存时间网 5

      @禁言 使用zabbix_get获取试试看,或许是权限、环境变量等等问题

      • 禁言 5

        @运维生存时间网 就是用zabbix_get去获取,能获取到其他的数据,就是不能获取客户端mysql 的版本信息和mysql.ping 的数据

  8. brent苏 5

    您好,我在使用官方模版的时候有一个报错,我使用zabbix_get也发现报错:
    [root@mysql2 ~]# zabbix_get -s 192.168.56.201 -k mysql.status[Uptime]
    sh: mysql: command not found
    这里调用mysql发现没有这个命令,到底是哪里环境变量不对?

    • 运维生存时间 5

      @brent苏 你需要安装mysql客户端,比如yum install mysql

      • 匿名 5

        @运维生存时间 已经安装了mysql客户端,为何还是提示sh: mysql: command not found,是不是哪里还有设置自己环境变量的

  9. 请问楼主这个脚本有主从状态的监控命令吗? 5

    请问楼主这个脚本有主从状态的监控命令吗?

  10. LookBacxk 0

    zabbix2.4.6为什么不出数据呢,
    1. zabbix客户端是否重启 ok
    2. 脚本是否有执行权限 ok
    3. 数据库是否有权限 ok
    4. 环境变量是否有问题 ok
    5. 请看zabbix item列,鼠标移至红色叉上,有错误提示。 ok

  11. 西海 5

    Received value [‘HOME’ ????????????????????????е??????????????] is not suitable for value type [Numeric (float)]

    在windows平台,学习你的文档进行了测试,itme报上面的错误

  12. 西海 0

    Received value [‘HOME’ ?????ڲ????ⲿ???Ҳ???ǿ????еij?????????ļ???] is not suitable for value type [Numeric (float)]

    在windows平台,学习你的文档进行了测试,itme报上面的错误

  13. sad 0

    你好,我使用的是2.2.10.
    按照您的这篇文档,在修改zabbix_agentd添加自定义key之后就无法启动agent了,查看报错是因为已经有了这三个key,我在web页面上查看确实是都有了。请问一下是怎么回事
    另,套用app mysql之后总是检测mysql状态是down的,但是我的mysql确实是启动的啊,SELINUX和iptables都关闭了,望指点

    • 管理员 5

      @sad 调用zabbix_get取值看看

      • zbin 1

        @管理员 我也是@sad 一样的问题,请问管理员如何用zabbix_get取值看看?他提示已经有这3个key不能重启agent呢!!

        • 管理员 5

          @zbin 也许你是yum安装的zabbix,查看zabbix配置文件,里面有个mysql监控的配置文件。在zabbix配置文件目录下find . | grep mysql能看到

      • zbin 1

        @管理员 你好!我也是同样的问题!重新打开客户端它提示该key已存在
        请教一下该如何处理?

        • 管理员 5

          @zbin 也许你是yum安装的zabbix,查看zabbix配置文件,里面有个mysql监控的配置文件。在zabbix配置文件目录下find . | grep mysql能看到

  14. 运维生存时间网友 5

    你好,安装这篇文档,我去监控mysql使用zabbix2.4.5,但是却报监控数据类型不对:
    Received value is not suitable for value type [Numeric (unsigned)] and data type [Decimal]
    请问是何原因?我尝试了去修改mysql模板里的数据类型,不管用。。。求指点

  15. 匿名 5

    你好,安装这篇文档,我去监控mysql使用zabbix2.4.5,但是却报监控数据类型不对:
    Received value is not suitable for value type [Numeric (unsigned)] and data type [Decimal]
    请问是何原因?我尝试了去修改mysql模板里的数据类型,不管用。。。求指点

    • 凉白开 5

      @匿名 check你的数据,获取到的值不是数字。

  16. slosh 5

    你好,按照这篇文章使用zabbix2.4.5监控mysql,但是报错:
    Received value is not suitable for value type [Numeric (unsigned)] and data type [Decimal]
    可我修改了类型也不正确,在项目里全是X….求指点

  17. 咨询 5

    请问一下,是否有写监控Sql,Oracle的监控的文章呢,还有mysql,sql,oracle这几种数据库服务器高可用环境的监控。谢谢,感觉你写得还不错。

  18. 变心 0

    vim /usr/local/zabbix-2.4.4/scripts/chk_mysql.sh 你发的这个脚本是完整的吗

  19. 管理员 5

    新版本多半会调整数据库结构,不建议直接读取数据库,建议用API,不知道你说的API是哪一个?

    • 粉丝 0

      @管理员 您好,调用API的话,如果取出的数据量过大,会造成性能问题,官方给了一个limit参数,但是却没有start来分页,一般API获取数据分页展示的话,有什么思路吗,谢谢

  20. 运维生存时间网友 5

    哥们,我书的读者,我有个问题请教下..Zabbix 2.4.5 版本中的 items 表中的 lastclock好像不存在了,以前的老版本貌似有 我需要取出某个item key的最后的时间,我尝试了2个方法但都不是很好处理
    一 . 从history表中取item key的最后时间速度很慢 半天出不来数据
    二 用api去取,速度到还可以,但一次取出大量数据, 时而会导致PHP 报内存不足够,以后agentd还会加 怕受不了,暂时也没有发现api中有分页的参数

  21. 匿名 5

    哥们,我书的读者,我有个问题请教下..Zabbix 2.4.5 版本中的 items 表中的 lastclock好像不存在了,以前的老版本貌似有 我需要取出某个item key的最后的时间,我尝试了2个方法但都不是很好处理
    一 . 从history表中取item key的最后时间速度很慢 半天出不来数据
    二 用api去取,速度到还可以,但一次取出大量数据, 时而会导致PHP 报内存不足够,以后agentd还会加 怕受不了,暂时也没有发现api中有分页的参数