使用Zabbix監控MySQL服務器方法

 

      從Zabbix 2.2開始,Zabbix官方已經支持了MySQL監控,可是MySQL監控默認是不可用的,須要通過額外的設置纔可使用。Kaijia將Zabbix換到了新的服務器時候性能綽綽有餘,因而決定充分發揮剩餘的內存和SSD性能,把MySQL、Apache、PHP-FPM等的監控也開起來 html

 

      首先要肯定Zabbix服務有MySQL的監控模板。MySQL模板默認包含在了Zabbix 2.2中,但若是是從較舊版本的Zabbix升級而來的話可能這個模板並無導入。這種狀況的話須要訪問Zabbix官方的Wiki頁面下載此模板Template_App_MySQL-2.2.0.xml而後在Zabbix服務器的前端Web界面的組態 前端

 

    接下來就是被監控端(須要安裝Zabbix Agent)的設置了 mysql

   

    怎麼安裝Zabbix Agent我就簡單說明下好了將zabbix源碼文件下載到/tmp/install目錄下 sql

    ./configure --enable-agent vim

     make install 服務器

     vi /usr/local/etc/zabbix_agentd.conf文件 socket

    

Server=192.168.153.181#Zabbix Server輪詢Agent
ListenPort=10050
ListenIP=0.0.0.0
ServerActive=192.168.153.181#Agent主動請求Zabbix Server

   

  

    

     首先要創建一個MySQL賬戶用於Zabbix Agent登陸獲取MySQL狀態,這個賬戶不須要任何權限固然能夠登陸被監控端的MySQL新建一個賬戶。 tcp

      

GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY '密碼';
FLUSH PRIVILEGES;

 

     修改mysql配置文件 vim /etc/my.cnf (yum默認安裝的mysql,配置文件就在/etc/my.cnf) 性能

[client]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
default-character-set=utf8

[mysqld]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
skip-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8
default-character-set=utf8
log-bin=mysql-bin
binlog_format=mixed
server-id       = 1
[mysqldump]
quick
max_allowed_packet = 16M

#將一下配置內容放到/var/lib/zabbix更好一些
[mysql]
host=localhost
user=zabbix
password=zabbix
socket=/var/lib/mysql/mysql.sock

no-auto-rehash


[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

#將一下配置內容放到/var/lib/zabbix更好一些
[mysqladmin]
host=localhost
user=zabbix
password=zabbix
socket=/var/lib/mysql/mysql.sock

 

 

  這裏推薦將如下配置,建立一個文件.my.cnf放到/var/lib/zabbix目錄下【推薦這種方法】 ui

  由於在/usr/local/etc/zabbix_agentd.conf.d/userparameter_mysql.conf文件中指定了目錄

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 " where table_schema='$1'")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name='$2'");" | HOME=/var/lib/zabbix mysql -N

UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V

 

[mysql]
host=localhost
user=zabbix
password=zabbix
socket=/var/lib/mysql/mysql.sock

[mysqladmin]
host=localhost
user=zabbix
password=zabbix
socket=/var/lib/mysql/mysql.sock

     

 

    修改zabbix agent配置

    vim /usr/local/etc/zabbix_agentd.conf (源碼安裝的,沒有設置--prefix,配置文件目錄就在這個)

 

   拷貝userparameter_mysql.conf 文件到/usr/local/etc/zabbix_agentd.conf.d/目錄下(具體安裝路徑請根據實際狀況修改)

# cp /tmp/install/zabbix-2.2.9/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/etc/zabbix_agentd.conf.d/userparameter_mysql.conf

         

 

   拷貝服務腳本,放到/etc/rc.d/init.d  使得可讓chkconfig管理服務

cp /tmp/install/zabbix-2.2.9/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/

 

      啓動zabbix_agent服務(要先建立zabbix用戶 Linux用戶)

   若是已經開啓過了,就重啓服務

  

service zabbix_agentd restart

 

     最後別忘了開啓防火牆10050端口

  -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT

  

   上圖

  

 

   參考文章

http://www.kaijia.me/2014/01/use-zabbix-monitor-mysql-server/

http://waringid.blog.51cto.com/65148/1156013/

相關文章
相關標籤/搜索