用ELK分析每天4亿多条腾讯云MySQL审计日志(3)--下载日志
当初分析日志,麻烦的是腾讯云的SQL审计日志下载,有下列限制:
1,单次最多1000万条下载
2,单个实例最多生成5条日志文件,多的要先删除以前文件才能生成
腾讯云日志文件生成界面:

一开始用手工下载,想想也不多,可以忍受,弄了一段时间后,研发的要求越来越高,不能一直这样手工,刚好旁边的运维小伙用GO实现了程序单实例下载日志---filebeat--kafka--ELK, 给了我很大信心,后来就用Python3重新开发一套下载日志的小系统。弄了2周终于可用:
1,数据配置放到表里

CREATE TABLE `audit_server` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`instance_id` varchar(200) DEFAULT NULL COMMENT '机器id',
`slow_name` varchar(300) DEFAULT NULL COMMENT '慢日志名称',
`status` tinyint(255) DEFAULT '0',
`difftime` int(255) DEFAULT NULL COMMENT '间隔分钟',
`dept` varchar(300) DEFAULT NULL,
`ordernum` decimal(6,1) DEFAULT NULL COMMENT '1-10 排序\r\n10-30 各业务主库排序\r\n30以后会随机,排序降序asc输出',
`ld_time` datetime DEFAULT NULL COMMENT '上次下载时间',
`type` tinyint(255) DEFAULT NULL COMMENT '分类',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=110 DEFAULT CHARSET=utf8mb4 CREATE TABLE `audit_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`instance_id` varchar(100) DEFAULT NULL,
`filename` varchar(300) DEFAULT NULL,
`starttime` datetime DEFAULT NULL,
`endtime` datetime DEFAULT NULL,
`is_down` tinyint(255) DEFAULT '0' COMMENT '是否已经完成下载,0:刚创建 1:正在下载 2:下载完成',
`is_deleted` tinyint(255) DEFAULT '0' COMMENT '是否删除文件 0,未删除,1:已经删除',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
`ds_time` datetime DEFAULT NULL COMMENT '开始下载时间',
`de_time` datetime DEFAULT NULL COMMENT '结束下载时间',
`del_time` datetime DEFAULT NULL COMMENT '文件删除时间',
`filesize` int(10) DEFAULT NULL COMMENT '文件大小,MB',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=65509 DEFAULT CHARSET=utf8mb4
程序实现:
1, audit_server表配置时间(字段difftime),不同实例,每次生成不同的时间日志,如30分钟,60分钟,240分钟等,保证每次能生成文件
2,audit_server表上次已下载时间(字段ld_time), 生成新日志文件: ld_time+difftime, 成功后,更新ld_time,实现增量不停循环抽取
3, 下载的日志文件记录在audit_log, 可以分析每次的下载时间,生成时间等,
4,python脚本,配置每2分钟执行一次,兼容不停抽取,如果下载完成,自动删除腾讯云的审计日志文件
5,audit_server表配置多机器并行下载日志(字段type),目前配置3台云主机(type为1,2,3),不同机器同时下载不同的实例日志,并可以动态调整。
6,配置截止抽取时间,先保证按天完成,减少对共用的ELK影响,默认是当天0点
记录的audit_log审计日志:

用ELK分析每天4亿多条腾讯云MySQL审计日志(3)--下载日志的更多相关文章
- jquery的$.extend和$.fn.extend作用及区别/用span实现进度条/腾讯云IIS端口号修改
jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(); jQuery.extend(); 虽然 javascript 没有明确的类的概念,但是用类来理解它,会更方便. ...
- 使用Docker快速部署ELK分析Nginx日志实践(二)
Kibana汉化使用中文界面实践 一.背景 笔者在上一篇文章使用Docker快速部署ELK分析Nginx日志实践当中有提到如何快速搭建ELK分析Nginx日志,但是这只是第一步,后面还有很多仪表盘需要 ...
- 4:ELK分析tomcat日志
五.ELK分析tomcat日志 1.配置FIlebeat搜集tomcat日志 2.配置Logstash从filebeat输入tomcat日志 3.查看索引 4.创建索引
- 使用Docker快速部署ELK分析Nginx日志实践
原文:使用Docker快速部署ELK分析Nginx日志实践 一.背景 笔者所在项目组的项目由多个子项目所组成,每一个子项目都存在一定的日志,有时候想排查一些问题,需要到各个地方去查看,极为不方便,此前 ...
- Python脚本收集腾讯云CDN日志,并入ELK日志分析
负责搭建公司日志分析,一直想把CDN日志也放入到日志分析,前些日志终于达成所愿,现在贴出具体做法: 1.收集日志 腾讯云CDN日志一般一小时刷新一次,也就是说当前只能下载一小时之前的日志数据,但据本人 ...
- 腾讯云EMR大数据实时OLAP分析案例解析
OLAP(On-Line Analytical Processing),是数据仓库系统的主要应用形式,帮助分析人员多角度分析数据,挖掘数据价值.本文基于QQ音乐海量大数据实时分析场景,通过QQ音乐与腾 ...
- 服务质量分析:腾讯会议&腾讯云Elasticsearch玩出了怎样的新操作?
导语 | 腾讯会议于2019年12月底上线,两个月内日活突破1000万,被广泛应用于疫情防控会议.远程办公.师生远程授课等场景,为疫情期间的复工复产提供了重要的远程沟通工具.上线100天内,腾讯会议快 ...
- MySQL调优系列_日志分析
前言 本篇主要总结一下MySQL数据库的几种日志,用于日常维护过程中问题解决和性能优化等,稍显基础,日常积累之用. 文章的部分内容会将MySQL数据库和SQL Server数据库部分内容做一个对比,非 ...
- 日吞吐万亿,腾讯云时序数据库CTSDB解密
一.背景 随着移动互联网.物联网.大数据等行业的高速发展,数据在持续的以指数级的速度增长,比如我们使用手机访问互网络时的行为数据,各种可穿戴设备上报的状态数据,工厂中设备传感器采集的指标数据,传统互联 ...
- 一条SQL语句在MySQL中如何执行的
本篇文章会分析一个 sql 语句在 MySQL 中的执行流程,包括 sql 的查询在 MySQL 内部会怎么流转,sql 语句的更新是怎么完成的. 在分析之前我会先带着你看看 MySQL 的基础架构, ...
随机推荐
- 百度网盘(百度云)SVIP超级会员共享账号每日更新(2023.11.20)
百度网盘会员账号共享(11.20更新) 账号:zqv29268 密码:7003wayb 账号:rpz75364 密码:riyk1648 账号:0580quqn 密码:148hxhe 账号:132620 ...
- MySQL重建表统计信息
MySQL重建表统计信息 背景 最近一段时间遇到了一些性能问题 发现很多其实都是由于 数据库的索引/统计信息不准确导致的问题. Oracle和SQLServer都遇到了很多类似的问题. 我这边联想到 ...
- [转帖]HTTP状态码、请求方法、响应头信息
https://www.cnblogs.com/pachongshangdexuebi/p/5279608.html HTTP状态码 当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求. ...
- Oracle的awr的学习与整理
Oracle的awr的学习与整理 背景 本来想上周末进行一下总结和汇总 因为周末两天进行了一次长时间的培训.所以没有成行. 只能在工作之余找时间进行总结. 数据库部分自己一个不是很强. 其实也比较抗拒 ...
- 一个简单的监控java进程获取日志的办法
公司里面一个长时间运行的环境会出现问题, 这边简单写了一个脚本自动获取日志信息 脚本如下 注意 我的path 其实就是复用的 我们应用里面的jdk 剩下的就非常简单了. 每个日志都自动打包 并且移除 ...
- vue3.0中reactive的正确使用姿势
场景 在项目开发的时候,前端肯定是先写静态页面 在静态页面写好之后 然后就可以与后端对接数据了[高兴] 但是在对接接口的时候 我们会发现后端返回来的字段与前端在页面上写的可能不一致 这个时候有意思的事 ...
- vue在render函数中如何实现v-model和事件绑定(4)
1.h函数的三个参数 第一个参数是必须的. 类型:{String | Object | Function} 一个 HTML 标签名.一个组件.一个异步组件.或一个函数式组件. 是要渲染的html标签. ...
- 开源项目03---YiShaAdmin
项目名称:YiShaAdmin 项目所用技术栈: web mvc bootstrap3 jquery aspnetcore等 项目简介: YiShaAdmin 基于.NET Core Web开发,借鉴 ...
- 紫 distance
仅此纪念我爆掉的T3 紫,即RE,运行出错,梦幻,而又不失杀气 根据<雪distance>改编,分为提交前,评测前,评测时,评测后 你说我考试AK,可我却运行出错 任凭无尽的懊悔将我淹没, ...
- Spring源码之XML文件中Bean标签的解析1
读取XML文件,创建对象 xml文件里包含Bean的信息,为了避免多次IO,需要一次性读取xml文件中所有bean信息,加入到Spring工厂. 读取配置文件 new ClassPathResourc ...