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. 第10组 Beta版本演示

    一.小组信息 组长博客链接 组名:凹秃曼 组内成员 学号 组员 031702240 童景霖(组长) 031702225 叶泽林 031702246 陈鸿立 031702201 万本琳 03170222 ...

  2. limits.conf文件修改注意事项,限制文件描述符数和进程数

    参考文章: https://blog.csdn.net/fanren224/article/details/79971359 https://www.cnblogs.com/micmouse521/p ...

  3. Orm 入门总指南

    注意:下面的pdf文件强烈建议下载或在线查看 1)旗舰版帮助文档点击查看或下载 2)http://pan.baidu.com/s/1hq7krFu(新手手册下载)(强烈推荐) 3)性能及规范下载,网友 ...

  4. 【原】无脑操作:Markdown可以这样玩

    一.背景: Markdown是一种纯文本格式的标记语言.通过简单的标记语法,可以使普通文本内容具有一定的格式.因为语法简单明了.功能又比纯文本强大,所以很适合作为开发人员的书写工具.Markdown的 ...

  5. Haskell-chp01

    -- 函数名首字母必须小写,可以包含 '来表示该函数严格求值版本(与惰性求值相对) doubleMe x = x + x doubleUs x y = doubleMe x + doubleMe y ...

  6. 二叉树 & 平衡二叉树 算法(Java实现)

    二叉树 比如我要依次插入10.3.1.8.23.15.28.先插入10作为根节点: 然后插入3,比10小,放在左边: 再插入1,比10和3小,放在3左边: 再插入8,比10小,比3大,放在3右边: 再 ...

  7. 第十七节:.Net Core中新增HttpClientFactory的前世今生

    一. 背景 1.前世 提到HttpClient,在传统的.Net版本中简直臭名昭著,因为我们安装官方用法 using(var httpClient = new HttpClient()),当然可以Di ...

  8. 8. Scala面向对象编程(高级部分)

    8.1 静态属性和静态方法 8.1.1 静态属性-提出问题 有一群小孩在玩堆雪人,不时有新的小孩加入,请问如何知道现在共有多少人在玩?请使用面向对象的思想,编写程序解决 8.1.2 基本介绍 -Sca ...

  9. 啊哈!算法(第一章)C#实现

    第1节 最简单的排序--桶排序     期末考试完了老师要将同学们的分数按照从高到低排序. 小哼的班上只有 5 个同学,这 5 个同学分别考了 5 分.3 分.5 分.2 分和 8 分,考得真是惨不忍 ...

  10. AnyProxy代理

    背景:当一个公司测试团队有多个人的时候,只需搭建一个AnyProxy服务,其它小伙伴浏览器上打开AnyProxy页面,手机上设置代理就能抓到http.https请求了.解决了部分人电脑不正经的小伙伴f ...