使用Zabbix監控MySQL伺服器方法

2021-08-27 21:35:57 字數 3736 閱讀 9407

從zabbix 2.2開始,zabbix官方已經支援了mysql監控,但是mysql監控預設是不可用的,需要經過額外的設定才可以使用。kaijia將zabbix換到了新的伺服器時候效能綽綽有餘,於是決定充分發揮剩餘的記憶體和ssd效能,把mysql、apache、php-fpm等的監控也開起來

接下來就是被監控端(需要安裝zabbix agent)的設定了

./configure --enable-agent

make install

vi /usr/local/etc/zabbix_agentd.conf檔案

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新建乙個帳戶。

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目錄下【推薦這種方法】

因為在/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

上圖

參考文章

zabbix使用自帶模板監控MySQL

監控mysql不能直接使用zabbix自帶模板,還需要到被監控的mysql客戶端做配置。2 設定完帳戶之後在被監控端新建 etc zabbix my.cnf以提供zabbix agent訪問資料庫,內容類似如下 vim etc zabbix my.cnf mysql host localhost u...

zabbix 配置mysql監控

本身zabbix agent沒有提供對mysql監控的key,所以需要自定義key來應用這個模板 預設的模板有以下三類 mysql.status var mysql.ping mysql.version mysql的監控就是用show status命令檢視相關的引數,取值 在agent端編寫key的...

Zabbix配置mysql監控

環境 ubuntu16.04 zabbix3.2,mysql5.7 1.zabbix在s端的配置很多博主有寫,不做贅述,web配置時提示missing哪個檔案就apt get install即可,例如missing mbstring,安裝php7.0 mbstring即可,缺少database su...