亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

zabbix監(jiān)控mysql的實(shí)例方法

 更新時(shí)間:2021年06月02日 16:03:15   作者:gc-757  
在創(chuàng)建監(jiān)控項(xiàng)之前要盡量考慮清楚要監(jiān)控什么,怎么監(jiān)控,監(jiān)控?cái)?shù)據(jù)如何存儲(chǔ),監(jiān)控?cái)?shù)據(jù)如何展現(xiàn),如何處理報(bào)警等。本文主要介紹了zabbix監(jiān)控mysql的實(shí)現(xiàn)方法,感興趣的可以了解一下

1、監(jiān)控規(guī)劃

在創(chuàng)建監(jiān)控項(xiàng)之前要盡量考慮清楚要監(jiān)控什么,怎么監(jiān)控,監(jiān)控?cái)?shù)據(jù)如何存儲(chǔ),監(jiān)控?cái)?shù)據(jù)如何展現(xiàn),如何處理報(bào)警等。要進(jìn)行監(jiān)控的系統(tǒng)規(guī)劃需要對(duì)Zabbix很了解,這里只是提出監(jiān)控的需求。

需求一:監(jiān)控MySQL的狀態(tài),當(dāng)狀態(tài)發(fā)生異常,發(fā)出報(bào)警;

需求二:監(jiān)控MySQL的操作,并用圖表展現(xiàn);

2、自定義腳本監(jiān)控?cái)U(kuò)展Agent

Zabbix Server與Agent之間監(jiān)控?cái)?shù)據(jù)的采集主要是通過Zabbix Server主動(dòng)向Agent詢問某個(gè)Key的值,Agent會(huì)根據(jù)Key去調(diào)用相應(yīng)的函數(shù)去獲取這個(gè)值并返回給Server端。Zabbix 2.4.7的Agent本并沒有內(nèi)置MySQL的監(jiān)控功能(但是Server端提供了相應(yīng)的Template配置),所以我們需要使用Zabbix的User Parameters功能,為MySQL添加監(jiān)控腳本。

3、授權(quán)mysql登錄用戶(agent端)

mysql> grant usage on *.* to zabbix@127.0.0.1 identified by '123456';

mysql> flush privileges;

4、agent端配置

存活檢測

利用UserParameter參數(shù)自定義Agent Key。
對(duì)于需求一 ,我們采用mysqladmin這個(gè)工具來實(shí)現(xiàn),命令如下:

# mysqladmin -h 127.0.0.1 -u zabbix -p123456 ping 
mysqld is alive

如果MySQL狀態(tài)正常,會(huì)顯示mysqld is alive,否則會(huì)提示連接不上。對(duì)于服務(wù)器端,mysqld is alive這樣的句子不好理解,服務(wù)器端最好只接收1和0,1表示服務(wù)可用,0表示服務(wù)不可用。那么再改進(jìn)一下這個(gè)命令,如下:

# mysqladmin -h 127.0.0.1 -u zabbix -p123456 ping |grep -c alive
1

用戶名和密碼放在命令中對(duì)于以后的維護(hù)不好,所以我們在/var/lib/zabbix/下創(chuàng)建一個(gè)包含MySQL用戶名和密碼的配置文件“.my.cnf”,如下:

user=zabbix
host=127.0.0.1
password='123456'

有了這個(gè)文件后的命令變更為

HOME=/var/lib/zabbix/ mysqladmin ping |grep -c alive
1

做完這一步后需要做的就是,將這個(gè)監(jiān)控命令添加到Zabbix Agent中,并與一個(gè)Key對(duì)應(yīng),這樣Zabbox Server就能通過這個(gè)Key獲取MySQL的狀態(tài)了。我們使用mysql.ping作為MySQL狀態(tài)的Key。

首先在去除/etc/zabbix/zabbix_agentd.conf中

“Include=/etc/zabbix_agentd.d/” 這一行的注釋符。

其次,在/etc/zabbix/zabbix_agentd.d/目錄下創(chuàng)建userparameter_mysql.conf文件。在文件中添加如下命令:

UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive

使用下面的命令測試是否正常工作。

# /usr/sbin/zabbix_agentd -t mysql.ping
mysql.ping                                    [t|1]

其他性能指標(biāo)

1.添加userparameter_mysql

vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

####監(jiān)控mysql性能的腳本

UserParameter=mysql.status[*],/etc/zabbix/zabbix_agentd.d/check_mysql.sh $1

#####mysql版本

UserParameter=mysql.version,mysql -V

2.check_mysql.sh

#!/bin/bash
# -------------------------------------------------------------------------------
# FileName: check_mysql.sh
# Revision: 1.0
# -------------------------------------------------------------------------------
# Copyright:
# License: GPL

# 用戶名
MYSQL_USER='zabbix'

# 密碼
MYSQL_PWD='zabbix@123'

# 主機(jī)地址/IP
MYSQL_HOST='ip'

# 端口
MYSQL_PORT='3306'

# 數(shù)據(jù)連接
MYSQL_CONN="/usr/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST} -P${MYSQL_PORT}"

# 參數(shù)是否正確
if [ $# -ne "1" ];then
echo "arg error!"
fi

# 獲取數(shù)據(jù)
case $1 in
Uptime)
result=`${MYSQL_CONN} status 2>/dev/null |cut -f2 -d":"|cut -f1 -d"T"`
echo $result
;;
Com_update)
result=`${MYSQL_CONN} extended-status   2>/dev/null  |grep -w "Com_update"|cut -d"|" -f3`
echo $result
;;
Slow_queries)
result=`${MYSQL_CONN} status  2>/dev/null  |cut -f5 -d":"|cut -f1 -d"O"`
echo $result
;;
Com_select)
result=`${MYSQL_CONN} extended-status  2>/dev/null  |grep -w "Com_select"|cut -d"|" -f3`
echo $result
;;
Com_rollback)
result=`${MYSQL_CONN} extended-status  2>/dev/null   |grep -w "Com_rollback"|cut -d"|" -f3`
echo $result
;;
Questions)
result=`${MYSQL_CONN} status   2>/dev/null |cut -f4 -d":"|cut -f1 -d"S"`
echo $result
;;
Com_insert)
result=`${MYSQL_CONN} extended-status   2>/dev/null  |grep -w "Com_insert"|cut -d"|" -f3`
echo $result
;;
Com_delete)
result=`${MYSQL_CONN} extended-status   2>/dev/null  |grep -w "Com_delete"|cut -d"|" -f3`
echo $result
;;
Com_commit)
result=`${MYSQL_CONN} extended-status   2>/dev/null  |grep -w "Com_commit"|cut -d"|" -f3`
echo $result
;;
Bytes_sent)
result=`${MYSQL_CONN} extended-status  2>/dev/null  |grep -w "Bytes_sent" |cut -d"|" -f3`
echo $result
;;
Bytes_received)
result=`${MYSQL_CONN} extended-status  2>/dev/null  |grep -w "Bytes_received" |cut -d"|" -f3`
echo $result
;;
Com_begin)
result=`${MYSQL_CONN} extended-status  2>/dev/null  |grep -w "Com_begin"|cut -d"|" -f3`
echo $result
;;

*)
echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)"
;;
esac

3.授權(quán):

chmod +x  /etc/zabbix/zabbix_agentd.d/check_mysql.sh

Chown zabbix.zabbix  /etc/zabbix/zabbix_agentd.d/check_mysql.sh

4. zabbix_agent上測試:

zabbix_agentd -t mysql.ping

在這里插入圖片描述

5.Zabbix_server測試

zabbix_get -s ip -P 端口 -k mysql.ping

在這里插入圖片描述

5、在web端進(jìn)行配置

**創(chuàng)建主機(jī) **

在這里插入圖片描述

在這里插入圖片描述

關(guān)聯(lián)模板

在這里插入圖片描述

創(chuàng)建監(jiān)控項(xiàng)

創(chuàng)建圖形


查看監(jiān)控圖像

其他監(jiān)控項(xiàng)以此配置完成

6、zabbix自帶mysql監(jiān)控項(xiàng)

version:數(shù)據(jù)庫版本
key_buffer_size:myisam的索引buffer大小
sort_buffer_size:會(huì)話的排序空間(每個(gè)線程會(huì)申請(qǐng)一個(gè))
join_buffer_size:這是為鏈接操作分配的最小緩存大小,這些連接使用普通索引掃描、范圍掃描、或者連接不適用索引
max_connections:最大允許同時(shí)連接的數(shù)量
max_connect_errors:允許一個(gè)主機(jī)最多的錯(cuò)誤鏈接次數(shù),如果超過了就會(huì)拒絕之后鏈接(默認(rèn)100)??梢允褂胒lush hosts命令去解除拒絕
open_files_limits:操作系統(tǒng)允許mysql打開的文件數(shù)量,可以通過opened_tables狀態(tài)確定是否需要增大table_open_cache,如果opened_tables比較大且一直還在增大說明需要增大table_open_cache
max-heap_tables_size:建立的內(nèi)存表的最大大?。J(rèn)16M)這個(gè)參數(shù)和tmp_table_size一起限制內(nèi)部臨時(shí)表的最大值(取這兩個(gè)參數(shù)的小的一個(gè)),如果超過限制,則表會(huì)變?yōu)閕nnodb或myisam引擎,(5.7.5之前是默認(rèn)是myisam,5.7.6開始是innodb,可以通過internal_tmp_disk_storage_engine參數(shù)調(diào)整)。
max_allowed_packet:一個(gè)包的最大大小
##########GET INNODB INFO
#INNODB variables
innodb_version:
innodb_buffer_pool_instances:將innodb緩沖池分為指定的多個(gè)(默認(rèn)為1)
innodb_buffer_pool_size:innodb緩沖池大小、5.7.5引入了innodb_buffer_pool_chunk_size,
innodb_doublewrite:是否開啟doublewrite(默認(rèn)開啟)
innodb_read_io_threads:IO讀線程的數(shù)量
innodb_write_io_threads:IO寫線程的數(shù)量
########innodb status
innodb_buffer_pool_pages_total:innodb緩沖池頁的數(shù)量、大小等于innodb_buffer_pool_size/(16*1024)
innodb_buffer_pool_pages_data:innodb緩沖池中包含數(shù)據(jù)的頁的數(shù)量
########## GET MYSQL HITRATE
1、查詢緩存命中率
如果Qcache_hits+Com_select<>0則為 Qcache_hits/(Qcache_hits+Com_select),否則為0

2、線程緩存命中率
如果Connections<>0,則為1-Threads_created/Connections,否則為0

3、myisam鍵緩存命中率
如果Key_read_requests<>0,則為1-Key_reads/Key_read_requests,否則為0

4、myisam鍵緩存寫命中率
如果Key_write_requests<>0,則為1-Key_writes/Key_write_requests,否則為0

5、鍵塊使用率
如果Key_blocks_used+Key_blocks_unused<>0,則Key_blocks_used/(Key_blocks_used+Key_blocks_unused),否則為0

6、創(chuàng)建磁盤存儲(chǔ)的臨時(shí)表比率
如果Created_tmp_disk_tables+Created_tmp_tables<>0,則Created_tmp_disk_tables/(Created_tmp_disk_tables+Created_tmp_tables),否則為0

7、連接使用率
如果max_connections<>0,則threads_connected/max_connections,否則為0

8、打開文件比率
如果open_files_limit<>0,則open_files/open_files_limit,否則為0

9、表緩存使用率
如果table_open_cache<>0,則open_tables/table_open_cache,否則為0

到此這篇關(guān)于zabbix監(jiān)控mysql的實(shí)例方法的文章就介紹到這了,更多相關(guān)zabbix監(jiān)控mysql內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用xtrabackup實(shí)現(xiàn)mysql備份

    使用xtrabackup實(shí)現(xiàn)mysql備份

    Xtrabackup 是percona公司的開源項(xiàng)目,用以實(shí)現(xiàn)類似innodb官方的熱備份工具InnoDB Hot Backup的功能,能夠非??焖俚貍浞菖c恢復(fù)MySQL數(shù)據(jù)庫。今天我們就來詳細(xì)討論下Xtrabackup的使用方法
    2016-11-11
  • mysql 超大數(shù)據(jù)/表管理技巧

    mysql 超大數(shù)據(jù)/表管理技巧

    在實(shí)際應(yīng)用中經(jīng)過存儲(chǔ)、優(yōu)化可以做到在超過9千萬數(shù)據(jù)中的查詢響應(yīng)速度控制在1到20毫秒??瓷先ナ莻€(gè)不錯(cuò)的成績,不過優(yōu)化這條路沒有終點(diǎn),當(dāng)我們的系統(tǒng)有超過幾百人、上千人同時(shí)使用時(shí),仍然會(huì)顯的力不從心
    2013-03-03
  • 關(guān)于對(duì)mysql語句進(jìn)行監(jiān)控的方法詳解

    關(guān)于對(duì)mysql語句進(jìn)行監(jiān)控的方法詳解

    這篇文章主要給大家介紹了關(guān)于對(duì)mysql語句進(jìn)行監(jiān)控的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • MySQL學(xué)習(xí)第五天 MySQL數(shù)據(jù)庫基本操作

    MySQL學(xué)習(xí)第五天 MySQL數(shù)據(jù)庫基本操作

    MySQL學(xué)習(xí)第五天我們將針對(duì)MySQL數(shù)據(jù)庫進(jìn)行基本操作,創(chuàng)建、修改、刪除數(shù)據(jù)庫等一系列操作進(jìn)行學(xué)習(xí),感興趣的小伙伴們可以參考一下
    2016-05-05
  • Mysql8斷電崩潰解決

    Mysql8斷電崩潰解決

    本文主要介紹了Mysql8斷電崩潰解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 關(guān)于useSSL=false和true的區(qū)別及說明

    關(guān)于useSSL=false和true的區(qū)別及說明

    這篇文章主要介紹了關(guān)于useSSL=false和true的區(qū)別及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • MySQL中空值Null和空字符‘‘的具體使用

    MySQL中空值Null和空字符‘‘的具體使用

    本文主要介紹了MySQL中空值Null和空字符''的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • mysql日志系統(tǒng)redo log和bin log介紹

    mysql日志系統(tǒng)redo log和bin log介紹

    這篇文章主要介紹了mysql日志系統(tǒng)redo log和bin log介紹,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • mysql的計(jì)劃任務(wù)與事件調(diào)度實(shí)例分析

    mysql的計(jì)劃任務(wù)與事件調(diào)度實(shí)例分析

    這篇文章主要介紹了mysql的計(jì)劃任務(wù)與事件調(diào)度,結(jié)合實(shí)例形式分析了mysql計(jì)劃任務(wù)與事件調(diào)度相關(guān)概念、原理、用法與操作注意事項(xiàng),需要的朋友可以參考下
    2019-12-12
  • 使用ORM新增數(shù)據(jù)在Mysql中的操作步驟

    使用ORM新增數(shù)據(jù)在Mysql中的操作步驟

    這篇文章主要介紹了使用ORM新增數(shù)據(jù)在Mysql中,但是在這需要注意需要大家新建ORM模型,具體搭建步驟及詳細(xì)過程跟隨小編一起看看吧
    2021-07-07

最新評(píng)論