前言:本文是对这篇博客Zabbix: Partitioning MySQL / MariaDB database Tables in 5 min的翻译,如有翻译不当的地方,敬请谅解,请尊重原创和翻译劳动成果,转载的时候请注明出处。谢谢!

 

英文地址:https://bestmonitoringtools.com/zabbix-partitioning-tables-on-mysql-database

 

在本教程中,我们将逐步学习如何使用分区脚本(partitioning script)在MySQL或MariaDB服务器上对Zabbix数据库(history和trends表)进行分区。

 

Zabbix从主机采集数据并将其存储在history和trends表中,Zabbix的history表中保存原始数据(Zabbix采集的每一个值),trends表中存储每小时内的合并数据,那些数据的平均值、最小值、最大值。

 

Zabbix的housekeeping进程负责删除trends表和history表中的旧数据。使用delete语句从数据库删除旧数据可能对数据库性能产生负面的性能影响。因此,我们中许多人都收到过令人讨厌的警报Zabbix housekeeper processes more than 75% busy

 

 

这个问题能够通过数据库分区方案轻松的解决。每小时或每一天为分区表创建一个分区,并在不需要它们的时候,删除这些分区。使用SQL删除分区比使用DELET语句删除数据更高效。

 

你可以将本教程用于任何Zabbix 3.0之后的版本(3.2、3.4、4.0、4.2、4.4、5.0、5.2等)

 

在开始之前,请备份你的zabbix数据库,但是如果是新安装的Zabbix Server,则无需备份。

 

步骤1:下载分区脚本进行分区

 

在数据库服务器上下载并解压SQL脚本zbx_db_partitiong.sql

 

wget https://bestmonitoringtools.com/wp-content/uploads/2019/10/zbx_db_partitiong.tar.gz
 
tar -zxvf zbx_db_partitiong.tar.gz

相关文章:

  • 2021-11-09
  • 2021-10-01
  • 2021-12-02
  • 2021-09-10
  • 2021-08-26
  • 2021-11-17
猜你喜欢
  • 2021-11-20
  • 2022-12-23
  • 2022-03-03
  • 2021-07-29
  • 2021-11-17
  • 2021-08-27
  • 2021-08-04
相关资源
相似解决方案