[Zabbix-3] Thiết lập giám sát Database MySQL/MariaDB bằng Zabbix Server

Tiếp tục về series về zabbix, ở bài viết này mình sẽ hướng dẫn các bạn cách giám sát MySQL/MariaDB với Zabbix. Nếu các bạn chưa xem các bài viết trước, các bạn có thể xem lại tại đây Trước khi đi vào thiết lập giám sát MySQL/MariaDB, bạn cần đảm bảo rằng trên máy

Tiếp tục về series về zabbix, ở bài viết này mình sẽ hướng dẫn các bạn cách giám sát MySQL/MariaDB với Zabbix. Nếu các bạn chưa xem các bài viết trước, các bạn có thể xem lại tại đây

Trước khi đi vào thiết lập giám sát MySQL/MariaDB, bạn cần đảm bảo rằng trên máy chủ đã cài đặt zabbix agent.

Hướng dẫn cấu hình

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

Tạo một user mới, ở đây mình tạo một user có tên là zabbix, và grant các quyền cho nó

mysql -u root -p
CREATE USER zabbix@localhost IDENTIFIED BY '<password>';
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
quit;

Bước 2: Tạo file .my.cnf

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

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

sau đó dán nội dung sau vào file .my,cnd

[client]
user = zabbix
password = <password>

Bước 3: Kiểm tra cấu hình trong file zabbix_agentd.conf

Bây giờ chúng ta sẽ kiểm tra trong file /etc/zabbix/zabbix_agentd.conf đã bỏ comment dòng sau chưa (nếu chưa có thì thêm vào)

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

Bước 4: Tạo file userparameter_mysql.conf
Tiếp đến vào bên trong thư mục /etc/zabbix/zabbix_agent.d/ sẽ có file userparameter_mysql.conf. Nếu chưa, bạn 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,BASEDIRmy.cnf https://dev.mysql.com/doc/refman/5.7/en/option-files.html
#The file must have three strings:
#[client]
#user='zbx_monitor'
#password='<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"

Note: Các bạn nhớ chú ý tìm đúng template monitor theo version của mysql và zabbix, template trên mình đang test cho mysql version 5.6 và zabbix server 5.0

Bước 5: Bây giờ khởi động lại zabbix agent

systemctl restart zabbix-agent

Bước 6: Thêm Host và chọn template MySQL/MariaDB

Truy cập giao diện zabbix server, chọn Configuration >> Host >> Create Host
image.png

Chọn template DB MySQL
image.png

Sau khi điền các thông tin cần thiết như hình trên, nhấn Add để hoàn thành.

Nguồn: viblo.asia

Bài viết liên quan

WebP là gì? Hướng dẫn cách để chuyển hình ảnh jpg, png qua webp

WebP là gì? WebP là một định dạng ảnh hiện đại, được phát triển bởi Google

Điểm khác biệt giữa IPv4 và IPv6 là gì?

IPv4 và IPv6 là hai phiên bản của hệ thống địa chỉ Giao thức Internet (IP). IP l

Check nameservers của tên miền xem website trỏ đúng chưa

Tìm hiểu cách check nameservers của tên miền để xác định tên miền đó đang dùn

Mình đang dùng Google Domains để check tên miền hàng ngày

Từ khi thông báo dịch vụ Google Domains bỏ mác Beta, mình mới để ý và bắt đầ