自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Zabbix 自動發(fā)現(xiàn)并監(jiān)控 MySQL

運維 系統(tǒng)運維
因跑MySQL服務的服務器比較多,并且每臺服務器可能會運行多個不同端口的數(shù)據庫,如果單獨手動一臺一臺去修改agent.conf,web添加監(jiān)控,這樣太麻煩,費時費力。

 

一、方案需求及思路

因跑MySQL服務的服務器比較多,并且每臺服務器可能會運行多個不同端口的數(shù)據庫,如果單獨手動一臺一臺去修改agent.conf,web添加監(jiān)控,這樣太麻煩,費時費力。此時有兩種方案;其一:在每臺跑mysql的服務器上部署一個自動發(fā)現(xiàn)腳本,修改agent.conf 并自定義KEY;其二:統(tǒng)一由一臺服務器來監(jiān)控所有服務器上所有運行的mysql服務。發(fā)現(xiàn)好像方案二比較更簡便些。

方案二思路:

假設有A、B、C、D、E五臺服務器,上面都跑有mysql,并且每臺都跑有2+個mysql,在此假定由A服務器來監(jiān)控所有服務器上mysql的狀態(tài)。此時需要先把五臺服務器的IP及其上mysql服務所占用的port 記錄下來,統(tǒng)一寫到一個文件里:eg:

  1. 192.168.12.14  3306 
  2. 192.168.12.14  3307 
  3. 192.168.12.15  3308 
  4. 192.168.12.15  3380 
  5. …… 

把該文件放到zabbix 目錄下的某一個目錄,并賦權限,再寫一個json的腳本來調取此文件,并且需要在執(zhí)行腳本文件的時候來進行IP傳值并輸出該IP上所有的port。

添加自定義key。其中需要定義一個自動發(fā)現(xiàn)的key,然后定義一個根據IP查詢此服務器上所有端口的mysql狀態(tài)的key。重啟zabbix_agentd,通過zabbix_get來獲取參數(shù)看看是否正常。

配置web界面。在web配置界面中,創(chuàng)建一個主機,該主機的ip指向A服務器的IP,切該服務器的[HOST.NAME] 指向所要監(jiān)控mysql的IP,([HOST.NAME]一般指的是”Visable name”),把監(jiān)控mysql的服務器都指向一個組,然后調用自動發(fā)現(xiàn)mysql模版。之后在創(chuàng)建剩下的幾臺服務器即可。

此方案也不是一個很好的方案,但相對來說還是不錯的,以后若有新增加的mysql服務器,只需要修改寫有IP和PORT的列表文件即可,不需要重啟agent。

二、配置Agent:

1、編輯mysqld文件

  1. # cat  /usr/local/zabbix/bin/mysqld 
  2. 172.16.8.250  3306 
  3. 172.16.8.250  3309 
  4. 172.16.8.252  3306 
  5. 172.16.8.252  3307 

注:本文均在8.250上實現(xiàn)監(jiān)控252上的數(shù)據庫及本地250的數(shù)據庫

2、mysql賦權限

分別將四個數(shù)據庫都賦給172.16.8.250主機以用戶zabbix,密碼111的訪問,show global status權限。

3、編輯discovery_mysql.sh

  1. # cat  /usr/local/zabbix/bin/discovery_mysql.sh 
  2. #!/bin/bash 
  3. #mysql low-level discovery 
  4. #Script_name discovery_mysql.sh 
  5. res=`cat /usr/local/zabbix/bin/mysqld|grep $1|grep -v "^#"|awk '{print $2}'` 
  6. port=($res) 
  7. printf '{\n' 
  8. printf '\t"data":[\n' 
  9. for key in ${!port[@]} 
  10. do 
  11. if [[ "${#port[@]}" -gt 1 && "${key}" -ne "$((${#port[@]}-1))" ]];then 
  12. printf '\t {\n' 
  13. printf "\t\t\t\"{#MYSQLPORT}\":\"${port[${key}]}\"},\n" 
  14. else [[ "${key}" -eq "((${#port[@]}-1))" ]] 
  15. printf '\t {\n' 
  16. printf "\t\t\t\"{#MYSQLPORT}\":\"${port[${key}]}\"}\n" 
  17. fi 
  18. done 
  19. printf '\t ]\n' 
  20. printf '}\n' 

賦執(zhí)行權限:

  1. # chmod  +x  /usr/local/zabbix/bin/discovery_mysql.sh 

測試執(zhí)行效果:

  1. # sh  /usr/local/zabbix/bin/discovery_mysql.sh 172.16.8.250 
  2. "data":[ 
  3. "{#MYSQLPORT}":"3306"}, 
  4. "{#MYSQLPORT}":"3309"} 

把上述結果粘貼到json檢測網站,查看結果是否正確 http://jsonlint.com/

4、修改agentd.conf

開啟include選項

  1. Include=/usr/local/zabbix/etc/zabbix_agentd/ 

添加mysql自動發(fā)現(xiàn)規(guī)則,自定義key

  1. # cat  /usr/local/zabbix/etc/zabbix_agentd/mysql_discovery.conf 
  2. #### $1 ==IP  $2 == PORT  $3==COMMAND 
  3. UserParameter=zabbix_low_discovery[*],/bin/bash /usr/local/zabbix/bin/discovery.sh $1 
  4. UserParameter=mysql_stats[*],mysql -uzabbix -p111 -P$2 -h$1 -e "show global status"|grep "\<$3\>"|cut  -f2 
  5. UserParameter=mysql.alive[*],mysqladmin -uzabbix -p111 -h$1 -P$2 ping|grep -c alive 

5、測試:

重啟zabbix_agentd,在zabbix server中通過zabbix_get測試zabbix mysql自動發(fā)現(xiàn)規(guī)則是否正確。

注:172.16.8.250是zabbix server,agent地址為127.0.0.1,請根據自己情況修改下面命令。

  1. # zabbix_get  -s 127.0.0.1  -k  zabbix_log_discovery[172.16.8.250] 
  2. "data":[ 
  3. "{#MYSQLPORT}":"3306"}, 
  4. "{#MYSQLPORT}":"3309"} 
  5. # zabbix_get  -s 127.0.0.1  -k mysql_stats[172.16.8.250,3306,Uptime] 

可正確取得數(shù)據便為正確,

轉載請注明原文出處:http://www.minunix.com/2014/04/zabbix_low_discovery_mysql_01/

三、Zabbix  WEB 添加主機

1、導入模版discovery_mysql.xml

2、添加主機:

 

鏈接模版:

 

注:因模版定義的更新時間為3600s,如需快速看到效果,可先修改模版自定義規(guī)則的“Interval”更新時間改為60,之后便可再”last data”中看到數(shù)據。

監(jiān)控172.16.8.252,只需要創(chuàng)建主機,將visable name 的值172.16.8.250 改為172.16.8.252即可。

 

責任編輯:黃丹 來源: MinUnix
相關推薦

2023-09-06 18:16:14

自動發(fā)現(xiàn)Zabbix網絡

2016-11-09 08:35:24

zabbixmongo數(shù)據庫

2017-01-18 10:57:24

MySQLZabbix監(jiān)控

2011-04-01 16:40:00

2021-07-13 07:12:04

Zabbix監(jiān)控網絡設備

2015-01-16 10:56:12

賽門鐵克DLP

2022-05-23 07:48:10

zabbix監(jiān)控CentOS7

2014-04-09 11:43:54

Zabbix監(jiān)控Mysql數(shù)據庫

2014-07-10 10:43:49

zabbix主從監(jiān)控

2021-07-07 05:46:46

運維監(jiān)控Prometheus

2014-02-24 11:46:02

Zabbix監(jiān)控系統(tǒng)

2020-12-10 09:41:15

ZabbixOracle數(shù)據庫

2016-09-07 13:15:24

Zabbix監(jiān)控Action

2011-03-29 11:27:37

監(jiān)控Zabbix

2011-03-29 13:25:10

Zabbix監(jiān)控

2021-05-18 07:17:37

Java

2011-09-15 09:33:20

自動監(jiān)控MySQL同步

2011-03-29 11:17:57

ZABBIX監(jiān)控

2021-05-28 08:31:51

Zabbix監(jiān)控公有云

2011-04-01 17:22:32

ZABBIX監(jiān)控
點贊
收藏

51CTO技術棧公眾號