随着监控量的迅速增长,zabbix管理员有一天会发现硬盘iops达到了数万,
接近硬盘io的极限,无力支持处理更多监控数据。本文提出一种横向扩展方案,
以尽量小的改动,增加zabbix系统的数据io能力。
考虑到zabbix的数据库io主要在于history表和trends表,这一方案是在
不增加zabbixserver数量的情况下,将history表和trends表的io分散到其他
主机上。此方案的优点是保持单个zabbixserver,不需要考虑多server之间的
协同一致。这一数据库分离模式还可以兼容原有的集中模式。但是,由于io分
散到多个主机上,当需要读写数据时,不得不访问多个数据库实例。同时,代码
中涉及数据库读写的部分,包括zabbixserver和webapi,都需要重写,好在大
部分可以参考已有的代码。
本方案设计基于zabbix3.0.10版本。本文只论及对zabbixserver的改造方
案,对webapi的修改方案将另文讨论,本文不涉及。