本身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監控
環境 ubuntu16.04 zabbix3.2,mysql5.7 1.zabbix在s端的配置很多博主有寫,不做贅述,web配置時提示missing哪個檔案就apt get install即可,例如missing mbstring,安裝php7.0 mbstring即可,缺少database su...
zabbix4 2配置監控MySQL
1.在被監控主機安裝好mysql 相關步驟省略。2.建立監控所需要的mysql賬戶 mysql伺服器端 mariadb none grant usage on to zabbix 192.168.10.100 identified by 123456 mariadb none flush privi...
配置zabbix監控服務
9.1 問題 具體配置如下 部署執行環境lnmp 安裝zabbix軟體 初始化配置 修改配置檔案 啟動服務 9.2 步驟 實現此案例需要按照如下步驟進行。步驟一 部署執行環境lnmp 1 安裝lnmp環境 注意,php fpm這個軟體包在lnmp soft 目錄下 2 修改nginx配置檔案 配置n...