Original: 79656771
Brief introduction
Before primarily using Nagios to monitor MySQL, this article mainly introduces the use of percona-monitoring-plugins monitoring Mysql,percona monitoring plug-in is PHP development, so to install PHP environment in the agent.
Configure the installation
I. zabbix-agent-side operation
1. Install software dependencies
yum install php php-mysql -y
2. Installing the Percona Plugin
#centos 6RPM-UVH https://www.percona.com/downloads/ Percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/ Binary/redhat/6/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm #centos 7RPM-UVH https://www.percona .com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/ Binary/redhat/7/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm
3. Copy the configuration file to the Zabbix_agent related directory
cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/#重启生效service zabbix-agent restart
4. Add a read-only account to the database
grant process,super,replication client on *.* to ‘zabbix‘@‘localhost‘ identified by ‘zabbix‘;
Since monitoring MySQL requires the use of show processlist and master-slave commands, you need to give Zabbix permissions to process,super,replication client and other permissions.
5. Modifying script parameters
vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php$mysql_user = ‘zabbix‘;$mysql_pass = ‘zabbix‘;$mysql_port = 3306;$mysql_socket = ‘/tmp/mysql.sock‘;$mysql_flags = 0;
The above parameters need to be completed according to the actual
6. Modify Log Permissions
chown -R zabbix.zabbix /tmp/localhost-mysql_cacti_stats.txt
7. Testing
#在zabbix agent上测试MySQL.Threads-connected[root@test83 scripts]# bash /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh iu77#在zabbix server上测试[root@test250 ~]# /App/zabbix/bin/zabbix_get -s 10.10.5.83 -k MySQL.Threads-connected77
If the output is normal, the Percona-monitoring-plugins configuration is successful. Next we need to install the template.
Two. Zabbix-server-side operation
1. Import the Monitoring template
Import "Zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml" report as above error, cause the original template in 3.x using a problem, you need to import the template into 2.4 and everywhere.
2. To add a template to the client, we do not have more instructions here.
Solution:
Manually modify the template file to resolve the error is more troublesome, it was mentioned that you can import this template into the Zabbix 2.X series, and then export to Zabbix 3.0.
Here we directly use the ready-made Zabbix 3.X percona-zabbix-templates
Zbx_percona_mysql_template.xml Template Address
Three. Monitor MySQL master and slave
To operate on the slave node:
1. Permission needs to be improved
#若只分配select权限,需进一步提升权限grant process,super,replication client on *.* to ‘zabbix‘@‘localhost‘ identified by ‘zabbix‘;
2. Modify the Script
vim/ var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.shres= ' home=~zabbix MySQL- Uzabbix-pzabbix-e ' SHOW SLAVE status\g ' | egrep (slave_io_ Running| slave_sql_running): ' | Awk-f: ' {print $} ' | tr ' \ n ' ', ' Span class= "hljs-comment" > #修改后测试 [Root @test83 ~]# bash/var/ lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slavewarning:using A Password on the command line interface can be Insecure. 1
We see the output "warning:using a password on the command line interface can be insecure."
So we need to add the following in/ETC/MY.CNF:
[client]port = 3306socket = /tmp/mysql.sockuser = zabbixpassword = zabbix
Then change the script again to:
vim /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.shRES=`HOME=~zabbix mysql -e ‘SHOW SLAVE STATUS\G‘ | egrep ‘(Slave_IO_Running|Slave_SQL_Running):‘ | awk -F: ‘{print $2}‘ | tr ‘\n‘ ‘,‘`#测试[root@test83 ~]# bash /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave1
After the change, Zabbix will monitor MySQL master and slave, of course, we need to on the master node on the slave of the monitoring items in the template is disabled so that only the slave node synchronization can be monitored.
(GO) zabbix3.4 using Percona-monitoring-plugins to monitor MySQL