写文章

zabbix实战--mysql监控详解

2018-11-28 15:45:20

4141 | 0 | 0

视频资源:http://www.roncoo.com/course/view/fb3050a5b34b42f39ccad83ebebc89c1 


龙果开源运维项目地址:https://github.com/roncoo/roncoo-cmdb


一、监控采集依据:主要基于show global status对数据进行采集:

 

二、对用户进行授权,然后使用show global status进行采集分析。

 

mysql  -uroot -p”xxxx” -e "show global status"   ###查看所有的值

 

监控项注释:

Aborted_clients          ##客户端不能正常连接,失败的连接数量。

Aborted_connects         ##客户端中断数量,可能有恶意连接。

 

###吞吐量

Bytes_received           ##从所有客户端接收到的字节数。

Bytes_sent               ##发送给所有客户端的字节数。

 

###com admin 语句执行数量

Com_commit               ##统计提交语句次数

com_delete               ##统计删除语句

com_delete_multi         ##最小

com_insert               ##统计插入语句

com_rollback             ##事务回滚

Connections              ##不管是否成功连接到mysql的个数

 

###临时表数量

Created_tmp_disk_tables  ##服务器创建的临时表数量

Created_tmp_files        ##已经创建的临时文件数量

Created_tmp_tables     ##服务器执行语句时自动创建的内存中的临时表的数量。如果Created_tmp_disk_tables较大,你可能要增加tmp_table_size值使临时表基于内存而不基于硬盘。

 

##后台预读线程读取到Innodb缓冲池的页的数量

Innodb_buffer_pool_reads           ##不能满足InnoDB必须单页读取的缓冲池中的逻辑读数量。

Innodb_buffer_pool_read_ahead      ##预读的次数

Innodb_buffer_pool_read_requests   ##从缓冲池中读取的页的次数

*缓冲池的命中率=

innodb_buffer_pool_read_requests/(innodb_buffer_pool_read_requests+innodb_buffer_pool_read_ahead+innodb_buffer_pool_reads)

 

innodb_data_read 总共读入的字节数;
innodb_data_reads  发起读取请求的次数,每次读取可能需要读取多个页。

*平均每次读取的字节数=innodb_data_read/innodb_data_reads

 

 

Innodb_rows_deleted            ##执行deleted操作的次数

Innodb_rows_inserted           ##执行insert操作的次数

Innodb_rows_read               ##执行select操作的次数

Innodb_rows_updated            ##执行update操作的次数

 

###针对MyISAM引擎:

key_buffer_size                ##缓冲池大小

Key_blocks_unused              ##未使用的缓存簇(blocks)数

Key_blocks_used                ##表示曾经用到的最大的blocks数

* 这台服务器,所有的缓存都用到了,要么增加key_buffer_size,要么就是过渡索引了,把缓存占满了,理想设置:

Key_blocks_used / (Key_blocks_unused + Key_blocks_used) * 100% ≈ 80%

Key_reads                      ##在内存中没有找到直接从硬盘读取索引

Key_read_requests              ##一共索引请求

 

* 计算索引未名字概率:

key_cache_miss_rate = Key_reads / Key_read_requests * 100%

 

###Qcache查询缓冲区:

 

Qcache_free_blocks             ##Query Cache 中目前还有多少剩余的blocks

Qcache_free_memory             ##Query Cache 剩余的内存大小

Qcache_hits                    ##多少次命中

Qcache_inserts            ##多少次未命中的插入: Qcache_hits / ( Qcache_hits + Qcache_inserts )

Qcache_lowmem_prunes           ##多少条Query 因为内存不足而被清除出Query Cache

Qcache_not_cached              ##因为query_cache_type 的设置或者不能被cache 的Query 的数量;

Qcache_queries_in_cache        ##当前Query Cache中的cache 的Query数量

 

Slow_queries                   ##慢查询

Sort_range                     ##通过range scan 完成的排序总次数

Sort_rows                      ##排序总行数

Sort_scan                      ##通过扫描完成的排序总次数

 

Table_locks_immediate          ##可以立即获取锁的查询次数。

Table_locks_waited             ##不能立即获取锁的查询次数。

Uptime                         ##mysql 运行时长

 

  

三、zabbix agnet自定义key:

 

UserParameter=mysql[*],mysql  -uroot -pxxx -e "show global status"|grep "$1" | cut -f2

 


Mysql[Uptime]

 Grep uptime | cut -f2

Myslq[Table_locks_waited]

 

注释:通过key传回的值,$1筛选出我们要的值。

 

关注微信:

face/cFsGJMRY5xDicYD3f5MFEcB4GAZwnrHh.jpg

0

收藏
分享