rdcwayx 发表于 2014-09-05 17:43

zabbix 的 mysql数据库清理

zabbix服务器运行了一年了,数据库很大了,50GB以上,希望能够做个瘦身。听听大家的意见。

一台zabbix,监控100台左右的agents。 环境全在云上,zabbix数据库用的是aws RDS. 也就是说没有数据库服务器,没法直接登录到数据库服务器上,只能通过sql tools 链接数据库来管理。 所有的查询,清理命令都必须通过sql命令来运行。

能够在不损失至少3个月内的数据的情况下做瘦身。 大家都是如何做的。

我用的sql管理软件是: MysqlWorkbench
数据库版本是: mysql (5.5.27)

chengchow 发表于 2014-09-09 11:25

本帖最后由 chengchow 于 2014-09-09 11:27 编辑

zabbix没玩过,不知道数据库结构是怎么样的,给你个通用的方法
开启MYSQL二进制日志,3个月后,删除数据,通过二进制日志恢复最后3个月数据
...
其实我估计你不是数据库大了,是二进制日志没有清理,如果这样就简单多了
备份完数据库,然后去MYSQL界面删掉二进制日志就行了

rdcwayx 发表于 2014-09-09 15:00

chengchow 发表于 2014-09-09 11:25 static/image/common/back.gif
zabbix没玩过,不知道数据库结构是怎么样的,给你个通用的方法
开启MYSQL二进制日志,3个月后,删除数据, ...

这个命令可以用来查找最大的几个table sizeSELECT table_name AS "Tables",
round(((data_length + index_length) / 1024 / 1024), 2) "Size in MB"
FROM information_schema.TABLES
WHERE table_schema = 'zabbix'
ORDER BY (data_length + index_length) DESC;
我这边运行了这个命令后, 就这个两个table: history_uint (30GB) 和 history (24GB) 就用掉几乎全部的空间了。 这样的话,目标已经找到。

table 结构:desc history_uint
field, type, null, key, default,extra有什么建议吗?

chengchow 发表于 2014-09-09 15:32

本帖最后由 chengchow 于 2014-09-09 15:35 编辑

回复 3# rdcwayx
有开binary log吗,有就可以做,没有只能先开binary log功能,否则你无法判断哪些数据是3个月内的
当然,如果你数据插入的时候有添加日期那也可以
还是cacti好:mrgreen:
数据库大小几乎没增长过,RRD大小也没变化

   

rdcwayx 发表于 2014-09-09 21:49

chengchow 发表于 2014-09-09 15:32 static/image/common/back.gif
回复 3# rdcwayx
有开binary log吗,有就可以做,没有只能先开binary log功能,否则你无法判断哪些数据是 ...

binary log的功能我要先查一下。

zabbix有支持你提到的类似的历史记录自动整理功能,叫做 housekeeper:
http://zabbixzone.com/zabbix/history-tables-housekeeper/

但是有人说有缺陷,housekeeper开启的话,会损失性能。 我在想,就用housekeeper类似的方式,每次手工的做一下就可以了。

你能帮忙看一下,到底那些命令需要运行?

chengchow 发表于 2014-09-10 09:18

回复 5# rdcwayx
这个是MYSQL分区表原理来实现的,分区表这块我也不是很了解
性能受损主要是表现在查询上,原来只要查找一个表,现在会是N个表
不过这种做法也挺麻烦了,没过段时间就要去添加个分区表(可以通过脚本+cron)去实现!
...
这个做法应该比 binary log要好,binary log恢复数据库性能也会受损,
性能受损主要表现在写入,查询上基本不受影响,不过实现方法没有分区表安全
具体怎么做看你需要了
   

action08 发表于 2014-09-11 17:21

回复 5# rdcwayx


    谢谢推荐,其实线上环境性能不是首要点

bun 发表于 2014-12-01 23:46

action08 发表于 2014-12-02 08:56

再便宜也要钱的呀

lanni654321 发表于 2015-11-10 13:48

页: [1]
查看完整版本: zabbix 的 mysql数据库清理