首页
学习
活动
专区
工具
TVP
发布

zabbix3.4分区表配置

在使用zabbix的过程中,随着时间的推移,数据库中的历史数据会越来越多,会发现打开页面,查询数据等会变慢。zabbix 自带的 housekeeper会定时清理(默认一小时清理一次)旧的数据。不过在 housekeeper清理过中,会导致数据库负载极具增加。这里介绍另外一种办法,就是对几个历史数据表做分区表(partition table)可按照时间(每天)为维度,把历史数据存到各个分区表中,这样做有以下好处:

1.加快查询速度

2.快速清理过去一时间的历史数据(删除分区表)

配置

这里以zabbix3.4版本为例。使用itnihao的脚本即可(本人做了稍加修改):

zabbix 2.2分区脚本

http://cactifans.hi-www.com/zabbix/partitiontables.sh

zabbix3.4分区脚本

http://cactifans.hi-www.com/zabbix/partitiontables_gt_zbx34.sh

下载脚本到并赋予可执行权限,默认脚本详情数据保留30天,趋势数据保留12个月,可根据实际情况修改。修改脚本以下地方即可

脚本里默认的zabbix数据库主机为localhost,用户为zabbix,密码为zabbix,如果你的信息不是这个,可以修改脚本里的如下对应信息

修改好之后,赋予可执行权限。

分区

注意:执行分区表之前建议先停止zabbix server,如果不停止可能导致意外事件,备份好zabbix server数据库。因此建议安装好zabbix server之后就进行分区表。

完整执行过程如下

以上要输入数据库的root用户和root密码

是否需要备份数据库,这里我选n(之前备份过)

是否确认已经备份,y

分区表基本信息,确认执行

如果无错误,表示分区表创建成功。

确认

查看/etc/cron.daily/目录下是否有zabbixhousekeeping脚本,内容为

查看housekeeping.sh脚本,内容如下

每次分区大约在每晚凌晨3点左右执行,执行成功后,脚本会用mail程序把执行结果发送到上面的邮箱,如果不需要可以删除mail 一行即可。

邮件内容大概如图

即可看到删除过期的数据分区表,并建立新的分区表。

查看

如果要具体查看分区表的情况,可以进入zabbix数据库,执行以下SQL语句查看histroy表的分区情况

结果如下

可以看到已经按照事件维度分区,和表中数据行数,分区表成功。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180225G12L9900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券