atlas 日志分析脚本
#!/usr/bin/env python
# encoding: utf-8 #@author: 东哥加油!
#@file: log_analyze.py
#@time: 2018/8/23 17:15 import pandas as pd
import re
import time
import datetime def tj_log_to_excel(from_file_name,to_file_name):
file=open(from_file_name,'r',encoding='UTF-8')
columns = ('表名','SELECT 统计','UPDATE 统计','INSERT 统计','DELETE 统计')
results = []
results.append(columns)
dict1 = {}
print(time.strftime("%H:%M:%S"))
for (num,line) in enumerate(file):
line = line.lower()
l_row = []
if(re.search(r'delete from ',line)):
str = re.findall(r"delete from ([a-zA-Z0-9_\.]*)", line)
str = str[0]
if(dict1.get(str) == None):
l_row = [0,0,0,1]
dict1[str] = l_row
else:
v = dict1.get(str)
v[3] = v[3] + 1
elif (re.search(r' from ',line)):
str = re.findall(r" from ([a-zA-Z0-9_\.]*)", line)
str = str[0]
if str != '':
if (dict1.get(str) == None):
l_row = [1, 0, 0, 0]
dict1[str] = l_row
else:
v = dict1.get(str)
v[0] = v[0] + 1
elif (re.search(r'"update ', line)):
str = re.findall(r"update ([a-zA-Z0-9_\.]*)", line)
str = str[0]
if str != '':
if (dict1.get(str) == None):
l_row = [0, 1, 0, 0]
dict1[str] = l_row
else:
v = dict1.get(str)
v[1] = v[1] + 1
elif (re.search(r'"insert into ', line)):
str = re.findall(r"insert into ([a-zA-Z0-9_\.]*)", line)
str = str[0]
if str != '':
if (dict1.get(str) == None):
l_row = [0, 0, 1, 0]
dict1[str] = l_row
else:
v = dict1.get(str)
v[2] = v[2] + 1 for key in dict1:
t_row = []
t_row.append(key)
t_row.append(dict1[key][0])
t_row.append(dict1[key][1])
t_row.append(dict1[key][2])
t_row.append(dict1[key][3])
results.append(t_row) df = pd.DataFrame(results)
df.to_excel(to_file_name)
print(time.strftime("%H:%M:%S")) if __name__ == '__main__':
now_time = datetime.datetime.now()
step_time = datetime.timedelta(days=1)
yes_time = now_time - step_time
pdate = yes_time.strftime('%Y%m%d')
from_file_name = '/usr/local/mysql-proxy/log/sql_balance.log_'+pdate
print(from_file_name)
to_file_name= '/data/shell/sk/sql_balance_'+pdate+'.xls'
tj_log_to_excel(from_file_name,to_file_name)
atlas 日志分析脚本的更多相关文章
- linux实用的日志分析脚本
日志分析 随意的tail一个access_log文件,下面是一条经典的访问记录 218.19.140.242 – - [10/Dec/2010:09:31:17 +0800] “GET /query/ ...
- linux常用的日志分析脚本
linux实用的日志分析脚本 日志分析 随意的tail一个access_log文件,下面是一条经典的访问记录 /Dec/::: +] “GET /query/trendxml/district/tod ...
- linux系统web日志分析脚本
linux系统web日志分析这方面工具比较多,比如logwatch或awstats等使用perl语言开发,功能都非常强大.但这些软件都需要进行一些配置,很多朋友往往在技术方面没有投入太多力量,即便参照 ...
- MySQL 数据库慢查询日志分析脚本
这个脚本是基于pt-query-digest做的日志分析脚本,变成可视化的格式. 目录结构是 ./mysql_data/log./mysql_data/log/tmp./slow_query # co ...
- Nginx日志分析脚本
目录 一.简介 二.脚本 一.简介 运维工作是一个比较复杂的工作,有时候面对上万条的日志,如何作分析?难道一条条的分析? 这估计看两眼就要打哈欠了吧?聪明的人会选择脚本,这就是为什么现在提倡自动化运维 ...
- 我的日志分析之道:简单的Web日志分析脚本
前言 长话短说,事情的起因是这样的,由于工作原因需要分析网站日志,服务器是windows,iis日志,在网上找了找,github找了找,居然没找到,看来只有自己动手丰衣足食. 那么分析方法我大致可分为 ...
- 简单的Web日志分析脚本
前言 长话短说,事情的起因是这样的,由于工作原因需要分析网站日志,服务器是windows,iis日志,在网上找了找,github找了找,居然没找到,看来只有自己动手丰衣足食. 那么分析方法我大致可分为 ...
- Nginx日志配置及日志分析脚本案例
https://blog.csdn.net/bbwangj/article/details/82186162 nginx的log日志分为access log 和 error log 其中access ...
- 短信发送接口被恶意访问的网络攻击事件(三)定位恶意IP的日志分析脚本
前言 承接前文<短信发送接口被恶意访问的网络攻击事件(二)肉搏战-阻止恶意请求>,文中有讲到一个定位非法IP的shell脚本,现在就来公布一下吧,并没有什么技术难度,只是当时花了些时间去写 ...
随机推荐
- perl C/C++ 扩展(五)
perl 的C++扩展,返回值为自定义类型. 在 perl C/C++扩展(三) 中,我已经介绍了,如何让perl 认识 c++的类,但是前面的介绍中,包括我参考的博客http://chunyemen ...
- Python scrapy框架爬取瓜子二手车信息数据
项目实施依赖: python,scrapy ,fiddler scrapy安装依赖的包: 可以到https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载 pywi ...
- Mycat(1)
https://www.jianshu.com/p/26513f428ecf https://blog.csdn.net/fly910905/article/details/87101059 http ...
- IM 通讯录
wkt-4024 6720
- Python -3-列表和元组
1.用list就可以像修改列表那样修改字符串了 >>> list('Hello') ['H', 'e', 'l', 'l', 'o'] 可将任何序列作为list的参数 2.列表的 ...
- iOS蓝牙架构搭建-2
蓝牙架构的搭建 前言:笔者认为,如果只是单纯的传授大家代码怎么敲,那么大家很有可能在实际开发中难以运用.刚好本人曾经参与过多款智能硬件开发的架构搭建,本小节本人就现场带领大家开发出一个通用的蓝牙工具类 ...
- EasyUI datagrid 列宽度拖动问题
问题:拖不动或者偶尔能拖动,拖动不按指定? 原因:列宽度绑定的时候使用的百分比; 方法:获取总宽度,经过百分比计算在绑定
- 牛客寒假5-A.炫酷双截棍
链接:https://ac.nowcoder.com/acm/contest/331/A 题意: 小希现在手里有一个连着的两块木条,长度分别为l1l1,l2l2,木条之间有一个无摩擦的连接点,木条之间 ...
- GYM 101673G(dp)
dp[i][j][0/1]:第i天处于第j状态要不要吃. const int maxn = 1e2 + 5; int n, a[maxn], b[maxn]; int dp[maxn][maxn][2 ...
- 洛谷 P4362 [NOI2002]贪吃的九头龙
https://www.luogu.org/problemnew/show/P4362 首先有个很显然的dp:ans[i][j][k]表示i节点用j号头,i节点为根的子树中共有k个点用大头时i节点为根 ...