zabbix数据导出表格_Zabbix历史数据处理办法

本文介绍了两种处理Zabbix历史数据的方法,包括尝试删除特定时间戳前的数据(因速度慢而不推荐)和创建新的数据库并导入备份数据来快速替换。详细步骤包括数据备份、新数据库创建、数据导入及Zabbix配置文件更新,以便查看历史记录。
摘要由CSDN通过智能技术生成

Zabbix历史数据处理办法

方法一:本想删除某一时间戳之前的历史数据

date "+%s" -d "20150101"

1420041600

SELECT TABLE_NAME AS "Table", round(((data_length + index_length) / 1024 / 1024), 2) AS Size_in_MB FROM information_schema.TABLES  WHERE table_schema = 'zabbix' ORDER BY Size_in_MB DESC LIMIT 10;

+----------------+------------+

| Table          | Size_in_MB |

+----------------+------------+

| history_uint   |  189699.00 |

| history        |  111647.00 |

| trends_uint    |    6322.92 |

| trends         |    1822.00 |

| events         |    1252.00 |

| history_str    |    1044.00 |

| alerts         |      96.64 |

| items          |      21.42 |

| item_discovery |       6.75 |

| graphs         |       5.19 |

+----------------+------------+

10 rows in set (14.15 sec)

DELETE FROM `history_uint` WHERE `clock` < 1420041600;

optimize table history_uint;

DELETE FROM `history` WHERE `clock` < 1420041600;

optimize table history;

注:此方法几乎不可行,300G的历史数据执行命令一个多小时还处在等待锁表状态。删除的速度还没一增长的快。

方法二:不保留历史数据快速

一,备份除历史数据的数据库表

mysqldump -uroot -p'yourpassword' zabbix  --ignore-table=zabbix.history_uint --ignore-table=zabbix.history --ignore-table=zabbix.trends_uint -ignore-table=zabbix.trends --ignore-table=zabbix.events --ignore-table=zabbix.history_str >/data/backup20150626.sql

二,新建数据库

create database zabbix2 character set utf8;

GRANT ALL PRIVILEGES ON zabbix2.* TO 'zabbix'@'localhost' IDENTIFIED BY  'yourpassword';

这里是建立的zabbix2数据库,名字可以随意取

三,导入原架构和新数据

mysql -uroot -p'yourpassword' zabbix2 < /root/zabbix-2.4.2/database/mysql/schema.sql

mysql -uroot -p'yourpassword' zabbix2 < /root/zabbix-2.4.2/database/mysql/images.sql

mysql -uroot -p'yourpassword' zabbix2 < /root/zabbix-2.4.2/database/mysql/data.sql

mysql -uroot -p'yourpassword' zabbix2 < /data/backup20150626.sql

如果开始没有剔除上面忽略的4个表,这里上面三行就不需要了。

四,修改zabbix_server连接数据库配置文件

grep -i DBName /usr/local/zabbix/etc/zabbix_server.conf

#DBName=zabbix

DBName=zabbix2

五,修改zabbix站点zabbix.conf配置文件

grep -i database /var/www/html/conf/zabbix.conf.php

$DB['DATABASE'] = 'zabbix2';

// SCHEMA is relevant only for IBM_DB2 database

六,重启服务

service zabbix_server restart

service mysqld restart(不重启也可)

此方法补充:

如果想看以前的历史数据,只需要2步即可

1,备份一份站点,修改database为老的数据库默认zabbix

2,web浏览器打开连上老数据库的zabbix站点即可查看

阅读(4648) | 评论(0) | 转发(0) |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值