|
@@ -219,56 +219,36 @@ class FileWatch(Analysis):
|
|
|
def __init__(self,conf):
|
|
|
pass
|
|
|
def split(self,row):
|
|
|
+
|
|
|
x = row.split(' ')
|
|
|
r = {}
|
|
|
months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']
|
|
|
- if 'K' in x[0]:
|
|
|
- size = x[0].replace('K','').replace('KB','') / 1000
|
|
|
- elif 'M' in x[0] :
|
|
|
- size = x[0].replace('MB','')
|
|
|
- elif 'G' in x[0] :
|
|
|
- size = x[0].replace('GB','') * 1000
|
|
|
- elif 'T' in x[0] :
|
|
|
- pass
|
|
|
- month = months.index(m[1]) + 1
|
|
|
- day = x[2]
|
|
|
- hour,minute = x[3].split(':')
|
|
|
- year = x[4]
|
|
|
- return {"size":size,"age":age}
|
|
|
+ if x:
|
|
|
+ if 'K' in x[0]:
|
|
|
+ print x
|
|
|
+ size = float(x[0].replace('K','').replace('KB','')) / 1000
|
|
|
+ elif 'M' in x[0] :
|
|
|
+ size = x[0].replace('MB','')
|
|
|
+ elif 'G' in x[0] :
|
|
|
+ size = x[0].replace('GB','') * 1000
|
|
|
+ elif 'T' in x[0] :
|
|
|
+ pass
|
|
|
+ month = months.index(x[1]) + 1
|
|
|
+ day = x[2]
|
|
|
+ print [' ** ',x[4]]
|
|
|
+ #hour,minute = x[3].split(':')
|
|
|
+ year = x[4]
|
|
|
+ return {"size":size,"age":age}
|
|
|
+ return None
|
|
|
|
|
|
def evaluate(self,path):
|
|
|
cmd = "find :path|xargs ls -lh |awk '{print $5,$6,$7,$8,$9}'".replace(":path",path)
|
|
|
+ print cmd
|
|
|
handler = subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE)
|
|
|
ostream = handler.communicate()[0].split('\n')
|
|
|
- [self.split(stream) for stream in ostream if stream.strip() != '']
|
|
|
- pass
|
|
|
-"""
|
|
|
- This class attempts to retrieve information form a jmxproxy
|
|
|
- The resulting is a dataset that will be used for mining, and detection of anomalies
|
|
|
-
|
|
|
-"""
|
|
|
-class Jmx (Analysis):
|
|
|
- def __init__(self,conf):
|
|
|
- self.conf = conf
|
|
|
-
|
|
|
- def evaluate(self,**param):
|
|
|
- app = param['app']
|
|
|
- r = param['host'].split('@')
|
|
|
- host = r[1].strip()
|
|
|
-
|
|
|
- login = base64.b64encode("%s" % (r[0]))
|
|
|
|
|
|
- uri = "".join(['http://',host,'/manager/jmxproxy/?qry=*:j2eeType=Servlet,*'])
|
|
|
-
|
|
|
- request = http.Request(uri)
|
|
|
- request.add_header('Authorization','Basic '+login)
|
|
|
- r = http.urlopen(request)
|
|
|
- stream= r.read()
|
|
|
- r.close()
|
|
|
- self.parse(stream)
|
|
|
- def parse(self,stream):
|
|
|
- print stream
|
|
|
- return {}
|
|
|
+ print [self.split(stream) for stream in ostream if stream.strip() != '']
|
|
|
+ pass
|
|
|
|
|
|
class Monitor (Thread):
|
|
|
def __init__(self,pConfig,pWriter,id='processes') :
|