Tiếp tục bài viết về Zabbix, hôm này mình sẽ Hướng dẫn giám sát MySQL/MariaDB với Zabbix Agent. Mời các bạn thực hiện cũng mình nhé.

Bước 1: Cài đặt Zabbix Agent

  • Hướng dẫn cài đặt Zabbix Agent trên Ubuntu 20.04

Bước 2: Cấu hình MySQL/MariaDB

Tạo User

Bạn hãy tạo một user mới , ở đây mình tạo user có tên là monitor. Và lưu ý ở phần password bạn hãy đặt passwd của bạn vào.

mysql -u root -p
CREATE USER 'monitor'@'localhost' IDENTIFIED BY 'password';
GRANT USAGE ON *.* TO 'user'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
quit;
image 14
Hướng dẫn giám sát MySQL/MariaDB với Zabbix Agent 8

Tạo file .my.cnf

Bạnc ần tạo file .my.cnf trong đường dẫn home của Zabbix là /var/lib/zabbix, khai báo thông tin user như sau

mkdir -p /var/lib/zabbix
vi /var/lib/zabbix/.my.cnf

Sau đó dán nội dung sau vào file .my.cnf. Lưu ý hãy thay password bằng password đã tạo ở bước trên.

[client]
user = monitor
password = 

Bây giờ bạn hãy kiểm tra trong file /etc/zabbix/zabbix_agentd.conf có dòng sau (đã bỏ comment chưa)

Include=/etc/zabbix/zabbix_agentd.d/*.conf

Tiếp đến bên trong thư mục /etc/zabbix/zabbix_agentd.d/ sẽ có file userparameter_mysql.conf. Nếu chưa, bạn phải tạo lại file này và thêm nội dung sau.

#template_db_mysql.conf created by Zabbix for "Template DB MySQL" and Zabbix 4.2
#For OS Linux: You need create .my.cnf in zabbix-agent home directory (/var/lib/zabbix by default) 
#For OS Windows: You need add PATH to mysql and mysqladmin and create my.cnf in %WINDIR%\my.cnf,C:\my.cnf,BASEDIR\my.cnf https://dev.mysql.com/doc/refman/5.7/en/option-files.html
#The file must have three strings:
#[client]
#user="zbx_monitor"
#password=''
#
UserParameter=mysql.ping[*], mysqladmin -h"$1" -P"$2" ping
UserParameter=mysql.get_status_variables[*], mysql -h"$1" -P"$2" -sNX -e "show global status"
UserParameter=mysql.version[*], mysqladmin -s -h"$1" -P"$2" version
UserParameter=mysql.db.discovery[*], mysql -h"$1" -P"$2" -sN -e "show databases"
UserParameter=mysql.dbsize[*], mysql -h"$1" -P"$2" -sN -e "SELECT COALESCE(SUM(DATA_LENGTH + INDEX_LENGTH),0) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"
UserParameter=mysql.replication.discovery[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"
UserParameter=mysql.slave_status[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"

Và bây giờ bạn hãy khởi động lại Zabbix agent

systemctl restart zabbix-agent

Bước 3: Thêm Host, Template monitor MySQL/MariaDB

Bây giờ bạn hãy thêm Templates MySQL vào host để bắt đầu monitor nhé. Nếu bạn chưa biết cách thêm, tạo host hãy tham khảo bài viết sau của mình.

  • Giám sát máy chủ với Zabbix Server
Hướng dẫn giám sát MySQL/MariaDB với Zabbix Agent
Hướng dẫn giám sát MySQL/MariaDB với Zabbix Agent 9
Hướng dẫn giám sát MySQL/MariaDB với Zabbix Agent
Hướng dẫn giám sát MySQL/MariaDB với Zabbix Agent 10

Chúc bạn thực hiện thành công.