Zabbix监控Mysql数据库性能
来源:http://os.51cto.com/art/201404/435139.htm
本文通过Zabbix Graphs实时查看的SQL语句操作情况和mysql发送接收的字节数,Zabbix还可以监控mysql slow queries,mysql version,uptime,alive等。
- 作者:sfzhang来源:51TCO博客|2014-04-09 11:43
-
收藏分享
在之前的博文里面写过如何通过Zabbix监控mysql主从同步是否OK,mysql从库是否有延时(Seconds_Behind_Master)主库,当mysql主从有异常时通过Email或者SMS通知DBA和系统人员。除此之外,Zabbix还可以监控mysql slow queries,mysql version,uptime,alive等。下面通过Zabbix Graphs实时查看的SQL语句操作情况和mysql发送接收的字节数。
1.Zabbix官方提供的监控mysql的模板Template App MySQL,可以看到相关的Items和key。
2.把该模板Template App MySQL Link到相关的主机上面,发现Item的Status是不可用的,因为key的值是通过Mysql用户查看"show global status"信息或者用mysqladmin命令查看status或extended-status的信息而取的值。
- mysql> show global status;
- mysql> show status;
3.结合官方提供的key编写Shell脚本,从数据库中取出Items的key的值。
- [root@monitor scripts]# cat checkmysqlperformance.sh
- #!/bin/sh
- #Create by sfzhang 2014.02.20
- MYSQL_SOCK="/data/mysql/3306/mysql.sock"
- MYSQL_PWD=`cat /data/mysql/3306/.mysqlpassword`
- ARGS=1
- if [ $# -ne "$ARGS" ];then
- echo "Please input one arguement:"
- fi
- case $1 in
- Uptime)
- result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK status|cut -f2 -d":"|cut -f1 -d"T"`
- echo $result
- ;;
- Com_update)
- result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_update"|cut -d"|" -f3`
- echo $result
- ;;
- Slow_queries)
- result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK status |cut -f5 -d":"|cut -f1 -d"O"`
- echo $result
- ;;
- Com_select)
- result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_select"|cut -d"|" -f3`
- echo $result
- ;;
- Com_rollback)
- result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_rollback"|cut -d"|" -f3`
- echo $result
- ;;
- Questions)
- result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK status|cut -f4 -d":"|cut -f1 -d"S"`
- echo $result
- ;;
- Com_insert)
- result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_insert"|cut -d"|" -f3`
- echo $result
- ;;
- Com_delete)
- result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_delete"|cut -d"|" -f3`
- echo $result
- ;;
- Com_commit)
- result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_commit"|cut -d"|" -f3`
- echo $result
- ;;
- Bytes_sent)
- result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Bytes_sent" |cut -d"|" -f3`
- echo $result
- ;;
- Bytes_received)
- result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Bytes_received" |cut -d"|" -f3`
- echo $result
- ;;
- Com_begin)
- result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_begin"|cut -d"|" -f3`
- echo $result
- ;;
- *)
- echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions)"
- ;;
- esac
4.在Zabbix_agentd.conf里面添加UserParameter,格式如下,对于Zabbix来说,脚本其实就是一个插件。
- UserParameter=mysql.version,mysql -V
- UserParameter=mysql.ping,mysqladmin -uroot -p123456 -S /data/mysql/3306/mysql.sock ping | grep -c alive
- UserParameter=mysql.status[*],/etc/zabbix/scripts/checkmysqlperformance.sh $1 $2
5.重启agentd服务器,然后在zabbix server用zabbix_get就可以取到key的值。
6.在zabbix前端可以实时查看SQL语句每秒钟的操作次数。
7.在zabbix前端可以实时查看mysql发送接收的字节数。其中bytes received表示从所有客户端接收到的字节数,bytes sent表示发送给所有客户端的字节数。
总结
把该脚本放到要监控的服务器上面(Modify mysql user and password),修改UserParameter的参数并重启agentd,Link官方提供的Template App MySQL模板即可。
我这里是测试环境用root账号,线上服务器安全期间可以给mysql用户授权readonly权限。
根据实际的需求,除了监控上述监控项之外,还可以监控mysql processlist,Innodb等。
Zabbix监控Mysql数据库性能相关推荐
- zabbix监控mysql数据库性能实现
Zabbix对于主机监控通常有多种方式: 例如 Trapper.Agent.SNMP.ICMP等. Trapper工作原理: 被监控主机根据用户设定的时间间隔定期将数据push到Zabbix Serv ...
- @zabbix监控mysql数据库<Percona工具>
文章目录 1.Percona介绍 2.Percona监控方式介绍 3.Percona组件安装配置 1)服务器安装Percona插件 2)环境检查 3)配置Percona 4.zabbix WEB模板导 ...
- Zabbix 监控Mysql数据库及主从数据库
Zabbix监控mysql主从数据库在脚步出现用户名和密码是会出现如下报错"Warning: Using a password on the command line interface c ...
- zabbix监控mysql的哪些参数_Centos6.3下zabbix监控mysql数据库参数
系统环境:centos6.3 x64 mysql: mysql-5.6.10 zabbix: zabbix-2.06 一.修改mysql客户端zabbix_agentd.conf配置: # ...
- zabbix监控mysql的性能_zabbix2.4.2实战监控mysql5.6性能
1.搜了网上很多信息,很少有监控mysql5.6,通过自己实践,轻松实现,分享给大家. 2.被监控端设置 2.1 设置监控mysql的用户和密码 mysql> GRANT PROCESS ON ...
- zabbix监控mysql的原理_zabbix监控mysql数据库性能实现
Zabbix对于主机监控通常有多种方式: 例如 Trapper.Agent.SNMP.ICMP等. Trapper工作原理: 被监控主机根据用户设定的时间间隔定期将数据push到Zabbix Serv ...
- zabbix实现mysql数据库的监控
先来介绍zabbix中几个常用的术语: 主机(host): 要监控的网络设备,可由ip或DNS名称指定. 主机组(host group): 主机的逻辑容器,可以包含主机和模板,但同一个组内的主机和模版 ...
- 死磕数据库系列(三十五):MySQL 数据库性能监控
点关注公众号,回复"1024"获取2TB学习资源! 前面给大家介绍了:MySQL 性能分析与相关工具的使用.今天我将详细的为大家介绍 MySQL 性能监控的相关知识,希望大家能够从 ...
- ZABBIX利用自带模板监控mysql数据库
***** ZABBIX利用自带模板监控mysql数据库**** 监控效果图 增删改查 慢查询 每秒总执行次数 1. 进入主题:先搭建好zabbix服务器,并把mysql作为agent端(建议先在线下 ...
最新文章
- Datawhale组队学习周报(第019周)
- boost::geometry::is_convex用法的测试程序
- 关于IE6下用Jquery attr('onclick')问题
- Atitit 工作流之道 艾提拉著 BPM,即业务流程管理 目录 1. 流程入门 思想 历史 分类	1 第二篇 第2章 初识工作流	2 1.1. 2.3 工作流技术相关规范 2.3.1 W
- 51单片机简易MP3程序驱动蜂鸣器播放
- box-sizing失效的原因
- yolov5深度剖析+源码debug级讲解系列(二)backbone构建
- mysql 数据库内存不足_MySQL数据库内存不足怎么办 MySQL数据库使用教程
- Affine set 和 convex set 的定义
- 关于冯.诺依曼结构与哈佛结构的一些疑问
- 高德地图点击marker图标改变效果实现过程
- 微信小程序 微信授权登录 微信登录
- aws-s3-使用boto3根据路径和间隔时间进行清理删除启用版本控制的文件
- java 多线程的三种写法
- DAEMON Tools Lite 虚拟光驱,安装iso文件,提示需要管理员权限的问题解决
- unity3d 切换场景过度动画
- js实现点击复制链接功能
- tf.concat, tf.stack和tf.unstack的用法
- 关于官网下载mdk5与keil5等速度慢的问题
- 使用代理服务器的客户端可以不配置dns_DNS介绍
热门文章
- rabbitmq java文档_《RabbitMQ官方文档》订阅与发布
- linux下重启weblogic(关闭和启动)
- 01_Weblogic课程之概念篇:代理服务器,web服务器,应用程序服务器,JNDI概念,JTA概念,Java消息服务,Java验证和授权(JAAS),Java管理扩展,Web客户机,客户机应用程序
- 4.录屏软件录屏端和接收端程序
- typedef,结构体,共用体,联合体
- MULE ESB简介
- mysql允许两个用户远程连接_mysql允许用户远程连接
- apache ii评分和死亡率_高大上的风险分层系统:APACHE评分到底是啥?
- 一般单纯形法的matlab程序,实验报告(单纯形法的matlab程序)
- 残差网络ResNet笔记