python自动化工具日志查询分析脚本代码实现
import socket
import re
class Log(object):
file_list=['access.log','C:\\access.log']
master_ip='192.168.0.103'
def __init__(self):
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(('',3333))
s.listen(1)
while True:
conn,addr=s.accept()
print addr[0]
if addr[0]==self.master_ip:
reg=conn.recv(1024)
result=self.all_log(reg)
conn.sendall(result)
conn.close()
def all_log(self,reg):
logs=''
for f in self.file_list:
logs+='\n'+self.log_match(f,reg)
return logs
def log_match(self,f,reg):
log_result='------------------------'+f+'------------------------'+'\n'
fo=open(f,'r')
line=fo.readline()
rp=re.compile(reg)
while line!='':
log_match=rp.match(line)
if log_match:
log_result+='\n'+log_match.group()
line=fo.readline()
return log_result
if __name__=='__main__':
ds=Log()
主控节点master.py
import socket
class SlvCluster(object):
ip_list=['127.0.0.1']
def __init__(self,reg):
for ip in self.ip_list:
self.single_slv(ip,reg)
def single_slv(self,slv_ip,reg):
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((slv_ip,3333))
s.sendall(reg)
print '-----------------------'+slv_ip+'--------------------------'
print s.recv(102400)
s.close()
if __name__=='__main__':
reg=raw_input('Input the regular expression:')
print '-----------Regular Expression: '+reg+'-----------------'
sc=SlvCluster(reg)
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
下一篇: 自学PHP有哪些书籍和教程值得推荐?
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论