zabbix使用mysql数据库 对表分区
zabbix删除历史数据 mysql 表自动分区、删除
----2016年终总结 二
zabbix清理历史数据是个比较蛋疼的问题,尤其在监控数据较多时,一方面无法彻底释放历史数据空间,一方面数据库删除速度是个瓶颈,housekeeper进程长时间占用过高。
如果对数据库中的history_uint表进行分区,则可以解决以上问题。但此方法不利于数据库的规范管理,仅适用于小规模的监控场景。同时,定时脚本本身也是挖坑,这只是个临时解决方案。
DATA_STAMP_ONE_DAY_LONGTH=86400#一天的时间戳跨度
LOGFILE="/var/log/zabbix/partition.log"
HISTORY_PERIOD=7 #历史纪录保留天数
DATA_TODAY=`date +%Y%m%d` #获取今天时间
DATA_STAMP_TODAY=`date --date=$DATA_TODAY +%s` #今天的时间戳 ((HISTORY_TIMESTAMP_LONGTH=$DATA_STAMP_ONE_DAY_LONGTH * $HISTORY_PERIOD)) #一个周期的时间戳长度
((DATA_STAMP_TOMORROW=$DATA_STAMP_TODAY + $DATA_STAMP_ONE_DAY_LONGTH)) #第二天的时间戳
((DATA_STAMP_HISTORY=$DATA_STAMP_TOMORROW - $HISTORY_TIMESTAMP_LONGTH)) #一个周期前的时间戳 DATA_HISTORY=`date -d @$DATA_STAMP_HISTORY +"%Y%m%d"` #一个周期前的日期
DATA_TOMORROW=`date -d @$DATA_STAMP_TOMORROW +"%Y%m%d"` #第二天的日期 echo ' ' >>$LOGFILE #创建第二天使用的分区
mysql -u$USER_NAME -p$PASSWORD -D zabbix -e "ALTER TABLE \`history_uint\` ADD PARTITION (PARTITION p$DATA_TOMORROW VALUES LESS THAN ($DATA_STAMP_TOMORROW) ENGINE = InnoDB);" 2> /tmp/partition_temp_log
if [ $? -eq 0 ];then
echo "SUCCESS! CREATE PARTITION p$DATA_TOMORROW at `date`" >> $LOGFILE
else
echo "FAILED! CREATE PARTITION p$DATA_TOMORROW at `date`" >> $LOGFILE
echo `cat /tmp/partition_temp_log` >> $LOGFILE
fi #删除一个周期前的分区
mysql -u$USER_NAME -p$PASSWORD -D zabbix -e "ALTER TABLE \`history_uint\` DROP PARTITION p$DATA_HISTORY;" 2> /tmp/partition_temp_log
if [ $? -eq 0 ];then
echo "SUCCESS! DROP PARTITION p$DATA_HISTORY at `date`" >> $LOGFILE
else
echo "FAILED! DROP PARTITION p$DATA_HISTORY at `date`" >> $LOGFILE
echo `cat /tmp/partition_temp_log` >> $LOGFILE
fi
zabbix使用mysql数据库 对表分区的更多相关文章
- 删除mysql数据库中表分区数据
删除mysql数据库中表分区数据 zabbix 几个大表创建了分区,由于磁盘空间告警,特将3月前的分区给予删除. 1.查看表的数据占用磁盘空间情况 2.登录mysql中,查看表的分区情况. 3.删除表 ...
- zabbix实现mysql数据库的监控(四)
前面介绍的内容都是用第三方开发好的插件进行mysql监控的,可能有些我们关心的监控内容并不在其中,这时一种常用的方法就是定义我们自己的脚本并将它整合到zabbix中,从而在原有监控的基础上进行有力的补 ...
- zabbix实现mysql数据库的监控(三)
上面一章“zabbix实现mysql数据库的监控(二)”使用MPM来监控mysql,但是遇到安装问题始终解决不了,这里改用percona-monitoring-plugins进行zabbxi上监控my ...
- Linux环境下修改MySQL数据库对表名大小写不敏感
Linux系统中MySQL对数据库名称和表名是大小写敏感的,这就导致了一些麻烦,虽然已经建立了表和数据,但因为大小写导致无法找到表. MySQL数据库对表名大小写不敏感的设置方法如下: 1.查看MyS ...
- CentOS 6.3下Zabbix监控MySQL数据库参数
系统环境:CentOS 6.3 x64 http://www.linuxidc.com/Linux/2012-12/76583.htm mysql: mysql-5.6.10 http://w ...
- MySQL数据库表分区功能详解
1.什么是表分区? mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表 ...
- mysql数据库表分区详解(数量过大的数据库表通过分区提高查询速度)
这篇文章主要介绍了MySQL的表分区,例如什么是表分区.为什么要对表进行分区.表分区的4种类型详解等,需要的朋友可以参考下 一.什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysq ...
- Zabbix检测Mysql数据库的主从同步
在高并发网站架构中,MySQL数据库主从同步是不可或缺的,不过经常会发生由于网络原因或者操作错误,MySQL主从经常会出现不同步的情况,那么如何监控MySQL主从同步,也变成检测网站正常运行的重要环节 ...
- zabbix实现mysql数据库的监控(二)
上章我们把zabbix的服务端和客户端都部署完成了,本章接着进行两部分的设置: 1 添加对mysql数据库主机的监控 2 添加对mysql数据库的监控 一.对数据库服务器主机监控 1 创建主机 步 ...
随机推荐
- 再起航,我的学习笔记之JavaScript设计模式21(命令模式)
命令模式 概念描述 命令模式(Command): 将请求与实现解耦并封装成独立的对象,从而使不同的请求对客户端的实现参数化 示例代码 命令模式我们可以看成是将创建模块的逻辑封装在一个对象里,这个对象提 ...
- PHP初入--表单元素
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- js正则知识点
正则主要是用来匹配有规律的字符串,也就是说你要写一个正则前你必须非常清楚该类型字符串的规则,(比如邮箱)如果你没了解邮箱的规则那么你正则无论怎么写都是错的. \w字符(字母数字下划线)\W非字符\s空 ...
- 201521123084 《Java程序设计》第2周学习总结
第2周作业-Java基本语法与类库 1. 本周学习总结 1.学会使用码云管理代码: 2.学会使用Eclipse关联jdk源代码,并查看对象的源代码: 3.学会String类和StringBuilder ...
- Coding使用方法
首先在码市coding.net上创建账号 基础配置 1. 首先,下载安装git客户端和tortoisegit(就是小乌龟,本地右键使用的,跟SVN一样的那个小乌龟). git下载官网:https:// ...
- 201521123064 《Java程序设计》第8周学习总结
1. 本章学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 集合内容见:<Java程序设计>第7周学习总结 1.2 选做:收集你认为有用的代码片段 ① Jav ...
- 201521123118《java程序与设计》第8周学习总结
1. 本周学习总结 1. 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 2. 书面作业 1. List中指定元素的删除(题目4-1) 1.1 实验总结 Scanner sc = new ...
- 201521123122 《java程序设计》 第六周实验总结
201521123122 <java程序设计>第六周实验总结 1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想 ...
- 201521123064 《Java程序设计》第6周学习总结
1. 本章学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖 ...
- 201521123012 《Java程序设计》第五周学习总结
##1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 答: 1.2 可选:使用常规方法总结其他上课内容. 答:匿名内部类:将一个类的定义放在另一个类的内部.一般是 **new ...