zabbix-3.2.4監控mysql伺服器效能

來源:互聯網
上載者:User

標籤:伺服器效能   mysql資料庫   使用者名稱   x86   檢查   配置資訊   mod   bash   size   

環境:centos7
已安裝
  zabbix-agent-3.2.4-2.el7.x86_64
  zabbix-server-mysql-3.2.4-2.el7.x86_64
  zabbix-web-3.2.4-2.el7.noarch
  zabbix-web-mysql-3.2.4-2.el7.noarch
  zabbix-release-3.2-1.el7.noarch
  zabbix-get-3.2.4-2.el7.x86_64

查看zabbix_agentd.conf設定檔:

PidFile=/var/run/zabbix/zabbix_agentd.pidLogFile=/var/log/zabbix/zabbix_agentd.logLogFileSize=0Server=127.0.0.1    //當系統設定有多個IP時,需要指定一個IP與二級代理或服務端通訊,若系統只有一個IP,也建議指定一個IPListenPort=10050ServerActive=127.0.0.1   //在主動模式下,ServerActive為二級Proxy 伺服器或伺服器,預設連接埠為10051Hostname=127.0.0.1    //手工自訂一個主機名稱,可以和系統的主機名稱一樣,也可以不一樣,此參數可根據實際情況啟用或關閉,建議關閉此參數,並啟用HostnameItem參數Include=/etc/zabbix/zabbix_agentd.d/*.conf

 


 
開始mysql效能監控
這裡可以採用zabbix內建的mysql模版,但是也需要在mysql伺服器上準備擷取mysql status的指令碼chk_mysql.sh,zabbix通過調用這個指令碼來擷取mysql的運行資訊。

1、在設定檔zabbix_agentd.conf裡面添加mysql監控資訊:

# vim /etc/zabbix/zabbix_agentd.confUserParameter=mysql.version,mysql -VUserParameter=mysql.status[*],/root/chk_mysql.sh $1         //chk_mysql.sh路徑根據實際情況UserParameter=mysql.ping,mysqladmin -uzabbix -pzabbix -P3306 -h127.0.0.1  ping | grep -c alive
//mysql資料庫名:zabbix,密碼:zabbix;主機地址和zabbix_agentd.conf中Hostname一致


2、mysql操作添加mysql帳號:
mysql>GRANT PROCESS,SUPER,REPLICATION CLIENT ON *.* TO [email protected]‘127.0.0.1‘ IDENTIFIED BY ‘zabbix‘;                              
 

 
3、mysql監控指令碼chk_mysql.sh 

#!/bin/bash# -------------------------------------------------------------------------------# FileName:    check_mysql.sh# Revision:    1.0# Date:        2015/06/09# Author:      DengYun# Email:       [email protected]# Website:     www.ttlsa.com# Description: # Notes:       ~# -------------------------------------------------------------------------------# Copyright:   2015 (c) DengYun# License:     GPL # 使用者名稱MYSQL_USER=‘zabbix‘ # 密碼MYSQL_PWD=‘zabbix‘ # 主機地址/IPMYSQL_HOST=‘127.0.0.1‘ # 連接埠MYSQL_PORT=‘3306‘ # 資料連線MYSQL_CONN="/usr/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST} -P${MYSQL_PORT}" # 參數是否正確if [ $# -ne "1" ];then     echo "arg error!" fi  # 擷取資料case $1 in     Uptime)         result=`${MYSQL_CONN} status|cut -f2 -d":"|cut -f1 -d"T"`         echo $result         ;;     Com_update)         result=`${MYSQL_CONN} extended-status |grep -w "Com_update"|cut -d"|" -f3`         echo $result         ;;     Slow_queries)         result=`${MYSQL_CONN} status |cut -f5 -d":"|cut -f1 -d"O"`         echo $result         ;;     Com_select)         result=`${MYSQL_CONN} extended-status |grep -w "Com_select"|cut -d"|" -f3`         echo $result                 ;;     Com_rollback)         result=`${MYSQL_CONN} extended-status |grep -w "Com_rollback"|cut -d"|" -f3`                 echo $result                 ;;     Questions)         result=`${MYSQL_CONN} status|cut -f4 -d":"|cut -f1 -d"S"`                 echo $result                 ;;     Com_insert)         result=`${MYSQL_CONN} extended-status |grep -w "Com_insert"|cut -d"|" -f3`                 echo $result                 ;;     Com_delete)         result=`${MYSQL_CONN} extended-status |grep -w "Com_delete"|cut -d"|" -f3`                 echo $result                 ;;     Com_commit)         result=`${MYSQL_CONN} extended-status |grep -w "Com_commit"|cut -d"|" -f3`                 echo $result                 ;;     Bytes_sent)         result=`${MYSQL_CONN} extended-status |grep -w "Bytes_sent" |cut -d"|" -f3`                 echo $result                 ;;     Bytes_received)         result=`${MYSQL_CONN} extended-status |grep -w "Bytes_received" |cut -d"|" -f3`                 echo $result                 ;;     Com_begin)         result=`${MYSQL_CONN} extended-status |grep -w "Com_begin"|cut -d"|" -f3`                 echo $result                 ;;                                 *)         echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)"         ;; esac
check_mysql.sh

添加check指令碼許可權:
[[email protected]~]#chmod u+x /root/chk_mysql.sh
[[email protected]~]#chown -R zabbix.zabbix

 

                                                                                                                                    
4、去zabbix伺服器上面檢查基本mysql伺服器資訊是否能正常擷取到:
[[email protected]~]# zabbix_get -s 127.0.0.1 -p10050 -k "system.cpu.load[all,avg15]";         //127.0.0. 1 與zabbix_agentd.conf 中 server一致                     
0.050000
[[email protected]~]#

 

zabbix web設定
1,建立mysql host groups組
模板是 zabbix系統提供的,進入 zabbix web 後台,Configuration-->Hosts groups-->點擊“Create host group”-->選擇template選項卡,選擇模板“TemplateApp MySQL,Templdate OS Linux”,最後點擊update 即可
  
2,建立hosts
模板是 zabbix系統提供的,進入zabbix web 後台,configuration-->hosts-->點擊你的主機 name-->選擇template選項卡,選擇模板“Template App MySQL”,最後點擊左邊的“Add”按鈕,最後點擊“update”按鈕即可

   

3,監控效能檢視
監控指令碼運行正常後,就會在zabbix-server的host下面的graph裡面看到mysql的監控效能檢視,monitoring-->Graphs-->Host(選擇mysql伺服器) Graph(選擇mysql選項),可以看到效能監控視圖,zabbix內建模版預設有2個效能圖,這些圖要等運行一段時間後才能畫出來

  

 

附:
查看zabbix web管理段工程下面的資料庫配置資訊
[[email protected]~]# vim /xxxx/zabbix.conf.php                                            

<?php// Zabbix GUI configuration file.global $DB; $DB[‘TYPE‘]                              = ‘MySQL‘;$DB[‘SERVER‘]                         = ‘127.0.0.1‘;$DB[‘PORT‘]                              = ‘3306‘;$DB[‘DATABASE‘]                       = ‘zabbix‘;$DB[‘USER‘]                              = ‘zabbix‘;$DB[‘PASSWORD‘]                       = ‘zabbix‘;// Schema name. Used for IBM DB2 and PostgreSQL.$DB[‘SCHEMA‘]                   = ‘‘; $ZBX_SERVER                     = ‘localhost‘;$ZBX_SERVER_PORT                = ‘10051‘;$ZBX_SERVER_NAME                = ‘‘; $IMAGE_FORMAT_DEFAULT   = IMAGE_FORMAT_PNG;?> 

 

 

zabbix-3.2.4監控mysql伺服器效能

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.