haproxy_log_parser 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/lib/haproxy_log_parser/entry.rb +10 -0
- data/lib/haproxy_log_parser/line.treetop +1 -1
- data/lib/haproxy_log_parser.rb +2 -2
- data/spec/haproxy_log_parser_spec.rb +2 -0
- data/spec/sample.log +1 -1
- metadata +4 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.2
|
@@ -15,6 +15,11 @@ module HAProxyLogParser
|
|
15
15
|
# @return [String]
|
16
16
|
attr_accessor :frontend_name
|
17
17
|
|
18
|
+
# @return [String]
|
19
|
+
# '~' if SSL, '' otherwise (HAProxy 1.5 adds a '~' suffix to the frontend
|
20
|
+
# name if request went through SSL)
|
21
|
+
attr_accessor :transport_mode
|
22
|
+
|
18
23
|
# @return [String]
|
19
24
|
attr_accessor :backend_name
|
20
25
|
|
@@ -80,5 +85,10 @@ module HAProxyLogParser
|
|
80
85
|
|
81
86
|
# @return [String]
|
82
87
|
attr_accessor :http_request
|
88
|
+
|
89
|
+
# return [true, false] true if and only if request was SSL
|
90
|
+
def ssl?
|
91
|
+
@transport_mode == '~'
|
92
|
+
end
|
83
93
|
end
|
84
94
|
end
|
@@ -4,7 +4,7 @@ module HAProxyLogParser
|
|
4
4
|
syslog_portion:([^\[]+ '[' integer ']: ')
|
5
5
|
client_ip:ip4_address ':' client_port:integer ' '
|
6
6
|
'[' accept_date '] '
|
7
|
-
frontend_name:proxy_name ' '
|
7
|
+
frontend_name:proxy_name transport_mode:'~'? ' '
|
8
8
|
backend_name:proxy_name '/' server_name ' '
|
9
9
|
tq:integer '/' tw:integer '/' tc:integer '/' tr:integer '/' tt:integer ' '
|
10
10
|
status_code:integer ' '
|
data/lib/haproxy_log_parser.rb
CHANGED
@@ -21,8 +21,8 @@ module HAProxyLogParser
|
|
21
21
|
|
22
22
|
entry = Entry.new
|
23
23
|
[
|
24
|
-
:client_ip, :frontend_name, :
|
25
|
-
:termination_state
|
24
|
+
:client_ip, :frontend_name, :transport_mode,
|
25
|
+
:backend_name, :server_name, :termination_state
|
26
26
|
].each do |field|
|
27
27
|
entry.send("#{field}=", result.send(field).text_value)
|
28
28
|
end
|
@@ -11,6 +11,7 @@ describe HAProxyLogParser do
|
|
11
11
|
entry.client_port.should == 34028
|
12
12
|
entry.accept_date.should == Time.local(2011, 8, 9, 20, 30, 46, 429)
|
13
13
|
entry.frontend_name.should == 'proxy-out'
|
14
|
+
expect(entry).to be_ssl
|
14
15
|
entry.backend_name.should == 'proxy-out'
|
15
16
|
entry.server_name.should == 'cache1'
|
16
17
|
entry.tq.should == 1
|
@@ -41,6 +42,7 @@ describe HAProxyLogParser do
|
|
41
42
|
entry.client_port.should == 50679
|
42
43
|
entry.accept_date.should == Time.local(2012, 5, 21, 1, 35, 46, 146)
|
43
44
|
entry.frontend_name.should == 'webapp'
|
45
|
+
expect(entry).to_not be_ssl
|
44
46
|
entry.backend_name.should == 'webapp_backend'
|
45
47
|
entry.server_name.should == 'web09'
|
46
48
|
entry.tq.should == 27
|
data/spec/sample.log
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
Aug 9 20:30:46 localhost haproxy[2022]: 10.0.8.2:34028 [09/Aug/2011:20:30:46.429] proxy-out proxy-out/cache1 1/0/2/126/+128 301 +223 - - ---- 617/523/336/168/0 0/0 {www.sytadin.equipement.gouv.fr||http://trafic.1wt.eu/} {Apache|230|||http://www.sytadin.} "GET http://www.sytadin.equipement.gouv.fr/ HTTP/1.1"
|
1
|
+
Aug 9 20:30:46 localhost haproxy[2022]: 10.0.8.2:34028 [09/Aug/2011:20:30:46.429] proxy-out~ proxy-out/cache1 1/0/2/126/+128 301 +223 - - ---- 617/523/336/168/0 0/0 {www.sytadin.equipement.gouv.fr||http://trafic.1wt.eu/} {Apache|230|||http://www.sytadin.} "GET http://www.sytadin.equipement.gouv.fr/ HTTP/1.1"
|
2
2
|
May 21 01:35:46 10.18.237.5 haproxy[26747]: 192.168.1.215:50679 [21/May/2012:01:35:46.146] webapp webapp_backend/web09 27/0/1/0/217 200 1367 session=abc session=xyz ---- 600/529/336/158/0 0/0 {#7C#7C #7B5F41#7D|http://google.com/|} {1270925568||} "GET /images/image.gif HTTP/1.1"
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: haproxy_log_parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Toby Hsieh
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2013-09-23 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|