Mysql zabbix qps_zabbix监控Mysql中的QPS/TPS

今天我们来了解一下如何通过zabbix监控来监控我们msyql数据库中的TPS和QPS,提到这两个概念,我们先来了解究竟什么是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

c98dffc869e00c6956e30fe89fd41bbb.png

f749211da0ae833036f5651b2c52a163.png

TPS(Transactions Per Second)

每秒处理事务数,简单的来说就是数据库传输事务处理个数,这是指单台数据库服务器在单位时间内处理的事务的个数。 ,支持事务的存储引擎如InnoDB等特性指标

基于com_commit和com_rollback相加并除以uptim计算出TPS

rollback=mysqladmin extended-status | awk '/\/{print $4}'

commit=mysqladmin extended-status | awk '/\/{print $4}'

tps=(com_rollback+com_commit)/uptime

ok~知道如何计算QPS和TPS之后,就好办了,我们将其写成脚本,在这里直接用shell即可

# mkdir /usr/local/zabbix/script -p

vim /usr/local/zabbix/script/monitor.sh

9df1129d15fbf91872a96ff776cfe5a7.gif

#!/bin/bash

#Script time:2018-07-30

#Contact information Email:m18810455501@163.com

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 '/\/{print $4}'`

commit=`mysqladmin extended-status | awk '/\/{print $4}'`

awk 'BEGIN{printf "%.2f\n",'$(($rollback+$commit))'/'$Uptime'}'

}

$1

3c11549aff0b3204caf2d034f08500e6.gif

# chmod 755 -R /usr/local/zabbix/script/monitor.sh

# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/performance.conf

UserParameter=mysql.status[*],/usr/local/zabbix/script/monitor.sh "$1"

# egrep -v "#|^$" /usr/local/zabbix/etc/zabbix_agentd.conf   #zabbix-agent配置如下

ece829630cdf7a1c601c6c557563ce88.gif

LogFile=/tmp/zabbix_agentd.log

Server=192.168.2.129

ServerActive=192.168.2.129

Hostname=192.168.2.144

Timeout=8

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/performance.conf

0d3f9a2d6fbb8307049a2984db97dac7.gif

Server端测试:可以获取key值

16a21e43ab01d1e492d2a0321e24a491.png

【添加监控项】

dd48ba20f29a3efdc3a7d6a53ab35cca.png

12420c33c0979cf4468acfe389ce8786.png

ab69d9d3a60bfa99774cd685d403bc2e.png

c7130aaaf33f6f4c77b4475dfb817b20.png

a2312f566752e205e612da185f948ec6.png

4c2822240ba4b62e9c1521e6536586ee.png

cebd2315f4bdb5ab562af6275096c8b1.png

上述便是QPS和TPS监控值状态,因为是自己测试,没有太多事务查询和事务处理量,所以,监控值很小

思路总结:

1)首先我们的zabbix是没有监控mysql这些性能指标的,因此我们要自定义,我们要通过mysql status获取到Quetions和uptime的的数值计算出QPS,随后我们在获取commit和rollback的的数值相加在除以uptime的的时间值,这样既能获取QPS和TPS的每秒事务查询数和处理数

2)写入脚本定义在key值(在UserParameter中定义)

3)模板创建

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值