1. 程式人生 > >zabbix實戰--mysql監控詳解

zabbix實戰--mysql監控詳解

一、監控採集依據:主要基於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篩選出我們要的值。

關注微信: