+2

[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 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,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='<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.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí