zabbix用自帶模板監控mysql

2022-06-14 07:30:16 字數 3175 閱讀 8357

本身zabbix-agent沒有提供對mysql監控的key,所以需要自定義key來應用這個模板

預設的模板有以下三類

mysql.status[var]

mysql.ping

mysql.version

mysql的監控就是用show status命令檢視相關的引數,取值

在agent端編寫key的監控指令碼

# vim /usr/local/zabbix/scripts/mysql.status.sh

#!/bin/bash

mysql=$(which mysql)

var=$1

mysql_user=$2

mysql_password=$3

mysql_host=$4

[ "$" = '' ] && mysql_user=zabbix

[ "$" = '' ] && mysql_password=123

[ "$" = '' ] && mysql_host=localhost

[ "$" = ' ' ] && echo ""||$ -u$ -p$ -h$ -e 'show status'|grep -v variable_name|grep "\b$\b"|awk ''

修改許可權

# chmod 755 /usr/local/zabbix/scripts/mysql.status.sh

測試指令碼

# /usr/local/zabbix/scripts/mysql.status.sh uptime

173778

修改zabbix agent的配置檔案

# vim /usr/local/zabbix/etc/zabbix_agentd.conf

include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/      --->配置檔案key的路徑

unsafeuserparameters=1                                            ---》允許特殊字元

增加mysql key的配置檔案

# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/mysql.status.conf

userparameter=mysql.status[*],/usr/local/zabbix/scripts/mysql.status.sh $1

userparameter=mysql.ping,/usr/bin/mysqladmin -uzabbix -p123 ping|grep alive|wc -l

userparameter=mysql.version,mysql -v|cut -f6 -d" "|sed 's/,//'

然後測試

# /usr/local/zabbix/sbin/zabbix_agentd -t mysql.status[uptime]

mysql.status[uptime] [t|174213]

重啟agent服務

service zabbix_agentd restart

伺服器端測試

# /usr/local/zabbix/bin/zabbix_get -s 192.168.1.237 -k mysql.status[uptime]

171895

ok,在zabbix新增mysql模板或者等待約1分鐘的更新週期檢視即可

mysql show status 詳解 

show status提供伺服器的狀態資訊(象mysqladmin extended-status一樣)。輸出類似於下面的顯示,儘管格式和數字可以有點不同:

下列含義:

aborted_clients 由於客戶沒有正確關閉連線已經死掉,已經放棄的連線數量。

aborted_connects 嘗試已經失敗的mysql伺服器的連線的次數。

connections 試圖連線mysql伺服器的次數。

created_tmp_tables 當執行語句時,已經被創造了的隱含臨時表的數量。

delayed_insert_threads 正在使用的延遲插入處理器執行緒的數量。

delayed_writes 用insert delayed寫入的行數。

delayed_errors 用insert delayed寫入的發生某些錯誤(可能重複鍵值)的行數。

flush_commands 執行flush命令的次數。

handler_delete 請求從一張表中刪除行的次數。

handler_read_first 請求讀入表中第一行的次數。

handler_read_key 請求數字基於鍵讀行。

handler_read_next 請求讀入基於乙個鍵的一行的次數。

handler_read_rnd 請求讀入基於乙個固定位置的一行的次數。

handler_update 請求更新表中一行的次數。

handler_write 請求向表中插入一行的次數。

key_blocks_used 用於關鍵字快取的塊的數量。

key_read_requests 請求從快取讀入乙個鍵值的次數。

key_reads 從磁碟物理讀入乙個鍵值的次數。

key_write_requests 請求將乙個關鍵字塊寫入快取次數。

key_writes 將乙個鍵值塊物理寫入磁碟的次數。

max_used_connections 同時使用的連線的最大數目。

not_flushed_key_blocks 在鍵快取中已經改變但是還沒被清空到磁碟上的鍵塊。

not_flushed_delayed_rows 在insert delay佇列中等待寫入的行的數量。

open_tables 開啟表的數量。

open_files 開啟檔案的數量。

open_streams 開啟流的數量(主要用於日誌記載)

opened_tables 已經開啟的表的數量。

questions 發往伺服器的查詢的數量。

slow_queries 要花超過long_query_time時間的查詢數量。

threads_connected 當前開啟的連線的數量。

threads_running 不在睡眠的執行緒數量。

uptime 伺服器工作了多少秒。

show grants for user列出對乙個使用者必須發出以重複授權的授權命令 

zabbix自帶模板監控mysql

1.客戶端首先建立mysql使用者用於zabbix連線資料庫 root zabbix zabbix mysql uroot p123456 e grant usage on to zabbix alhost identified by 123456 2.建立資料庫連線資訊檔案 3.複製mysql模板...

zabbix自帶的模板監控mysql

zabbix官方支援監控mysql,但直接使用預設的模板是不可用的,還需要經過額外的設定才可以使用。如果只需要對mysql資料庫做簡單的監控,zabbix自帶的模板完全能夠滿足要求 如果有更高的需求那需要自己寫指令碼,或者使用fromdual外掛程式.下面是用zabbix自帶的模板監控mysql的步...

zabbix使用自帶模板監控MySQL

監控mysql不能直接使用zabbix自帶模板,還需要到被監控的mysql客戶端做配置。2 設定完帳戶之後在被監控端新建 etc zabbix my.cnf以提供zabbix agent訪問資料庫,內容類似如下 vim etc zabbix my.cnf mysql host localhost u...