
-
支持zabbix
2.0和2.2,mysql在有外键的表不支持分区表。在zabbix
2.0和2.2中history和trend表没有使用外键,因此是可以在这些表中做分区的。
Index
changes:
1.如果zabbix的数据库已经有了数据,更改索引可能需要一些时间,根据具体的数据量,需要的时间长短也不一样。
2.在某些版本的MySQL索引的改变会使整个表上读锁。貌似mysql
5.6没有这个限制。
所述第一步骤是修改几个索引以允许做分区,按照下面的命令:
mysql>
Alter
table
history_text
drop
primary
key,
add
index
(id),
drop
index
history_text_2,
add
index
history_text_2
(itemid,
id)
Query
OK,
0
rows
affected
(0.49
sec)
Records:
0
Duplicates:
0
Warnings:
0
mysql>
Alter
table
history_log
drop
primary
key,
add
index
(id),
drop
index
history_log_2,
add
index
history_log_2
(itemid,
id)
Query
OK,
0
rows
affected
(2.71
sec)
Records:
0
Duplicates:
0
Warnings:
0
Stored
Procedures:
下面开始填写存储过程,需要执行下面的几个存储过程语句,只要能看到"Query
OK,
0
rows
affected
(0.00
sec)"只能就没有什么问题了。
做过Zabbix的同学都知道,Zabbix通过专用的Agent或者SNMP收集相关的监控数据,然后存储到数据库里面实时在前台展示。Zabbix监控数据主要分为以下两类: 历史数据:history相关表,从history_uint表里面可以查询到设备监控项目的最大,最小和平均...<pre name="code" class="html">Zabbix Housekeeper changes:使用分区表需要关闭zabbix的history/trends的housekeeper。
Zabbix 2.0.x:
关闭housekeeper需要变更zabbix_server.conf配置文件:DisableHousekeeping=1.关闭了housekeeper,old events, audit entries, and user sessions也无法删除了。
Zabbix 2.2.x:
ZABBIX 2.2引入了更精确的housekeeper。所有的housekeeper配置在zabbix的web端更改,"Administration" ->"General" ,选择"Housekeeping" ,确保history和trends栏的"Enable internal housekeeping"的对勾去掉。
1. 保留历史数据
我们可以通过如下方式来设置保留数据的时长:
监控项(item)配置里
匹配更新监控项(item)
设置Housekeeper tasks
Housekeeper会定期删除过期的数据。如果数据不是特别有意义,建议你把保留时间设置短一些。可能你会说,那我想看我以前的数据图怎么办?好说,老数据一般不用精确到分秒,只要小时的平均数据即可,这样的话,趋势数据保留久一点即可。例如保存历史记录14天,趋势数据5年(5年,你孩子都从小学一年级到五年级了)
备注:如果history设置为0(设置为0的人是不想看历史数据或者硬盘没空间么?),zabbix只会获取item的值,然后用与触发器,然后就没有然后了,不会存到数据库的。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)