zabbix--监控MySQL性能
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性能的更多相关文章
- zabbix监控mysql性能
使用zabbix监控mysql的三种方式 1.只是安装agent 2.启用模板监控 3.启用自定义脚本的模板监控 zabbix中默认有mysql的监控模板.默认已经在zabbix2.2及以上的版本中. ...
- 分布式数据存储 - Zabbix监控MySQL性能
Zabbix如何监控mysql性能,我们可以使用mysql自带的模板,可以监控如下内容:OPS(增删改查).mysql请求流量带宽,mysql响应流量带宽,最后会附上相应的监控图! 编写check_m ...
- Zabbix监控mysql performance
介绍 zabbix监控mysql性能,使用zabbix自带的mysql监控模板,可以监控以下内容OPS(增删改查).mysql慢查询数量.mysql请求\响应流量带宽 配置 新建mysql监控用户 G ...
- 使用zabbix监控mysql的三种方式
使用zabbix监控mysql的三种方式 1.只是安装agent 2.启用模板监控 3.启用自定义脚本的模板监控 zabbix中默认有mysql的监控模板.默认已经在zabbix2.2及以上的版本中. ...
- zabbix 监控MySQL
现在我来说一下我的监控环境 zabbix-3.0.3 MySQL-5.6.23 1.首先我们要登录MySQL,创建一个监控MySQL的用户 GRANT USAGE,PROCESS,SUPER,REPL ...
- Zabbix监控mysql配置及故障告警配置
本文主要介绍zabbix监控mysql的配置,包含使用zabbix自带模板监控mysql相关信息及自定义key监控mysql同步情况.同时介绍了触发器的创建及zabbix通过邮件方式告警配置. 一.配 ...
- Zabbix监控nginx性能的另外一种方式
Zabbix监控nginx性能的另外一种方式 nginx和php-fpm一样内建了一个状态页,对于想了解nginx的状态以及监控nginx非常有用,为了后续的zabbix监控,我们需要先启用nginx ...
- zabbix监控mysql最简单的方法
该实验基于我的上一篇文章监控第一台主机的基础上 首先,因为水平有限,我选择直接关闭了防火墙和SELinux. 环境: 两台centos7,服务器端IP是192.168.200.128(以下简称主机), ...
- mytop安装,使用mytop监控MySQL性能
本文主要描述mytop安装,安装过程中可能出现的报错,以及使用mytop监控MySQL性能. 欢迎转载,请注明作者.出处. 作者:张正 blog:http://space.itpub.net/2635 ...
- Zabbix 监控 Mysql 状态
简介: 如何使用 Zabbix 来监控 Mysql 状态 ? Zabbix 有自带监控 Mysql 的模板,但是却不能直接使用.. 需要我们根据模板提供的 Key 自己写脚本获取数据 1.查看都有哪些 ...
随机推荐
- Java集合详解7:一文搞清楚HashSet,TreeSet与LinkedHashSet的异同
<Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...
- ReentrantLock源码简析
概念 ReentrantLock,可重入锁.在多线程中,可以通过加锁保证线程安全. 加锁和解锁 加锁: public void lock() { sync.lock(); } 解锁 public vo ...
- java报错:The reference to entity "characterEncoding" must end with the ';' delimiter.
java关于报错:The reference to entity "characterEncoding" must end with the ';' delimiter. Java ...
- 【Gamma】Scrum Meeting 8
前言 会议定点:大运村公寓 会议时间:2019/6/7 会议目的:分配任务,准备宣传 一.任务进度 组员 上周任务进度 下阶段任务 大娃 辅助做好引导录屏 优化辅助模型 二娃 撰写会议博客 撰写会议博 ...
- ASP.NET Core WebApi构建API接口服务实战演练
一.ASP.NET Core WebApi课程介绍 人生苦短,我用.NET Core!提到Api接口,一般会想到以前用到的WebService和WCF服务,这三个技术都是用来创建服务接口,只不过Web ...
- Maven 教程(20)— 使用maven-assembly-plugin插件来定制化打包
原文地址:https://blog.csdn.net/liupeifeng3514/article/details/79777976 简单的说,maven-assembly-plugin 就是用来帮助 ...
- html5 audio标签切换播放音乐的方法
html5 audio标签切换播放音乐的方法<pre><audio id="music1" preload loop="loop">&l ...
- es6和es5函数参数和arguments的差别
注: 这里说的 es5 代表的都是非严格模式下. es6之前函数的参数不能传默认值: function fn(a, b){ console.log(a) console.log(b) } fn(2) ...
- [转帖]Kubernetes v1.17 版本解读 | 云原生生态周报 Vol. 31
Kubernetes v1.17 版本解读 | 云原生生态周报 Vol. 31 https://www.kubernetes.org.cn/6252.html 2019-12-13 11:59 ali ...
- Mysql 8.0版本开始,不允许创建 MyISAM 分区表
从MySQL 8.0版本开始,就不允许创建 MyISAM 分区表了,只允许创建已经实现了本地分区策略的引擎. 到目前为止,只有InnoDB和NDB这两个引擎支持本地分区策略. [1]实际测试 (1)数 ...