暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

zabbix企业级监控之监控MYSQL的innodb缓冲池的read命中率

一直爱流浪的猫 2018-08-07
594

2018-08-01 00:30:21

1.innodb缓冲池的read命中率是什么?

缓冲池的read命中率是从缓冲池中读取数据的命中率

2.如何计算缓冲池read的命中率?

innodb_buffer_hite = 1 - read_disk / read_total

3.在shell中如何相关参数计算缓冲池的read命中率?

注意:mysql是免密登录的 

Innodb_buffer_pool_reads 

#从物理磁盘读取的次数

Innodb_buffer_pool_read_requests read 

#总共读取的次数

获取从硬盘读取的次数

mysqladmin extended-status | awk '/\<Innodb_buffer_pool_reads\>/{print $4}'

获取读取的总次数

mysqladmin extended-status | awk '/\<Innodb_buffer_pool_read_requests\>/{print $4}'

shell脚本中获取innodb缓冲池的read命中率

cat innodb_hite_rate.sh

#!/bin/bash

innodb_hite_rate() {

  #从硬盘中读取的次数
  Read_disk=`mysqladmin extended-status | awk '/\<Innodb_buffer_pool_reads\>/{print $4}'`

  #总的读取次数
  Read_total=`mysqladmin extended-status | awk '/\<Innodb_buffer_pool_read_requests\>/{print $4}'`

  #命中率
  awk 'BEGIN{printf "%.4f\n",'$(($Read_total-$Read_disk))'/'$Read_total'}'

}

$
1

4.添加agent模板

vim userparameter_my.conf

模板文件如下

UserParameter=monitor_mysql[*],/bin/bash /etc/zabbix/shell/monitor_mysql.sh "$1"

参数解释:

monitor_mysql[*]:是自定义key

*是传参 是从server端自定义键值的时候传参传下来的

*在web端得键值就是monitor_mysql[innodb_hite_rate],调用agent端得函数方法



文章转载自一直爱流浪的猫,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论