Hello!
I need an advice.
I'll try my best to describe a problem I'm facing. But it is a tricky one.
I have heavy-load zabbix server with 286 hosts and about 8k checks. Mostly SNMP.
Zabbix server version 4.0 with MySQL database
MySQL version 5.7.23
As amount of checks and hosts increased, MySQL IO load increased dramatically and I got a problem that using web interface becomes a pain. At this point I had mysql slave replication to perform zabbix-full backups because only-configuration backups are not an option. I need history (full database) backups at least once a week.
I decided to test proxySQL with zabbix server installation and configured it to forward "SELECT *" requests to slave replication. I thought that this way I will get rid of lags during WEB interface requests. As I didn't find any information if it is a good idea or not, I decided to give it a try.
Generally, it works fine and much faster. But sometimes zabbix sends for 300+ emails about status change. We have a problem - 150 emails queue created and problem solved - 150 emails, when it should send 6 (3+3).
I can't find a pattern and reason. But I think that zabbix tries to send an email, writes it to master database and checks if email queue was created, using SELECT. But as all SELECT requests go to slave, slave may be doesn't have a queue yet and zabbix server recreates it again. It doesn't happen all the time and it is very tricky to debug it.
The only solution here is to send email-checks SELECT requests to master database. But I need to know the request structure. What table holds email queue and what request is being send there to add it to proxySQL rule table.
But may be is it generally a bad idea to have this configuration?
Please advice!
Thanks
I need an advice.
I'll try my best to describe a problem I'm facing. But it is a tricky one.
I have heavy-load zabbix server with 286 hosts and about 8k checks. Mostly SNMP.
Zabbix server version 4.0 with MySQL database
MySQL version 5.7.23
As amount of checks and hosts increased, MySQL IO load increased dramatically and I got a problem that using web interface becomes a pain. At this point I had mysql slave replication to perform zabbix-full backups because only-configuration backups are not an option. I need history (full database) backups at least once a week.
I decided to test proxySQL with zabbix server installation and configured it to forward "SELECT *" requests to slave replication. I thought that this way I will get rid of lags during WEB interface requests. As I didn't find any information if it is a good idea or not, I decided to give it a try.
Generally, it works fine and much faster. But sometimes zabbix sends for 300+ emails about status change. We have a problem - 150 emails queue created and problem solved - 150 emails, when it should send 6 (3+3).
I can't find a pattern and reason. But I think that zabbix tries to send an email, writes it to master database and checks if email queue was created, using SELECT. But as all SELECT requests go to slave, slave may be doesn't have a queue yet and zabbix server recreates it again. It doesn't happen all the time and it is very tricky to debug it.
The only solution here is to send email-checks SELECT requests to master database. But I need to know the request structure. What table holds email queue and what request is being send there to add it to proxySQL rule table.
But may be is it generally a bad idea to have this configuration?
Please advice!
Thanks
Comment