处理Zabbix历史数据库办法一

  

#,ls  lh | grep  G   total  248克   -rw-rw——, 1, mysql  mysql  4.7 g  May , 5, 21:34  alerts.ibd   -rw-rw——, 1, mysql  mysql  3.4 g  May , 5, 21:34  events.ibd   -rw-rw——, 1, mysql  mysql , 95 g  May , 5, 21:34  history.ibd   -rw-rw——, 1, mysql  mysql , 25 g  May , 5, 21:34  history_text.ibd   -rw-rw——, 1, mysql  mysql  112 g  May , 5, 21:34  history_uint.ibd   -rw-rw——, 1, mysql  mysql  2.9 g  May , 5, 21:34  trends.ibd   -rw-rw——, 1, mysql  mysql  4.3 g  May , 5, 21:34  trends_uint。ibd


整个Zabbix数据库目录大小为248G,history和history_text以及history_uint几张表就占用了大部分磁盘空间




这里需要特别注意一下,在部署Zabbix架构的时候最好选择Zabbix server ---- Zabbix proxy --- Zabbix --- agent的架构。即使只有几台主机最好也部署一个proxy,根据不同应用或者不同的机房可以部署多个proxy。部署zabbix有以下几个好处:

proxy专门收集和暂存agent发来的数据,可以减轻server端的压力

使用proxy可以实现分布式监控,例如监控不同网络互相不通的服务器

增强安全性,不直接暴露zabbix server的信息

维护的时候很方便,例如清理zabbix的历史数据,zabbix停掉后的监控数据可以设置在proxy端保留时间长些,等维护好后proxy会同步数据到server端,尽量减少数据丢失。

在停掉zabbix server之前需要注意zabbix proxy的两个参数

ProxyLocalBuffer=3

设置zabbix proxy暂存在本地mysql的监控数据的时间。默认是0,不暂存。即使zabbix proxy已经把数据发送给了zabbix server,还是会暂存数据在本地设置的时间。取值范围是0~720小时


ProxyOfflineBuffer=5

这样就不至于这10个小时之间的数据都丢失了。也有一个问题,如果时间间隔太大的话,zabbix proxy重新推送数据到zabbix server会导致双方的服务器压力都会增大。


这里的clock是UNIX时间戳



这里根据数据量的大小可以能会花费好几个小时的时间




drop table history_old;

drop table history_text_old;

drop table history_uint_old;


处理Zabbix历史数据库办法一