本身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...