[Zabbix] Giám sát MariaDB sử dụng zabbix agent

Mục lục

Trong bài viết này, mình sẽ hướng dẫn các bạn monitor MariaDB/MySQL sử dụng zabbix

1. Mô hình triển khai

Thông tin:

  • Zabbix version 4.4: 192.168.1.16
  • MariaDB version 10.1.48: 192.168.1.20

2. Chuẩn bị môi trường

Tắt selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
reboot

Mở port firewalld

firewall-cmd --zone=public --permanent --add-port=10050/tcp
firewall-cmd --reload

3. Cài đặt zabbix agent

Cài đặt gói zabbix agent 4.4

rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm 
yum install zabbix-agent -y

Khai báo thông tin zabbix trong file /etc/zabbix/zabbix_agentd.conf

Server=192.168.1.16
ServerActive=192.168.1.16
Hostname=[hostname của zabbix server]

Khởi động zabbix agent

systemctl start zabbix-agent
systemctl enable zabbix-agent

4. Cấu hình MariaDB

Tạo user ‘monitor’

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

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

[client]
user = monitor
password = <password>

Kiểm tra trong file /etc/zabbix/zabbix_agentd.conf có dòng sau (đã bỏ comment)

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

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='<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"

Khởi động lại zabbix agent

systemctl restart zabbix-agent

5. Thêm host MariaDB vào zabbix

Tạo host

Thêm template

Với các bước cơ bản, ta đã có thể giám sát MySQL

Để lại một bình luận 0

Your email address will not be published. Required fields are marked *