老爷子88 发表于 2018-10-23 07:13:23

zabbix 監控mysql server (筆記)


[*]  安裝完zabbix後,默認的監控mysql模板是不能用的,即使添加上去了,也是顯示為紅色的unsupper,因此我們需要做一些配置.首先需要在想要監控的mysql server上新建授權用戶,讓zabbix_agent對數據庫有查詢,以及狀態監測等權限.

  mysql -uroot-p -e "GRANT USAGE ON *.* TO 'zabbix'@'127.0.0.1'>
  mysql -uroot-p -e "GRANT USAGE ON *.* TO 'zabbix'@'localhost'>  mysql -uroot-p -e"flush privileges"

[*]  測試授權用戶是否創建成功以及是否有相應權限.
  mysql –uzabbix –pzabbix–e “status”
  如果出現下面輸出就是OK了.
  Connectionid:          9561
  Currentdatabase:
  Currentuser:         zabbix@localhost
  SSL:                  Not in use
  Currentpager:          stdout
  Usingoutfile:          ''
  Usingdelimiter:      ;
  Serverversion:         5.1.72-2 (Debian)
  Protocolversion:       10
  Connection:             Localhost via UNIX socket
  Servercharacterset:    utf8
  Db   characterset:    utf8
  Clientcharacterset:    utf8
  Conn.characterset:    utf8
  UNIXsocket:         /var/run/mysqld/mysqld.sock
  Uptime:               4 days 23 hours 50 min 4 sec
  Threads: 1Questions: 153764Slow queries: 25Opens: 1746 Flush tables: 1

[*]  進入zabbix_agent的配置目錄,如我這裡是/usr/local/etc/zabbix24, 新建一個文件用來保存登錄mysql的用戶以及密碼, 文件名字為 .my.cnf(注意前面有個小點)
  
  user=zabbix
  password=zabbix
  
  user=zabbix
  password=zabbix

[*]  在配置文件目錄內還有一個配置目錄,用來加載其他自定義配置的zabbix_agentd.conf.d ,在此目錄裡新建配置文件userparameter_mysql.conf ,添加如下內容
  UserParameter=mysql.status
[*],echo"show global status where Variable_name='$1';" |HOME=/usr/local/etc/zabbix24 mysql -N | awk '{print $$2}'
  UserParameter=mysql.size
[*],echo"select sum($(case "$3" in both|"") echo"data_length+index_length";; data|index) echo "$3_length";;free) echo "data_free";; esac)) from information_schema.tables$([["$1" = "all" || ! "$1" ]] || echo " wheretable_schema='$1'")$([[ "$2" = "all" || !"$2" ]] || echo "and table_name='$2'");" |HOME=/usr/local/etc/zabbix24 mysql –N
  UserParameter=mysql.ping,HOME=/usr/local/etc/zabbix24mysqladminping | grep -c alive
  UserParameter=mysql.version,mysql–V
  一共4行,如果你的zabbix_agent配置目錄不是這裡,請替換上面內容的HOME 後面為正確的路徑.

[*]  修改zabbix_agentd.conf ,啟用自定義配置.
  EnableRemoteCommands=1   #啟用遠程執行命令
  UnsafeUserParameters=1#啟用不安全的用戶參數,可以在參數後直接加密碼
  Include=/usr/local/etc/zabbix24/zabbix_agentd.conf.d/*.conf#去掉註釋,修改正確路徑

[*]  重啟zabbix_agentd 服務.然後在zabbix server上對需要監控的server添加mysql模板.
  添加好後轉到items項看看MYSQL 項,沒有出現紅色的unsupper, 而是變成了綠色的enabled 就是成功了.
  備註:
  此文是根據一個老外的博客完成的.因為老外寫的東西沒有寫完整,導致我也摸索了好久.有興趣的朋友也可以去看看.原文在這裡:
  http://blog.themilkyway.org/2013/12/zabbix-mysql-monitoring-notes/
  這篇筆記僅能配置為zabbix自帶的監控模板功能,如果需要更高級的其他監控,得自己寫key .這個不深究了.有興趣的自己去研究下. 網上找到的各種教程,不是錯亂不對,就是多年前的zabbix 2.0時候的東西,剛開始弄的時候也是各種不行,所以寫了這篇筆記,給眾多像我一樣的新手幫助,少走點彎路.

页: [1]
查看完整版本: zabbix 監控mysql server (筆記)