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


Posted in Python onNovember 26, 2013

受控节点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使用多线程不断刷新网页的方法
Mar 31 Python
Python+selenium实现截图图片并保存截取的图片
Jan 05 Python
Python实现按照指定要求逆序输出一个数字的方法
Apr 19 Python
transform python环境快速配置方法
Sep 27 Python
Python命名空间的本质和加载顺序
Dec 17 Python
Python3 使用cookiejar管理cookie的方法
Dec 28 Python
Python中GeoJson和bokeh-1的使用讲解
Jan 03 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
Aug 20 Python
keras得到每层的系数方式
Jun 15 Python
python实现快速文件格式批量转换的方法
Oct 16 Python
python实现Thrift服务端的方法
Apr 20 Python
OpenCV项目实践之停车场车位实时检测
Apr 11 Python
python翻译软件实现代码(使用google api完成)
Nov 26 #Python
python高并发异步服务器核心库forkcore使用方法
Nov 26 #Python
跨平台python异步回调机制实现和使用方法
Nov 26 #Python
python连接池实现示例程序
Nov 26 #Python
使用python BeautifulSoup库抓取58手机维修信息
Nov 21 #Python
python BeautifulSoup使用方法详解
Nov 21 #Python
python装饰器使用方法实例
Nov 21 #Python
You might like
PHP 高手之路(一)
2006/10/09 PHP
一个数据采集类
2007/02/14 PHP
深入apache配置文件httpd.conf的部分参数说明
2013/06/28 PHP
php有效防止同一用户多次登录
2015/11/19 PHP
示例详解Laravel重置密码代码重构
2016/08/10 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
2016/10/11 PHP
php实现分页功能的详细实例方法
2019/09/29 PHP
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
2006/11/30 Javascript
JS下拉框内容左右移动效果的具体实现
2013/07/10 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
jquery 鼠标滑动显示详情应用示例
2014/01/24 Javascript
js实现div弹出层的方法
2014/11/20 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
2015/12/04 Javascript
原生js实现图片轮播特效
2015/12/18 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
2016/06/20 Javascript
js canvas实现擦除动画
2016/07/16 Javascript
angular route中使用resolve在uglify压缩后问题解决
2016/09/21 Javascript
js原生方法被覆盖,从新赋值原生的方法
2018/01/02 Javascript
vue filters的使用详解
2018/06/11 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
2018/09/12 Javascript
js控制随机数生成概率代码实例
2019/03/21 Javascript
Vue3新特性之在Composition API中使用CSS Modules
2020/07/13 Javascript
完美解决vue 中多个echarts图表自适应的问题
2020/07/19 Javascript
[02:51]DOTA2 Supermajor小组分组对阵抽签仪式
2018/06/01 DOTA
python实现定时同步本机与北京时间的方法
2015/03/24 Python
Python语言实现将图片转化为html页面
2017/12/06 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
2018/02/05 Python
Python使用paramiko操作linux的方法讲解
2019/02/25 Python
CSS3的常见transformation图形变化用法小结
2016/05/13 HTML / CSS
香港No.1得奖零食网:香港零食大王
2016/07/22 全球购物
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
便携式太阳能系统的创新者:GOAL ZERO
2018/02/04 全球购物
BannerBuzz加拿大:在线定制横幅印刷、广告和标志
2020/03/10 全球购物
校园门卫岗位职责
2013/12/09 职场文书
暑期工社会实践报告
2015/07/13 职场文书
微信告警的zabbix监控系统 监控整个NGINX集群
2022/04/18 Servers