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

39f038484991c9901c631f460c14e3a5.png

9c9829067cb1b2e664f95a4041f2c197.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

#!/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

",'$Questions'/'$Uptime'}'}

#TPS

TPS() {

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

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

awk'BEGIN{printf "%.2f

",'$(($rollback+$commit))'/'$Uptime'}'}

$1

# 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配置如下

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

Server端测试:可以获取key值

16a21e43ab01d1e492d2a0321e24a491.png

【添加监控项】

7498a794e052c502a8702cccd8128a9d.png

de361167350d6cdc336169b1c0730d8b.png

2fe974d6a995ba7c4aab5ad77d3495d2.png

9666277454daf414313f4ecd2e94725d.png

b1d55811e7c7d0532d1bda291b6f245a.png

e4c8809085ff6896b5e470fee6c162e1.png

e0908ee8767dbf2b6ae087ae9315c2c5.png

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

思路总结:

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

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

3)模板创建

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值