ホームページ > バックエンド開発 > Python チュートリアル > Python 自動化ツールのログ クエリ分析スクリプト コードの実装

Python 自動化ツールのログ クエリ分析スクリプト コードの実装

WBOY
リリース: 2016-06-16 08:46:09
オリジナル
1519 人が閲覧しました

受控节点slave.py

复制代码代码如下:

インポートソケット
インポート re
クラス Log(オブジェクト):
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)
true:
conn,addr=s.accept()
印刷するaddr[0]
if addr[0]==self.master_ip:
reg=conn.recv(1024)
result=self.all_log(reg)
conn.sendall(結果)
conn.close()

def all_log(self,reg):
logs=''
for f in self.file_list:
logs+='n'+self.log_match(f,reg)
ログを返す

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

复制代码代码如下:

インポートソケット
class SlvCluster(object):
ip_list=[' 127.0.0.1']
def __init__(self,reg):
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('正規表現を入力してください:')
print '--- --------正規表現: '+reg+'-----------------'
sc=SlvCluster(reg)
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート