python做表格的日志分析工具,python自动化工具日志查询分析脚本代码实现

这是一个基于Python的日志管理系统,由主控节点和受控节点组成。受控节点(slave.py)监听3333端口,等待主控节点的连接,并根据接收到的正则表达式匹配日志文件中的内容。主控节点(master.py)可以向多个受控节点发送日志匹配请求,收集并打印匹配结果。该系统适用于分布式环境中的日志分析与监控。
摘要由CSDN通过智能技术生成

受控节点slave.py

复制代码 代码如下:

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)

时间: 2013-11-25

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值