真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

zabbix監(jiān)控MySQL多實(shí)例實(shí)踐

一、實(shí)踐背景:
一臺(tái)機(jī)器上部署了多個(gè)MySQL實(shí)例,每個(gè)實(shí)例使用不同的端口,需要通過zabbix將其都納入監(jiān)控中。

成都做網(wǎng)站、成都網(wǎng)站制作的開發(fā),更需要了解用戶,從用戶角度來建設(shè)網(wǎng)站,獲得較好的用戶體驗(yàn)。成都創(chuàng)新互聯(lián)多年互聯(lián)網(wǎng)經(jīng)驗(yàn),見的多,溝通容易、能幫助客戶提出的運(yùn)營建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇成都創(chuàng)新互聯(lián),不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來訪用戶感受到浩方產(chǎn)品的價(jià)值服務(wù)。

二、實(shí)踐方法及原理說明:
1.在Zabbix上創(chuàng)建監(jiān)控MySQL數(shù)據(jù)庫使用的模版,導(dǎo)入案例模版:
鏈接: https://pan.baidu.com/s/1nXooNPMXrmaAQidRrxVOLg 提取碼: ure1

2.在模版上創(chuàng)建自動(dòng)發(fā)現(xiàn)的規(guī)則,在自動(dòng)發(fā)現(xiàn)規(guī)則中需要定義兩個(gè)東西:
a.鍵值 用來自動(dòng)獲取MySQL實(shí)例的端口,需要使用到主機(jī)宏{$MYSQLPORT}
zabbix監(jiān)控MySQL多實(shí)例實(shí)踐

b.監(jiān)控項(xiàng)原型 根據(jù)獲取的端口來生成對(duì)應(yīng)的監(jiān)控項(xiàng),需要使用到自動(dòng)發(fā)現(xiàn)宏{#MYSQLPORT}
zabbix監(jiān)控MySQL多實(shí)例實(shí)踐

3.在需要監(jiān)控的主機(jī)上定義一個(gè)宏{$MYSQLPORT},對(duì)應(yīng)要監(jiān)控的端口,如3306_3307
zabbix監(jiān)控MySQL多實(shí)例實(shí)踐

4.在Zabbix agent上創(chuàng)建自動(dòng)發(fā)現(xiàn)端口的腳本、狀態(tài)監(jiān)控腳本。

原理說明:
通過自動(dòng)發(fā)現(xiàn)規(guī)則來獲取MySQL實(shí)例的端口,自動(dòng)發(fā)現(xiàn)規(guī)則上的{$MYSQLPORT}是要傳遞給agent自動(dòng)發(fā)現(xiàn)腳本的參數(shù),這個(gè)值是從主機(jī)定義的宏{$MYSQLPORT}獲取過來的,自動(dòng)發(fā)現(xiàn)的腳本將其解析成{#MYSQLPORT}: 端口的形式,監(jiān)控項(xiàng)原型再根據(jù){#MYSQLPORT}的值來生成監(jiān)控項(xiàng),大致流程如下:
主機(jī)定義宏{$MYSQLPORT}->自動(dòng)發(fā)現(xiàn)規(guī)則鍵值{$MYSQLPORT}->調(diào)用agent上自動(dòng)發(fā)現(xiàn)腳本并解析成{#MYSQLPORT} : 端口 ->監(jiān)控項(xiàng)原型{#MYSQLPORT}->自動(dòng)生成主機(jī)監(jiān)控項(xiàng)

三、環(huán)境說明:
OS:CentOS Linux release 7.6.1810 (Core)
Zabbix Server 版本:4.2.4
MySQL端口:3306,3307
3306 socket:/tmp/mysql3306.sock
3307 socket:/tmp/mysql3307.sock
腳本路徑:/etc/zabbix/scripts/

四、在agent創(chuàng)建監(jiān)控用的腳本
1.自動(dòng)發(fā)現(xiàn)腳本:/etc/zabbix/scripts/discovery_mysqlport.sh
#!/bin/bash
res=`echo $1| sed "s/
/\n/g"`;
port=($res)
printf '{\n'
printf '\t"data":[\n'
for key in ${!port[@]}
do
if [[ "${#port[@]}" -gt 1 && "${key}" -ne "$((${#port[@]}-1))" ]];
then
printf '\t {\n'
printf "\t\t\t\"{#MYSQLPORT}\":\"${port[${key}]}\"},\n"

else [[ "${key}" -eq "((${#port[@]}-1))" ]]
printf '\t {\n'
printf "\t\t\t\"{#MYSQLPORT}\":\"${port[${key}]}\"}\n"
fi
done
printf '\t ]\n'
printf '}\n'

執(zhí)行效果
zabbix監(jiān)控MySQL多實(shí)例實(shí)踐

2.狀態(tài)檢查腳本:/etc/zabbix/scripts/mysql_status.sh
#!/bin/bash
var=$1
MYSQL_USER="zabbix"
MYSQL_PASSWORD=123456
MYSQL_SOCK_DIR="/tmp/mysql$2.sock"

${mysql} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -S ${MYSQL_SOCK_DIR} -e "show global status;" 2> /dev/null |grep -v Variable_name|grep "\b${var}\b"|awk '{print $2}'

3.在agent上添加監(jiān)控項(xiàng)
UserParameter=mysql_discovery[],/etc/zabbix/scripts/discovery_mysql_port.sh $1
UserParameter=mysql.status[
],/etc/zabbix/scripts/mysql_status.sh $1 $2

4.重啟agent服務(wù)
systemctl restart zabbix-agent

自動(dòng)生成的監(jiān)控項(xiàng)效果圖:
zabbix監(jiān)控MySQL多實(shí)例實(shí)踐


本文名稱:zabbix監(jiān)控MySQL多實(shí)例實(shí)踐
文章來源:http://weahome.cn/article/ggdghh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部