python自动化工具日志查询分析脚本代码实现

受控节点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+=”+self.log_match(f,reg)
        return logs

    def log_match(self,f,reg):
        log_result=’————————‘+f+’————————‘+”
        fo=open(f,’r’)
        line=fo.readline()
        rp=re.compile(reg)
        while line!=”:
            log_match=rp.match(line)
            if log_match:
                log_result+=”+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)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2287796.html

(0)
上一篇 2025年2月27日 22:52:50
下一篇 2025年2月27日 19:59:44

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论