Upgrade & Secure Your Future with DevOps, SRE, DevSecOps, MLOps!

We spend hours on Instagram and YouTube and waste money on coffee and fast food, but won’t spend 30 minutes a day learning skills to boost our careers.
Master in DevOps, SRE, DevSecOps & MLOps!

Learn from Guru Rajesh Kumar and double your salary in just one year.


Get Started Now!

How to monitor MySQL & mariadb using zabbix?


There are 2 default template has been given by Zabbix which can be used to MySQL metrices monitoring

  • MySQL by Zabbix agent
  • MySQL by Zabbix agent 2

Zabbix Template – MySQL by Zabbix agent

For Zabbix version: 6.0 and higher. The template is developed for monitoring DBMS MySQL and its forks.

This template was tested on:

  • MySQL, version 5.7, 8.0
  • Percona, version 8.0
  • MariaDB, version 10.4

Step 1 – Install MySQL Server or MariaDB

Step 2 – Install Zabbix agent

Step 4 – Work on template_db_mysql.conf


Copy template_db_mysql.conf into the folder with Zabbix agent configuration (/etc/zabbix/zabbix_agentd.d/ by default). Don't forget to restart Zabbix agent.
- https://gist.github.com/devops-school/155ad219966fdca8684e394a6df81681
- https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/mysql_agent

OR

# UBUNTU
$ sudo apt install mlocate
$ locate userparam
$ cp /usr/share/doc/zabbix-agent/userparameter_mysql.conf /etc/zabbix/zabbix_agentd.d/template_db_mysql.conf

#Centos/RHEL
$ yum install mlocate
$ updatedb
$ locate userparam
$ cp /usr/share/doc/zabbix-agent-6.0.0/userparameter_mysql.conf /etc/zabbix/zabbix_agentd.d/template_db_mysql.conf



Step 5 – Create a MySQL user for monitoring ( at your discretion):


locate my.cnf
vi /etc/my.cnf

$ systemctl stop mysql
$ systemctl start mysql
or
$ service stop mysql
$ service start mysql

$ mysql -u root -p
CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY 'DevOpsSchool$123';
GRANT ALL PRIVILEGES ON *.* TO 'zbx_monitor'@'%' IDENTIFIED BY 'DevOpsSchool$123' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit;

Step 6 – Create “.my.cnf” in the home directory of Zabbix agent


$ mkdir /var/lib/zabbix
$ vi /var/lib/zabbix/.my.cnf

Create ".my.cnf" in the home directory of Zabbix agent for Linux (/var/lib/zabbix by default ) or my.cnf in c:\ for Windows. The file must have three strings:

[client]
user='zbx_monitor'
password='DevOpsSchool$123'

Step 7 – Restart Zabbix Agent


$ service zabbix-agent start
$ systemctl enable zabbix-agent
$ service zabbix-agent restart

Step – 8 Add Macros to mysql host

  • In the Macros tab, switch to Inherited and host macros, look for the following macros and click on Change next to the macro value to update it:
    • {$MYSQL.DSN} – set the data source of the MySQL server (the connection string of a named session from the MySQL Zabbix agent 2 plugin configuration file). This guide uses the default data source “tcp://localhost:3306” for monitoring a MySQL server that is installed on the same machine as Zabbix server and Zabbix agent 2.
    • {$MYSQL.PASSWORD} – set the password of the previously created MySQL user “zbx_monitor”.
    • {$MYSQL.USER} – set the name of the previously created MySQL user “zbx_monitor”.

Add MySQL by Zabbix agent 2 to MySql HOST

Step 8 – Validate MySql Data in Zabbix

Reference

  • https://www.zabbix.com/documentation/current/en/manual/guides/monitor_mysql
  • https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/mysql_agent?at=release/6.4
  • https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/mysql_agent2?at=release%2F6.4
  • https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/mysql_agent2?at=release/6.4
  • https://www.zabbix.com/integrations/mysql#mysql_agent2
  • https://www.zabbix.com/integrations/mysql#mysql_agent
Subscribe
Notify of
guest
2 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
Simon A
Simon A
1 year ago

Giving full access to the zabbix service user seems very insecure, especially as the creds are stored in plaintext ondisk. :/

znoch
znoch
1 year ago

How can I monitor MySQL databases by SNMP from ZABBIX?
Can you help provide tips or website to do it?

Last edited 1 year ago by znoch
DevOps Certification, SRE Certification, and DevSecOps Certification by DevOpsSchool

Explore our DevOps Certification, SRE Certification, and DevSecOps Certification programs at DevOpsSchool. Gain the expertise needed to excel in your career with hands-on training and globally recognized certifications.

2
0
Would love your thoughts, please comment.x
()
x