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

 更新时间:2013年11月26日 14:43:43   作者:  
这篇文章主要介绍了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+='\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)

相关文章

  • Python文件操作之二进制文件详解

    Python文件操作之二进制文件详解

    下面小编就为大家带来一篇使用Python文件操作之二进制文件。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-09-09
  • django python 获取当天日期的方法

    django python 获取当天日期的方法

    这篇文章主要介绍了django python 获取当天日期,在Python中,你可以使用datetime模块来获取当前日期,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • Python实现拷贝/删除文件夹的方法详解

    Python实现拷贝/删除文件夹的方法详解

    这篇文章主要介绍了Python实现拷贝/删除文件夹的方法,涉及Python针对文件夹的递归、遍历、拷贝、删除等相关操作技巧与注意事项,需要的朋友可以参考下
    2018-08-08
  • 详解Python if-elif-else知识点

    详解Python if-elif-else知识点

    本篇文章给大家总结了Python中if-elif-else的相关知识点以及语法相关内容,有兴趣的朋友参考学习下。
    2018-06-06
  • Python3爬虫中pyspider的安装步骤

    Python3爬虫中pyspider的安装步骤

    在本篇内容里小编给大家整理的是一篇关于Python3爬虫中pyspider的安装步骤,需要的朋友们可以学习参考下。
    2020-07-07
  • python编程进阶之类和对象用法实例分析

    python编程进阶之类和对象用法实例分析

    这篇文章主要介绍了python编程进阶之类和对象用法,结合实例形式分析了python类和对象概念、原理、内置函数、类的变量、继承等相关使用技巧与注意事项,需要的朋友可以参考下
    2020-02-02
  • python编程简单几行代码实现视频转换Gif示例

    python编程简单几行代码实现视频转换Gif示例

    这篇文章主要为大家介绍了简单使用几行python代码就可以实现将视频转换Gif的示例过程,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-10-10
  • 使用python os模块复制文件到指定文件夹的方法

    使用python os模块复制文件到指定文件夹的方法

    今天小编就为大家分享一篇使用python os模块复制文件到指定文件夹的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • python性能测试工具locust的使用

    python性能测试工具locust的使用

    这篇文章主要介绍了python性能测试工具locust的使用,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • python爬虫进阶之协程详解

    python爬虫进阶之协程详解

    这篇文章主要介绍了python爬虫进阶之协程详解,coroutine中文翻译叫协程,在 Python 中昌指代为协程对象类型,可以将协程对象注册到时间循环中被调用,需要的朋友可以参考下
    2023-08-08

最新评论