Zabbix 自带模板监控 MySQL 性能

通过自带的 Template DB MySQL 模板监控 MySQL 性能

具体步骤:

1)创建脚本存放目录并编辑脚本

# mkdir /etc/zabbix/script
# vim /etc/zabbix/script/mysql_status.sh    //编辑脚本
#!/bin/bash
#Desc:zabbix 监控 MySQL 状态
#Date:--
#by:Lee-YJ #主机
HOST="localhost"
#用户
USER="root"
#密码
PASSWORD="IjRMv3l6TQIEjvb9nIX5"
#端口
PORT=""
#MySQL连接
CONNECTION="mysqladmin -h ${HOST} -u ${USER} -P ${PORT} -p${PASSWORD}" if [ $# -ne "" ];then
echo "arg error!"
fi case $ in
Uptime)
result=`${CONNECTION} status >/dev/null |awk '{print $2}'`
echo $result
;;
Questions)
result=`${CONNECTION} status >/dev/null |awk '{print $6}'`
echo $result
;;
Com_update)
result=`${CONNECTION} extended-status >/dev/null |grep -w "Com_update" |awk '{print $4}'`
echo $result
;;
Slow_queries)
result=`${CONNECTION} extended-status >/dev/null |grep -w "Slow_queries" |awk '{print $4}'`
echo $result
;;
Com_select)
result=`${CONNECTION} extended-status >/dev/null |grep -w "Com_select" |awk '{print $4}'`
echo $result
;;
Com_rollback)
result=`${CONNECTION} extended-status >/dev/null |grep -w "Com_rollback" |awk '{print $4}'`
echo $result
;;
Com_insert)
result=`${CONNECTION} extended-status >/dev/null |grep -w "Com_insert" |awk '{print $4}'`
echo $result
;;
Com_delete)
result=`${CONNECTION} extended-status >/dev/null |grep -w "Com_delete" |awk '{print $4}'`
echo $result
;;
Com_commit)
result=`${CONNECTION} extended-status >/dev/null |grep -w "Com_commit" |awk '{print $4}'`
echo $result
;;
Bytes_sent)
result=`${CONNECTION} extended-status >/dev/null |grep -w "Bytes_sent" |awk '{print $4}'`
echo $result
;;
Bytes_received)
result=`${CONNECTION} extended-status >/dev/null |grep -w "Bytes_received" |awk '{print $4}'`
echo $result
;;
Com_begin)
result=`${CONNECTION} extended-status >/dev/null |grep -w "Com_begin" |awk '{print $4}'`
echo $result
;;*)
echo "Usage:$0(Uptime|Questions|Com_update|Slow_queries|Com_select|Com_rollback|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)"
;;
esac
# chmod +x /etc/zabbix/script/mysql_status.sh    //给脚本赋予执行权限

2)修改zabbix-agent配置文件,默认有一个MySQL的子配置文件,直接编辑该文件即可

# vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
#获取MySQL性能指标,这个是上一步编辑好的脚本
UserParameter=mysql.status[*],/etc/zabbix/script/mysql_status.sh $
#获取MySQL运行状态
UserParameter=mysql.ping,mysqladmin -u root -h localhost -pIjRMv3l6TQIEjvb9nIX5 ping >/dev/null | grep -c alive
#获取MySQL版本
UserParameter=mysql.version,mysql -V

3)重启 zabbix-agent 

# service zabbix-agent restart

4)Web界面配置、点击需要配置的主机,进去添加链接模板,自带的Template DB MySQL

5)配置完成后等一会儿就可以查看到监控主机的MySQL监控信息

查看监控主机的 MySQL bandwidth 图形

查看监控主机的 MySQL operations 图形

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

1. zabbix客户端是否重启
2. 脚本是否有执行权限
3. 数据库是否有权限
4. 环境变量是否有问题

附 agent 端自动配置脚本 

#!/bin/bash
#Desc:自动部署zabbix 监控 MySQL 状态 agent端 说明执行改脚本需要传入主机、用户名、密码、端口信息。
#Date:--
#by:Lee-YJ #MySQL连接信息
function MySQLInfo {
read -p "主机:" HOST
read -p "用户:" USER
read -p "密码:" PASSWORD
read -p "端口:" PORT
} #创建mysql_status脚本
function MySQLScript {
cat >>/etc/zabbix/script/mysql_status.sh<<EOF
#!/bin/bash
#Desc:zabbix 监控 MySQL 状态
#Date:--
#by:Lee-YJ #主机
HOST=$HOST
#用户
USER=$USER
#密码
PASSWORD=$PASSWORD
#端口
PORT=$PORT
#MySQL连接
CONNECTION="mysqladmin -h ${HOST} -u ${USER} -P ${PORT} -p${PASSWORD}" if [ \$# -ne "" ];then
echo "arg error!"
fi case \$ in
Uptime)
result=\`\${CONNECTION} status >/dev/null |awk '{print \$2}'\`
echo \$result
;;
Questions)
result=\`\${CONNECTION} status >/dev/null |awk '{print \$6}'\`
echo \$result
;;
Com_update)
result=\`\${CONNECTION} extended-status >/dev/null |grep -w "Com_update" |awk '{print \$4}'\`
echo \$result
;;
Slow_queries)
result=\`\${CONNECTION} extended-status >/dev/null |grep -w "Slow_queries" |awk '{print \$4}'\`
echo \$result
;;
Com_select)
result=\`\${CONNECTION} extended-status >/dev/null |grep -w "Com_select" |awk '{print \$4}'\`
echo \$result
;;
Com_rollback)
result=\`\${CONNECTION} extended-status >/dev/null |grep -w "Com_rollback" |awk '{print \$4}'\`
echo \$result
;;
Com_insert)
result=\`\${CONNECTION} extended-status >/dev/null |grep -w "Com_insert" |awk '{print \$4}'\`
echo \$result
;;
Com_delete)
result=\`\${CONNECTION} extended-status >/dev/null |grep -w "Com_delete" |awk '{print \$4}'\`
echo \$result
;;
Com_commit)
result=\`\${CONNECTION} extended-status >/dev/null |grep -w "Com_commit" |awk '{print \$4}'\`
echo \$result
;;
Bytes_sent)
result=\`\${CONNECTION} extended-status >/dev/null |grep -w "Bytes_sent" |awk '{print \$4}'\`
echo \$result
;;
Bytes_received)
result=\`\${CONNECTION} extended-status >/dev/null |grep -w "Bytes_received" |awk '{print \$4}'\`
echo \$result
;;
Com_begin)
result=\`\${CONNECTION} extended-status >/dev/null |grep -w "Com_begin" |awk '{print \$4}'\`
echo \$result
;;
*)
echo "Usage:\$0(Uptime|Questions|Com_update|Slow_queries|Com_select|Com_rollback|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)"
;;
esac
EOF
chmod +x /etc/zabbix/script/mysql_status.sh
} #配置agent mysql配置文件
function Config {
cp /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf{,back}
cat >/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf<<EOF
# 获取MySQL性能指标,这个是上一步编辑好的脚本
UserParameter=mysql.status[*],/etc/zabbix/script/mysql_status.sh \$
# 获取MySQL运行状态
UserParameter=mysql.ping,mysqladmin -u $USER -h $HOST -p$PASSWORD ping >/dev/null | grep -c alive
# 获取MySQL版本
UserParameter=mysql.version,mysql -V
EOF
} function main {
#创建脚本存放路径
mkdir /etc/zabbix/script
MySQLInfo
MySQLScript
Config
#重启zabbix-agent
service zabbix-agent restart
} main

auto_config_agent.sh

zabbix--监控MySQL性能的更多相关文章

  1. zabbix监控mysql性能

    使用zabbix监控mysql的三种方式 1.只是安装agent 2.启用模板监控 3.启用自定义脚本的模板监控 zabbix中默认有mysql的监控模板.默认已经在zabbix2.2及以上的版本中. ...

  2. 分布式数据存储 - Zabbix监控MySQL性能

    Zabbix如何监控mysql性能,我们可以使用mysql自带的模板,可以监控如下内容:OPS(增删改查).mysql请求流量带宽,mysql响应流量带宽,最后会附上相应的监控图! 编写check_m ...

  3. Zabbix监控mysql performance

    介绍 zabbix监控mysql性能,使用zabbix自带的mysql监控模板,可以监控以下内容OPS(增删改查).mysql慢查询数量.mysql请求\响应流量带宽 配置 新建mysql监控用户 G ...

  4. 使用zabbix监控mysql的三种方式

    使用zabbix监控mysql的三种方式 1.只是安装agent 2.启用模板监控 3.启用自定义脚本的模板监控 zabbix中默认有mysql的监控模板.默认已经在zabbix2.2及以上的版本中. ...

  5. zabbix 监控MySQL

    现在我来说一下我的监控环境 zabbix-3.0.3 MySQL-5.6.23 1.首先我们要登录MySQL,创建一个监控MySQL的用户 GRANT USAGE,PROCESS,SUPER,REPL ...

  6. Zabbix监控mysql配置及故障告警配置

    本文主要介绍zabbix监控mysql的配置,包含使用zabbix自带模板监控mysql相关信息及自定义key监控mysql同步情况.同时介绍了触发器的创建及zabbix通过邮件方式告警配置. 一.配 ...

  7. Zabbix监控nginx性能的另外一种方式

    Zabbix监控nginx性能的另外一种方式 nginx和php-fpm一样内建了一个状态页,对于想了解nginx的状态以及监控nginx非常有用,为了后续的zabbix监控,我们需要先启用nginx ...

  8. zabbix监控mysql最简单的方法

    该实验基于我的上一篇文章监控第一台主机的基础上 首先,因为水平有限,我选择直接关闭了防火墙和SELinux. 环境: 两台centos7,服务器端IP是192.168.200.128(以下简称主机), ...

  9. mytop安装,使用mytop监控MySQL性能

    本文主要描述mytop安装,安装过程中可能出现的报错,以及使用mytop监控MySQL性能. 欢迎转载,请注明作者.出处. 作者:张正 blog:http://space.itpub.net/2635 ...

  10. Zabbix 监控 Mysql 状态

    简介: 如何使用 Zabbix 来监控 Mysql 状态 ? Zabbix 有自带监控 Mysql 的模板,但是却不能直接使用.. 需要我们根据模板提供的 Key 自己写脚本获取数据 1.查看都有哪些 ...

随机推荐

  1. TCP/IP协议族体系结构:死也不能忘记的四个层

    1.死也不能忘记的四个层 ①数据链路层实现了网卡接口的网络驱动程序,以处理数据在物理媒介(比如以太网.令牌环等)上的传输.主要的协议ARP和RARP经过数据链路层封装的数据成为帧,有以太网帧.令牌环帧 ...

  2. 未能加载文件或程序集“***”或它的某一个依赖项,拒绝访问 <解决方法>

    报错信息如下: 注:为了部分隐私安全需要,已将有问题文件名替换为filename,系统win2008R2,Microsoft .NET Framework 版本:4.0.30319; ASP.NET ...

  3. GEO2R

    GEO2R 是GEO数据库官方提供的一个工具,用于进行差异表达分析. 该工具实现的功能就是将GEO数据库中的数据导入到R语言中,然后进行差异分析,本质是通过以下两个bioconductor上的R包实现 ...

  4. 关于“100g文件全是数组,取最大的100个数”解决方法汇总

    原题如下: 有一个100G大小的文件里存的全是数字,并且每个数字见用逗号隔开.现在在这一大堆数字中找出100个最大的数出来. 我认为,首先要摸清考官的意图.是想问你os方面的知识,还是算法,或者数据结 ...

  5. awk简单应用

    偷懒之人,必定会想方设法的走捷径.如果你想结束多个ID进程,有的人可能会说pkill 和killall.但是有时候不知道为啥 不生效啊 = =! 知道的可以告诉我.刚好最近在学awk 下面命令调用系统 ...

  6. Hibernate的Hql语句使用in关键字

    原文地址:https://blog.csdn.net/u013410747/article/details/50954867

  7. Spring的JdbcTemplate使用教程

    Spring对数据库的操作在jdbc上面做了基本的封装,让开发者在操作数据库时只需关注SQL语句和查询 结果处理器,即可完成功能(当然,只使用JdbcTemplate,还不能摆脱持久层实现类的编写). ...

  8. SQLServer -------- 解决忘记sa 密码,创建一个新的

    时间真的是一个可怕的武器,你可以不服老,但是你不能改变,你年纪的增长,在我们创建数据库的时候,会创建sa 和密码,但是密码忘记怎么办, 提供一种方法,创建一个新的进行软件部署 实现方法:1.找到安全性 ...

  9. Maven -------------- Eclipse 安装maven ,配置setting文件

    1.设置maven路径 Window->Preferences->Maven->Installations-> 选择maven的路径,如果原来有低版本的建议删除 选择好后点击f ...

  10. 在vps上搭建hexo博客

    最近更换了服务器,需要把自己的Hexo Next重新部署到新服务器上,本文记录一下在vps上搭建hexo博客的过程. 在vps上搭建hexo博客需要下面这些工具: Nginx: 用于博客展示 SSH: ...