Centos7 zabbix监控Mysql中的QPS/TPS
Centos7 zabbix监控Mysql中的QPS/TPS
QPS(Questions Per second:):每秒查询处理量,也就是Mysql每秒处理查询数,同时适用于InnoDB和MysqlSAM引擎
如何计算得到呢并计算QPS呢?
很简单,通过"msyqladmin status" 就是先获取到Questions和uptime对应的数值,随后通过Questions/Uptime即可获取
question=mysqladmin status |awk '{print $6}
uptime= mysqladmin status |awk '{print $2}'
QPS=question/uptime
TPS(Transactions Per Second)
每秒处理事务数,简单的来说就是数据库传输事务处理个数,这是指单台数据库服务器在单位时间内处理的事务的个数。 ,支持事务的存储引擎如InnoDB等特性指标
基于com_commit和com_rollback相加并除以uptim计算出TPS
rollback=mysqladmin extended-status | awk '/\<Com_rollback\>/{print $4}'
commit=mysqladmin extended-status | awk '/\<Com_commit\>/{print $4}'
tps=(com_rollback+com_commit)/uptime
首先关闭selinux 并开启防火墙
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config setenforce 0 firewall-cmd --permanent --add-port=10050/tcp firewall-cmd –reload |
安装zabbix-agent
wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
rpm –i zabbix-release-4.0-1.el7.noarch.rpm
yum –y install zabbix-agent
创建监控脚本
cat /etc/zabbix/script/monitor.sh
#!/bin/bash Uptime=`mysqladmin status | awk '{print $2}'` QPS() { Questions=`mysqladmin status | awk '{print $6}'` awk 'BEGIN{printf "%.2f\n",'$Questions'/'$Uptime'}' } #TPS TPS() { rollback=`mysqladmin extended-status | awk '/\<Com_rollback\>/{print $4}'` commit=`mysqladmin extended-status | awk '/\<Com_commit\>/{print $4}'` awk 'BEGIN{printf "%.2f\n",'$(($rollback+$commit))'/'$Uptime'}' } $1
|
cat /etc/zabbix/zabbix_agentd.d/performance.conf
UserParameter=mysql.status[*],/etc/zabbix/script/monitor.sh "$1" |
需要创建设置zabbix账号免密登录localhost
在zabbix界面创建模板
添加应用集
添加监控项
在主机中添加配置
添加新的图形构建
参考https://www.cnblogs.com/bixiaoyu/p/9389554.html