随着监控主机数量增大,trigger与events也不断增加,导致在web里查看事件的速度变的非常慢,通过events表发现最大的events已经13亿了,而且默认事件打开是最近7天里所有数据,所有肯定很忙,目前经过优化后提供了2倍打开速度。
优化前,使用firebug打开测试
可以看到打开速度为29.07秒
所以本次对于报警事件的优化完成,优化前打开时间为29.07秒,优化后打开时间为10.61秒,提升了2倍速度。
下面是如何优化的步骤:
1、在zabbix数据库服务器里登陆数据库,使用下面命令
usezabbix;deletefromeventswhereclock<=UNIX_TIMESTAMP(‘2014-06-01’);
这样就能删除2014年6月1日前的events数据了,为了能自动删除数据,可以做个脚本+crontab
2、shell脚本
#!/bin/bash#thisscriptnameisdelete_events.shhost=”localhost”socket=”/data/perconadata5.6/mysql.sock”user=”zabbix”pass=”zabbix”port=”3306″time=`date-d”last-month”+%Y-%m-01`mysql-u$user-p$pass-h$host-S$socket-P$port<<EOFusezabbix;deletefromeventswhereclock<=UNIX_TIMESTAMP(‘${time}’)limit40000;EOF
这样是在删除上个月的数据,保留最近1个月的,并且每次删除4w条
3、crontab
*****/bin/bash/usr/local/zabbix/bin/delete_events.sh
下面是使用此脚本删除后,数据events表的情况
最大eventid为13亿,现在保留56w数据。
希望此文能对大家有益。
本文出自 “吟—技术交流” 博客,请务必保留此出处
,头脑心灵再加上双脚的才是推销员。