45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# File 'lib/chef_monitor/logmon.rb', line 45
def scan(line)
@regex = /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}) - (.{0})- \[([^\]]+?)\] "(PUT|DELETE|POST) ([^\s]+?) (HTTP\/1\.1)" (\d+) "(.*)" (\d+) "-" "(.*)" "(.*)" "(.*)" "(.*)" "(.*)" "(.*)" "(.*)" "(.*)" "(.*)"/
if line =~ @regex
data = {}
data['time'] = $3
data['user'] = $16
data['server'] = LOGMONNAME
data['org'] = $5.split('/')[2] unless $5.split('/')[2].nil?
data['object'] = $5.split('/')[3] unless $5.split('/')[3].nil?
data['name'] = $5.split('/')[4] unless $5.split('/')[4].nil?
data['version'] = $5.split('/')[5] unless $5.split('/')[5].nil?
data['action'] = $4
return data.to_json
end
return nil
end
|