首页 > 其他分享 >zabbix清除历史监控数据

zabbix清除历史监控数据

时间:2024-08-01 11:52:58浏览次数:11  
标签:清除 zabbix uint 监控 mysql table optimize history

zabbix监控运行一段时间以后,会留下大量的历史监控数据,zabbix数据库一直在增大;可能会造成系统性能下降,查看历史数据室查询速度缓慢,图形出现断图现象,隔几秒出现断图,发现CPU采集数据的时候使用率都是100%,如下图

 

zabbix里面最大的表就是history和history_uint两个表,而且zabbix里面的时间是使用的时间戳方式记录,所以可以根据时间戳来删除历史数据

1、先生成unix时间戳,时间设定为2024年7月23日之前的数据全部删除,先记下 1721664000 这个时间戳,后面执行删除时要用

date +%s -d "2024-07-23"

 

2、停止zabbix-server、Apache2进程

sudo systemctl stop zabbix-server.service apache2.service

 

3、查询文件占用空间

cd /
sudo du -sh * | grep G

 

4、备份数据库(可选,备份时间较长)

sudo mysqldump -uroot -p zabbix>./zabbix.sql

 

5、登录数据库,删除操作,时间可能较长请耐心等待,中间不要终止,否则容易数据丢失

sudo mysql -uroot -p        #登录mysql数据库
mysql> use zabbix;        #切换到zabbix数据库

mysql> delete from history where clock < 1721664000;        #删除2024年7月23日之前的历史数据
Query OK, 0 rows affected (0.61 sec)

mysql> optimize table history;        #优化表空间结构
+----------------+----------+----------+-------------------------------------------------------------------+
| Table          | Op       | Msg_type | Msg_text                                                          |
+----------------+----------+----------+-------------------------------------------------------------------+
| zabbix.history | optimize | note     | Table does not support optimize, doing recreate + analyze instead |
| zabbix.history | optimize | status   | OK                                                                |
+----------------+----------+----------+-------------------------------------------------------------------+
2 rows in set (0.83 sec)


mysql> delete from history_uint where clock < 1721664000;    #删除2024年7月23日之前的历史数据
ERROR 1206 (HY000): The total number of locks exceeds the lock table size

mysql> optimize table history_uint;    #优化表空间结构
+---------------------+----------+----------+-------------------------------------------------------------------+
| Table               | Op       | Msg_type | Msg_text                                                          |
+---------------------+----------+----------+-------------------------------------------------------------------+
| zabbix.history_uint | optimize | note     | Table does not support optimize, doing recreate + analyze instead |
| zabbix.history_uint | optimize | status   | OK                                                                |
+---------------------+----------+----------+-------------------------------------------------------------------+
2 rows in set (3 hours 27 min 58.55 sec)

mysql> delete from trends where clock < 1721664000;    #删除2024年7月23日之前的历史数据 ERROR 4031 (HY000): The client was disconnected by the server because of inactivity. See wait_timeout and interactive_timeout for configuring this behavior. No connection. Trying to reconnect... Connection id: 12 Current database: zabbix Query OK, 8172 rows affected (2.74 sec) mysql> optimize table trends;    #优化表空间结构 +---------------+----------+----------+-------------------------------------------------------------------+ | Table | Op | Msg_type | Msg_text | +---------------+----------+----------+-------------------------------------------------------------------+ | zabbix.trends | optimize | note | Table does not support optimize, doing recreate + analyze instead | | zabbix.trends | optimize | status | OK | +---------------+----------+----------+-------------------------------------------------------------------+ 2 rows in set (0.29 sec) mysql> delete from trends_uint where clock < 1721664000;    #删除2024年7月23日之前的历史数据 Query OK, 354220 rows affected (5.71 sec) mysql> optimize table trends_uint;    #优化表空间结构 +--------------------+----------+----------+-------------------------------------------------------------------+ | Table | Op | Msg_type | Msg_text | +--------------------+----------+----------+-------------------------------------------------------------------+ | zabbix.trends_uint | optimize | note | Table does not support optimize, doing recreate + analyze instead | | zabbix.trends_uint | optimize | status | OK | +--------------------+----------+----------+-------------------------------------------------------------------+ 2 rows in set (0.39 sec)
mysql> delete from events where clock < 1721664000;    #删除2024年7月23日之前的历史数据 Query OK, 3106 rows affected (0.86 sec) mysql> optimize table events;    #优化表空间结构 +---------------+----------+----------+-------------------------------------------------------------------+ | Table | Op | Msg_type | Msg_text | +---------------+----------+----------+-------------------------------------------------------------------+ | zabbix.events | optimize | note | Table does not support optimize, doing recreate + analyze instead | | zabbix.events | optimize | status | OK | +---------------+----------+----------+-------------------------------------------------------------------+ 2 rows in set (0.43 sec)
mysql> delete from auditlog where clock < 1721664000;    #删除2024年7月23日之前的历史数据 Query OK, 144055 rows affected (13.33 sec) mysql> optimize table auditlog;    #优化表空间结构 +-----------------+----------+----------+-------------------------------------------------------------------+ | Table | Op | Msg_type | Msg_text | +-----------------+----------+----------+-------------------------------------------------------------------+ | zabbix.auditlog | optimize | note | Table does not support optimize, doing recreate + analyze instead | | zabbix.auditlog | optimize | status | OK | +-----------------+----------+----------+-------------------------------------------------------------------+ 2 rows in set (0.34 sec)

 

6、启动服务

sudo systemctl start zabbix-server.service apache2.service

 

# 使用truncate命令清空zabbix 所有监控数据 (未尝试)

-------------------------------------------------------
    truncate table history;
    optimize table history;
    ------------------------------------------------------- 
    truncate table history_str;
    optimize table history_str;
    -------------------------------------------------------
    truncate table history_uint;
    optimize table history_uint;
    -------------------------------------------------------
    truncate table trends;
    optimize table trends;
    -------------------------------------------------------
    truncate table trends_uint; 
    optimize table trends_uint; 
    -------------------------------------------------------
    truncate table events;
    optimize table events;
    -------------------------------------------------------
# 注意:这些命令会把zabbix所有的监控数据清空,操作前注意备份数据库

# truncate是删除了表,然后根据表结构重新建立,delete删除的是记录的数据没有修改表

# truncate执行删除比较快,但是在事务处理安全性方面不如delete,如果我们执行truncat的表正在处理事务,这个命令退出并会产生错误信息

 

标签:清除,zabbix,uint,监控,mysql,table,optimize,history
From: https://www.cnblogs.com/xiykj/p/18336357

相关文章

  • 自从用了这些监控工具,我连续几天没睡好觉!
    大家好,我是程序员鱼皮,今天分享一些很实用的系统监控告警工具。 为什么要用监控告警?说到监控告警,没有企业开发经验的同学非常容易忽视它,甚至会有同学觉得没有必要,大不了出了Bug再修就是了。这种想法大错特错!我们把系统想象成人的身体。有的时候,一个人表面看起来可能很健康......
  • zabbix“专家坐诊”第249期问答
    问题一Q:zabbixserver服务每次重启监控主机就会触发大量的“10分钟未获取到数据”的告警,同时还会触发zabbix的history进程繁忙的告警。(后面检查实际上监控主机在告警时间段内是有数据的)感觉是server一重启,数据库就重新写入数据,需要花超过10分钟的时间,告警时间段内没来得及写入数......
  • 信步漫谈之YourKit监控工具—远程监控步骤
    一、准备环境1、被监控服务器(安装YourKit客户端)2、监控服务器(安装YourKit服务端)二、准备材料1、yjp-11.0.9.exe:YourKit安装主程序2、yourkit_keygen.rar:YourKit破解程序(没有安装程序和破解程序的,自己上网找,我只是写写,哈哈哈)三、YourKit客户端安装与启动1、拷贝yjp-11......
  • 从赛场到云端:视频监控技术与赛事直播的技术融合与革新
    在当今信息化高速发展的时代,视频监控技术和赛事直播作为两个重要的应用领域,正在以前所未有的速度融合,共同推动着传媒与安防领域的进步。本文将探讨视频监控技术在赛事直播中的应用及其带来的革新。一、视频监控技术的演进视频监控技术具有悠久的历史,从传统上的模拟视频监控,到如......
  • 监控Windows API调用
    原文链接:https://www.cnblogs.com/zhaotianff/p/17328559.html很早就知道有ApiMonitor这个软件,可以监控WindowsAPI调用,但当时没有正式的使用场景,所以也没怎么在意。APIMonitor简介APIMonitor可以监视、控制应用程序以及服务进行的WindowsAPI调用。分为32位和64位......
  • SSH Exporter:基于Prometheus的远程系统性能监控神器
    SSHExporterEnglish|中文介绍SSHExporter是一个基于Prometheus规范的监控工具,通过SSH协议远程收集目标服务器的系统性能数据,如CPU使用率、内存使用情况、磁盘和网络I/O等,并将这些数据暴露为Prometheus格式的metrics,以便被PrometheusServer抓取和存储。功能......
  • Django 集成 celery 与执行结果监控
    Django集成celery与执行结果监控celery架构图一、搭建Django项目环境模块安装pipinstalldjango==3.2pipinstallcelerypipinstallredis#window环境下需要安装eventletpipinstalleventlet创建django项目django-adminstartprojectdjango_celery......
  • 自定义的基于线程的监控如何影响 celery 任务的启动时间?
    我使用Flask和celery来构建后端api。为了防止任务运行时间过长,我实现了一个自定义的基于线程的监视类来监视任务,并在任务运行时间过长时停止它们。这是我的实现。importosimportsysfromflaskimportFlaskfromceleryimportCelery,Taskimportloggingf......
  • DMA_IFCR清除DMA_ISR标志位,写1清除,还是写0清除?
    先说结论:DMA_IFCR的各位通过写"1"来清除DMA_ISR中的各中断状态标志位!        最近在学习DMA,看的原子教你玩转STM32库函数版的书,里面就DMA_IFCR清除DMA_ISR标志位的问题,原文写的是《DMA_IFCR的各位就是用来清除DMA_ISR的对应位的,通过写0清除。在DMA_ISR被置位......
  • 汽车测试及质量监控博览会(中国)——北汇信息邀请函
      尊敬的先生/女士:北汇信息将于8.28-30号参加汽车测试及质量监控博览会,展位号:7028,诚邀您莅临展位进行参观交流! 汽车测试及质量监控博览会(中国) 2024汽车测试及质量监控博览会(中国)(TestingExpoChina–Automotive)是引领世界的国际博览会,展示汽车测试、开发和验证......