今天我们来了解一下如何通过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

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

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

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

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

#!/bin/bash
#Script time:--
#Contact information Email:m18810455501@.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 '/\<Com_rollback\>/{print $4}'`
commit=`mysqladmin extended-status | awk '/\<Com_commit\>/{print $4}'`
awk 'BEGIN{printf "%.2f\n",'$(($rollback+$commit))'/'$Uptime'}'
}
$

# 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值

【添加监控项】

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

思路总结:

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

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

3)模板创建

zabbix监控Mysql中的QPS/TPS的更多相关文章

  1. 使用zabbix监控mysql的三种方式

    使用zabbix监控mysql的三种方式 1.只是安装agent 2.启用模板监控 3.启用自定义脚本的模板监控 zabbix中默认有mysql的监控模板.默认已经在zabbix2.2及以上的版本中. ...

  2. mysql状态查看 QPS/TPS/缓存命中率查看【转】

    运行中的mysql状态查看   对正在运行的mysql进行监控,其中一个方式就是查看mysql运行状态.    (1)QPS(每秒Query量)  QPS = Questions(or Queries ...

  3. 分布式监控系统Zabbix-3.0.3-完整安装记录(4)-解决zabbix监控图中出现中文乱码问题

    之前部署了Zabbix-3.0.3监控系统,在安装数据库时已经将zabbix库设置了utf-8字符. 首先确定zabbix开启了中文支持功能:登录到zabbix服务器的数据目录下(前面部署的zabbi ...

  4. 分布式数据存储 - Zabbix监控MySQL性能

    Zabbix如何监控mysql性能,我们可以使用mysql自带的模板,可以监控如下内容:OPS(增删改查).mysql请求流量带宽,mysql响应流量带宽,最后会附上相应的监控图! 编写check_m ...

  5. zabbix监控mysql性能

    使用zabbix监控mysql的三种方式 1.只是安装agent 2.启用模板监控 3.启用自定义脚本的模板监控 zabbix中默认有mysql的监控模板.默认已经在zabbix2.2及以上的版本中. ...

  6. zabbix监控mysql最简单的方法

    该实验基于我的上一篇文章监控第一台主机的基础上 首先,因为水平有限,我选择直接关闭了防火墙和SELinux. 环境: 两台centos7,服务器端IP是192.168.200.128(以下简称主机), ...

  7. Zabbix 监控 Mysql 状态

    简介: 如何使用 Zabbix 来监控 Mysql 状态 ? Zabbix 有自带监控 Mysql 的模板,但是却不能直接使用.. 需要我们根据模板提供的 Key 自己写脚本获取数据 1.查看都有哪些 ...

  8. Zabbix 监控MySQL、Apache、Nginx应用监控

    zabbix对第三方应用软件的监控,主要有两个工作难点,一个是编写自定义监控脚本,另一个是在编写模板并导入zabbix web中,编写脚本这个要根据 监控需求定制即可,而编写模板文件有些难度,不过网上 ...

  9. CentOS 6.3下Zabbix监控MySQL数据库参数

    系统环境:CentOS 6.3 x64  http://www.linuxidc.com/Linux/2012-12/76583.htm mysql:    mysql-5.6.10 http://w ...

随机推荐

  1. 029_mount bind挂载

    一. 由于公司的配置标准并不统一,交付的磁盘挂载的路径不是想要的路径,但是 1./home目录下有很重要的堡垒机登录的相关文件,还不能卸载 2.我通过pts/0登录的,这个文件描述符也是在/home目 ...

  2. python多线程threading下载示例

    #coding:utf-8 # windows中测试不通过,下载的图片不完整 # 通过多线程下载图片 import requests import threading class downloader ...

  3. docker里面运行jenkins详解

    需求:将jenkins运行在docker中 思路:1.安装docker,并启动docker 服务            2.下载jenkins的docker镜像,然后运行. 前提知识:1.dockde ...

  4. dnsmasq详解&手册

    Dnsmasq为小型网络提供网络基础设施:DNS,DHCP,路由器通告和网络引导.它被设计为轻量级且占用空间小,适用于资源受限的路由器和防火墙.它还被广泛用于智能手机和便携式热点的共享,并支持虚拟化框 ...

  5. 洛谷P4451 [国家集训队]整数的lqp拆分 [生成函数]

    传送门 题意简述:语文不好不会写,自己看吧 思路如此精妙,代码如此简洁,实是锻炼思维水经验之好题 这种题当然是一眼DP啦. 设\(dp_n\)为把\(n\)拆分后的答案.为了方便我们设\(dp_0=1 ...

  6. hadoop环境配置

    0. Hadoop源码包下载 http://mirror.bit.edu.cn/apache/hadoop/common/   1. 集群环境 Master 172.16.11.97 Slave1 1 ...

  7. 【翻译】关于vertical-align所有你需要知道的

    本文是翻译过来的,如果有不对的地方还请指教~,原文链接:Vertical-Align: All You Need To Know 前面一些说明,可以略过不看吧 我经常需要对元素进行垂直方向上的布局. ...

  8. Confluence 6 管理协同编辑 - 修改编辑模式

    编辑模式确定了你站点所有用户使用协同编辑的体验,这个是你对协同编辑进行启用和关闭的地方. 希望修改编辑模式: 进入  > 基本配置(General Configuration) > 协同编 ...

  9. kindedit编辑器和xxs攻击防护(BeautifulSoup)的简单使用

    一.kindedit编辑器 就是上面这样的编辑输入文本的一个编辑器 这也是一个插件.那么怎么用呢? 1.下载:百度kindedit 2.引入: <script src="/static ...

  10. Java并发编程基础-线程安全问题及JMM(volatile)

    什么情况下应该使用多线程 : 线程出现的目的是什么?解决进程中多任务的实时性问题?其实简单来说,也就是解决“阻塞”的问题,阻塞的意思就是程序运行到某个函数或过程后等待某些事件发生而暂时停止 CPU 占 ...