博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zabbix--监控MySQL性能
阅读量:5073 次
发布时间:2019-06-12

本文共 5653 字,大约阅读时间需要 18 分钟。

Zabbix 自带模板监控 MySQL 性能

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

具体步骤:

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

# mkdir /etc/zabbix/script
# vim /etc/zabbix/script/mysql_status.sh    //编辑脚本#!/bin/bash #Desc:zabbix 监控 MySQL 状态#Date:2019-5-6#by:Lee-YJ#主机HOST="localhost"#用户USER="root"#密码PASSWORD="IjRMv3l6TQIEjvb9nIX5"#端口PORT="3306"#MySQL连接CONNECTION="mysqladmin -h ${HOST} -u ${USER} -P ${PORT} -p${PASSWORD}"if [ $# -ne "1" ];then    echo "arg error!"ficase $1 in    Uptime)        result=`${CONNECTION} status 2>/dev/null |awk '{print $2}'`        echo $result        ;;    Questions)        result=`${CONNECTION} status 2>/dev/null |awk '{print $6}'`        echo $result        ;;    Com_update)        result=`${CONNECTION} extended-status 2>/dev/null |grep -w "Com_update" |awk '{print $4}'`        echo $result        ;;    Slow_queries)        result=`${CONNECTION} extended-status 2>/dev/null |grep -w "Slow_queries" |awk '{print $4}'`        echo $result        ;;    Com_select)        result=`${CONNECTION} extended-status 2>/dev/null |grep -w "Com_select" |awk '{print $4}'`        echo $result        ;;    Com_rollback)        result=`${CONNECTION} extended-status 2>/dev/null |grep -w "Com_rollback" |awk '{print $4}'`        echo $result        ;;    Com_insert)        result=`${CONNECTION} extended-status 2>/dev/null |grep -w "Com_insert" |awk '{print $4}'`        echo $result        ;;    Com_delete)        result=`${CONNECTION} extended-status 2>/dev/null |grep -w "Com_delete" |awk '{print $4}'`        echo $result        ;;    Com_commit)        result=`${CONNECTION} extended-status 2>/dev/null |grep -w "Com_commit" |awk '{print $4}'`        echo $result        ;;    Bytes_sent)        result=`${CONNECTION} extended-status 2>/dev/null |grep -w "Bytes_sent" |awk '{print $4}'`        echo $result        ;;    Bytes_received)        result=`${CONNECTION} extended-status 2>/dev/null |grep -w "Bytes_received" |awk '{print $4}'`        echo $result        ;;    Com_begin)        result=`${CONNECTION} extended-status 2>/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 $1#获取MySQL运行状态UserParameter=mysql.ping,mysqladmin -u root -h localhost -pIjRMv3l6TQIEjvb9nIX5 ping 2>/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:2019-5-6#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<
/dev/null |awk '{print \$2}'\` echo \$result ;; Questions) result=\`\${CONNECTION} status 2>/dev/null |awk '{print \$6}'\` echo \$result ;; Com_update) result=\`\${CONNECTION} extended-status 2>/dev/null |grep -w "Com_update" |awk '{print \$4}'\` echo \$result ;; Slow_queries) result=\`\${CONNECTION} extended-status 2>/dev/null |grep -w "Slow_queries" |awk '{print \$4}'\` echo \$result ;; Com_select) result=\`\${CONNECTION} extended-status 2>/dev/null |grep -w "Com_select" |awk '{print \$4}'\` echo \$result ;; Com_rollback) result=\`\${CONNECTION} extended-status 2>/dev/null |grep -w "Com_rollback" |awk '{print \$4}'\` echo \$result ;; Com_insert) result=\`\${CONNECTION} extended-status 2>/dev/null |grep -w "Com_insert" |awk '{print \$4}'\` echo \$result ;; Com_delete) result=\`\${CONNECTION} extended-status 2>/dev/null |grep -w "Com_delete" |awk '{print \$4}'\` echo \$result ;; Com_commit) result=\`\${CONNECTION} extended-status 2>/dev/null |grep -w "Com_commit" |awk '{print \$4}'\` echo \$result ;; Bytes_sent) result=\`\${CONNECTION} extended-status 2>/dev/null |grep -w "Bytes_sent" |awk '{print \$4}'\` echo \$result ;; Bytes_received) result=\`\${CONNECTION} extended-status 2>/dev/null |grep -w "Bytes_received" |awk '{print \$4}'\` echo \$result ;; Com_begin) result=\`\${CONNECTION} extended-status 2>/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)" ;;esacEOF 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<
/dev/null | grep -c alive# 获取MySQL版本UserParameter=mysql.version,mysql -VEOF}function main {#创建脚本存放路径mkdir /etc/zabbix/scriptMySQLInfoMySQLScriptConfig#重启zabbix-agentservice zabbix-agent restart}main
auto_config_agent.sh

 

转载于:https://www.cnblogs.com/yanjieli/p/10826475.html

你可能感兴趣的文章
java多线程(同步和死锁,生产者和消费者问题)
查看>>
STL algorithmi算法s_sorted和is_sorted_until(28)
查看>>
445port入侵具体解释
查看>>
华为面试题算什么,这个背会了外企随便进
查看>>
解决mysql控制台查询数据乱码的问题,有图有真相
查看>>
Oracle建立表空间和用户
查看>>
八字案例董易奇
查看>>
iframe父子页面通信
查看>>
ambari 大数据安装利器
查看>>
java 上传图片压缩图片
查看>>
magento 自定义订单前缀或订单起始编号
查看>>
ACM_拼接数字
查看>>
计算机基础作业1
查看>>
Ubuntu 深度炼丹环境配置
查看>>
C#中集合ArrayList与Hashtable的使用
查看>>
从一个标准 url 里取出文件的扩展名
查看>>
map基本用法
查看>>
poj-1163 动态规划
查看>>
Golang之interface(多态,类型断言)
查看>>
Xshell5显示乱码问题
查看>>