logstream 0.0.3 → 0.0.4
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +127 -11
- data/etc/ca.pem +76 -67
- data/lib/logstream/client.rb +16 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA512:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 14af9ce654518058309aef8be98629bcea26dfcaf962797acac04709fcc6a56cc258fc98b2aad70f303265c3e2b9d5d042b7c5cec600ad186fba6512d4a0aade
|
4
|
+
data.tar.gz: 3bebdfa9608a4e5d2adb01cb8b20d1ad9e14540cb45c91692a6bb518fcbd7d775bded11b96b5647f04f056a86f0056d19355fc3560bba71e876332dcaab52879
|
5
5
|
SHA1:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d798c7101cb88557885503f033895115ee98474
|
7
|
+
data.tar.gz: 8fc9ea8fff537fd8c80ab73a5e335fa989619fe3
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -57,43 +57,119 @@ other elements of the hash.
|
|
57
57
|
|
58
58
|
Available commands are defined in the following subsections. Inbound
|
59
59
|
commands can arrive from the upstream client (end-user client, or an
|
60
|
-
upstream logtailor). Outbound commands are sent to the upstream
|
60
|
+
upstream logtailor). Outbound commands are sent to the upstream
|
61
|
+
client.
|
62
|
+
|
63
|
+
In the examples that follow, "<-" indicates and inbound command and
|
64
|
+
"->" indicates an outbound command. Those indicators are merely
|
65
|
+
documentation for the examples; they are not part of the API.
|
66
|
+
|
67
|
+
### API example
|
68
|
+
|
69
|
+
The logstream CLI --debug option shows API messages as they
|
70
|
+
occur. Here is hypothetical debug output for the Dev environment of a
|
71
|
+
site named "mysite" up to the first actual log message arriving. By
|
72
|
+
default, the CLI enables the log types apache-request, php-error,
|
73
|
+
drupal-watchdog, and varnish-request.
|
74
|
+
|
75
|
+
```
|
76
|
+
$ logstream tail devcloud:mysite dev --debug
|
77
|
+
-> connect to wss://logstream.acquia.com/ah_websocket/logstream/v1
|
78
|
+
-> {"site":"devcloud:mysite","d":"deaefc1f42a4d18cb932c2eb9fa75115fba5ab83f1a3c564767ef1ce8dabf2cc","t":1404764927,"env":"dev","cmd":"stream-environment"}
|
79
|
+
<- {"cmd":"connected","server":"logstream-api-61"}
|
80
|
+
<- {"cmd":"connected","server":"bal-4"}
|
81
|
+
<- {"type":"bal-request","cmd":"available","server":"bal-4","display_type":"Balancer request"}
|
82
|
+
<- {"type":"varnish-request","cmd":"available","server":"bal-4","display_type":"Varnish request"}
|
83
|
+
-> {"cmd":"enable","type":"varnish-request","server":"bal-4"}
|
84
|
+
<- {"server":"srv-6","cmd":"connected"}
|
85
|
+
<- {"display_type":"Apache request","server":"srv-6","cmd":"available","type":"apache-request"}
|
86
|
+
-> {"cmd":"enable","type":"apache-request","server":"srv-6"}
|
87
|
+
<- {"display_type":"Apache error","server":"srv-6","cmd":"available","type":"apache-error"}
|
88
|
+
<- {"display_type":"PHP error","server":"srv-6","cmd":"available","type":"php-error"}
|
89
|
+
-> {"cmd":"enable","type":"php-error","server":"srv-6"}
|
90
|
+
<- {"display_type":"Drupal watchdog","server":"srv-6","cmd":"available","type":"drupal-watchdog"}
|
91
|
+
-> {"cmd":"enable","type":"drupal-watchdog","server":"srv-6"}
|
92
|
+
<- {"display_type":"Drupal request","server":"srv-6","cmd":"available","type":"drupal-request"}
|
93
|
+
<- {"server":"bal-5","cmd":"connected"}
|
94
|
+
<- {"msg":{"type":"varnish-request","server":"bal-4","cmd":"enable"},"cmd":"success","server":"bal-4"}
|
95
|
+
<- {"server":"srv-6","cmd":"success","msg":{"server":"srv-6","cmd":"enable","type":"apache-request"}}
|
96
|
+
<- {"server":"srv-6","cmd":"success","msg":{"server":"srv-6","cmd":"enable","type":"php-error"}}
|
97
|
+
<- {"server":"srv-6","cmd":"success","msg":{"server":"srv-6","cmd":"enable","type":"drupal-watchdog"}}
|
98
|
+
<- {"server":"bal-5","display_type":"Balancer request","cmd":"available","type":"bal-request"}
|
99
|
+
<- {"server":"bal-5","display_type":"Varnish request","cmd":"available","type":"varnish-request"}
|
100
|
+
-> {"cmd":"enable","type":"varnish-request","server":"bal-5"}
|
101
|
+
<- {"server":"bal-5","cmd":"success","msg":{"server":"bal-5","type":"varnish-request","cmd":"enable"}}
|
102
|
+
<- {"text":"107.0.255.129 - - [07/Jul/2014:20:28:53 +0000] \"GET / HTTP/1.0\" 200 2454 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36\" vhost=mysitedev.devcloud.acquia-sites.com host=mysitedev.devcloud.acquia-sites.com hosting_site=mysitedev pid=6863 request_time=80001 request_id=\"v-4fe9953a-0615-11e4-9fd8-1231392c7b9c\"","server":"srv-6","cmd":"line","http_status":200,"log_type":"apache-request","disp_time":"2014-07-07 20:28:53"}
|
103
|
+
107.0.255.129 - - [07/Jul/2014:20:28:53 +0000] "GET / HTTP/1.0" 200 2454 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36" vhost=eebjaspandev.devcloud.acquia-sites.com host=eebjaspandev.devcloud.acquia-sites.com hosting_site=eebjaspandev pid=6863 request_time=80001 request_id="v-4fe9953a-0615-11e4-9fd8-1231392c7b9c"
|
104
|
+
```
|
61
105
|
|
62
106
|
### success (outbound)
|
63
107
|
|
64
108
|
Sent by a variety of commands when a triggering command is completed
|
65
109
|
successfully (failures result in an error command). Since some commands execute
|
66
110
|
on multiple servers, a single command may generate multiple success
|
67
|
-
replies.
|
111
|
+
replies.
|
112
|
+
|
113
|
+
Parameters:
|
68
114
|
|
69
115
|
* msg: the message that succeeded
|
70
116
|
|
117
|
+
Example:
|
118
|
+
|
119
|
+
```
|
120
|
+
<- {"cmd":"success","msg":{"type":"varnish-request","server":"bal-4","cmd":"enable"},"server":"bal-4"}
|
121
|
+
```
|
122
|
+
|
71
123
|
### error (outbound)
|
72
124
|
|
73
125
|
Sent when an error occurs, either because of a bad request or any kind of
|
74
126
|
system or network failure. Since some commands execute on multiple servers, a
|
75
|
-
single command may generate multiple error replies.
|
127
|
+
single command may generate multiple error replies.
|
128
|
+
|
129
|
+
Parameters:
|
76
130
|
|
77
131
|
* code: an HTTP-like status code; i.e.: 400 means your fault, 500 means our
|
78
132
|
fault.
|
79
133
|
* description: a human-readable description of the error condition
|
80
134
|
* during: the operation that triggered the error
|
81
135
|
|
136
|
+
Example:
|
137
|
+
|
138
|
+
```
|
139
|
+
<- {"cmd"=>"error", "during"=>"{\"description\":\"this is an invalid message\"}", "description"=>"message missing cmd paramter", "code"=>400, "server"=>"logstream-api-61"}
|
140
|
+
```
|
141
|
+
|
82
142
|
### connected (outbound)
|
83
143
|
|
84
|
-
Sent upon initial connection to a server.
|
144
|
+
Sent upon initial connection to a server.
|
145
|
+
|
146
|
+
Parameters:
|
85
147
|
|
86
148
|
* server: the name of the connected server
|
87
149
|
|
150
|
+
Example:
|
151
|
+
|
152
|
+
```
|
153
|
+
<- {"cmd":"connected","server":"logstream-api-61"}
|
154
|
+
```
|
155
|
+
|
88
156
|
### available (outbound)
|
89
157
|
|
90
|
-
Sent to indicate an available log source.
|
158
|
+
Sent to indicate an available log source.
|
159
|
+
|
160
|
+
Parameters:
|
91
161
|
|
92
162
|
* type: the log type (e.g. apache-access)
|
93
163
|
* display: the suggested display name for the log type (e.g. "Apache access")
|
94
164
|
* server: the originating server for this stream
|
95
165
|
|
96
|
-
|
166
|
+
Example:
|
167
|
+
|
168
|
+
```
|
169
|
+
<- {"type":"varnish-request","cmd":"available","server":"bal-4","display_type":"Varnish request"}
|
170
|
+
```
|
171
|
+
|
172
|
+
### list-available (inbound)
|
97
173
|
|
98
174
|
Requests a list of all available log sources from one specified server or all
|
99
175
|
servers. Parameters:
|
@@ -103,38 +179,73 @@ servers. Parameters:
|
|
103
179
|
|
104
180
|
One or all servers will send available messages for each available log source.
|
105
181
|
|
182
|
+
Example:
|
183
|
+
|
184
|
+
```
|
185
|
+
-> {"server":"srv-6","cmd":"list-available"}
|
186
|
+
<- {"display_type":"Apache request","server":"srv-6","cmd":"available","type":"apache-request"}
|
187
|
+
<- {"display_type":"Apache error","server":"srv-6","cmd":"available","type":"apache-error"}
|
188
|
+
```
|
189
|
+
|
106
190
|
### enable (inbound)
|
107
191
|
|
108
192
|
Starts streaming a specific source previously offered via an
|
109
|
-
"available" command.
|
193
|
+
"available" command.
|
194
|
+
|
195
|
+
Parameters:
|
110
196
|
|
111
197
|
* type: the log type to start streaming
|
112
198
|
* server: the originating server to stream from
|
113
199
|
|
114
200
|
Sends a success or error reply.
|
115
201
|
|
202
|
+
Example:
|
203
|
+
|
204
|
+
```
|
205
|
+
-> {"cmd":"enable","type":"varnish-request","server":"bal-4"}
|
206
|
+
```
|
207
|
+
|
116
208
|
### disable (inbound)
|
117
209
|
|
118
|
-
Stops streaming from an enabled source.
|
210
|
+
Stops streaming from an enabled source.
|
211
|
+
|
212
|
+
Parameters:
|
119
213
|
|
120
214
|
* type: the log type to stop streaming
|
121
215
|
* server: the originating server to stream from
|
122
216
|
|
123
217
|
Sends a success or error reply.
|
124
218
|
|
125
|
-
|
219
|
+
Example:
|
220
|
+
|
221
|
+
```
|
222
|
+
-> {"cmd":"disable","type":"varnish-request","server":"bal-4"}
|
223
|
+
```
|
224
|
+
|
225
|
+
### list-enabled (inbound) and enabled (outbound)
|
126
226
|
|
127
227
|
Requests a list of all enabled log sources from one specified server or all
|
128
|
-
servers.
|
228
|
+
servers.
|
229
|
+
|
230
|
+
Parameters:
|
129
231
|
|
130
232
|
* server: the originating server to list; if not specified, all
|
131
233
|
connected servers will reply.
|
132
234
|
|
133
|
-
One or all servers will send a
|
235
|
+
One or all servers will send a enabled reply.
|
236
|
+
|
237
|
+
Parameters:
|
134
238
|
|
135
239
|
* enabled: an array of enabled log sources
|
136
240
|
* server: the server these logs are enabled on
|
137
241
|
|
242
|
+
Example:
|
243
|
+
|
244
|
+
```
|
245
|
+
-> {"server":"srv-6","cmd":"list-enabled"}
|
246
|
+
<-> {"server":"srv-6","cmd":"enabled","enabled":["drupal-watchdog","apache-request","php-error"]}
|
247
|
+
```
|
248
|
+
|
138
249
|
### line (outbound)
|
139
250
|
|
140
251
|
Sent when a new, enabled line of log data is available. Parameters:
|
@@ -150,3 +261,8 @@ Line messages may also contain other data depending on the log type:
|
|
150
261
|
* http_status: the HTTP status code, if the log line records an HTTP request
|
151
262
|
(e.g. from Apache, nginx, Varnish, etc)
|
152
263
|
|
264
|
+
Example:
|
265
|
+
|
266
|
+
```
|
267
|
+
<- {"text":"107.0.255.129 - - [07/Jul/2014:20:28:53 +0000] \"GET / HTTP/1.0\" 200 2454 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36\" vhost=mysitedev.devcloud.acquia-sites.com host=mysitedev.devcloud.acquia-sites.com hosting_site=mysitedev pid=6863 request_time=80001 request_id=\"v-4fe9953a-0615-11e4-9fd8-1231392c7b9c\"","server":"srv-6","cmd":"line","http_status":200,"log_type":"apache-request","disp_time":"2014-07-07 20:28:53"}
|
268
|
+
```
|
data/etc/ca.pem
CHANGED
@@ -1,8 +1,47 @@
|
|
1
1
|
-----BEGIN CERTIFICATE-----
|
2
|
-
|
2
|
+
MIIGvzCCBaegAwIBAgIQD1pdYvA5l5l2ezeWEsVwNTANBgkqhkiG9w0BAQUFADBm
|
3
|
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
4
|
+
d3cuZGlnaWNlcnQuY29tMSUwIwYDVQQDExxEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
|
5
|
+
ZSBDQS0zMB4XDTEyMDgyNzAwMDAwMFoXDTE1MDkwOTEyMDAwMFowfzELMAkGA1UE
|
6
|
+
BhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0dHMxEzARBgNVBAcTCkJ1cmxpbmd0
|
7
|
+
b24xEzARBgNVBAoTCkFjcXVpYSBJbmMxFzAVBgNVBAsTDkFjcXVpYSBIb3N0aW5n
|
8
|
+
MRUwEwYDVQQDDAwqLmFjcXVpYS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
|
9
|
+
ggEKAoIBAQCVmcKz54qAbNO9NyP3hA96gzGRORSB9Bz4EOuFM1kfD/gvZoXoqk87
|
10
|
+
NC/jPrvPAxNZDJ33IrO08WDWxBVi6UQ7Q9YYFgU1mm0se4qjwld7dtziDnaq2zXc
|
11
|
+
x4Q+AVfBj92w+RsVDWA2mNtMSaDePqXGzLOz4muUCA5oCtMg2QD+XIEp1yt13nQb
|
12
|
+
5nW6PbY6kHHviepNX3wj7TdqTLNPdCVcK9BJz2YTjfHtBBxnGxR/m804RL9fYWKz
|
13
|
+
r6XUbbf+gcKFwMqRI54Qs5cD20jmYnYgXFYwAx6HvOH9Lr969xMq5ePIQkKc66kG
|
14
|
+
Opie8unjAQRgd6T7lL+zvpaen1UhJruhAgMBAAGjggNOMIIDSjAfBgNVHSMEGDAW
|
15
|
+
gBRQ6nOJ2yn7EI+e5QEg1N55mUiD9zAdBgNVHQ4EFgQUJuo64qCLWo0Fvi6AsOYG
|
16
|
+
IiNj+s8wIwYDVR0RBBwwGoIMKi5hY3F1aWEuY29tggphY3F1aWEuY29tMA4GA1Ud
|
17
|
+
DwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwYQYDVR0f
|
18
|
+
BFowWDAqoCigJoYkaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL2NhMy1nMjcuY3Js
|
19
|
+
MCqgKKAmhiRodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vY2EzLWcyNy5jcmwwggHE
|
20
|
+
BgNVHSAEggG7MIIBtzCCAbMGCWCGSAGG/WwBATCCAaQwOgYIKwYBBQUHAgEWLmh0
|
21
|
+
dHA6Ly93d3cuZGlnaWNlcnQuY29tL3NzbC1jcHMtcmVwb3NpdG9yeS5odG0wggFk
|
22
|
+
BggrBgEFBQcCAjCCAVYeggFSAEEAbgB5ACAAdQBzAGUAIABvAGYAIAB0AGgAaQBz
|
23
|
+
ACAAQwBlAHIAdABpAGYAaQBjAGEAdABlACAAYwBvAG4AcwB0AGkAdAB1AHQAZQBz
|
24
|
+
ACAAYQBjAGMAZQBwAHQAYQBuAGMAZQAgAG8AZgAgAHQAaABlACAARABpAGcAaQBD
|
25
|
+
AGUAcgB0ACAAQwBQAC8AQwBQAFMAIABhAG4AZAAgAHQAaABlACAAUgBlAGwAeQBp
|
26
|
+
AG4AZwAgAFAAYQByAHQAeQAgAEEAZwByAGUAZQBtAGUAbgB0ACAAdwBoAGkAYwBo
|
27
|
+
ACAAbABpAG0AaQB0ACAAbABpAGEAYgBpAGwAaQB0AHkAIABhAG4AZAAgAGEAcgBl
|
28
|
+
ACAAaQBuAGMAbwByAHAAbwByAGEAdABlAGQAIABoAGUAcgBlAGkAbgAgAGIAeQAg
|
29
|
+
AHIAZQBmAGUAcgBlAG4AYwBlAC4wewYIKwYBBQUHAQEEbzBtMCQGCCsGAQUFBzAB
|
30
|
+
hhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wRQYIKwYBBQUHMAKGOWh0dHA6Ly9j
|
31
|
+
YWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEhpZ2hBc3N1cmFuY2VDQS0zLmNy
|
32
|
+
dDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBQUAA4IBAQCwbrUX+rSNdiS1ivce
|
33
|
+
pI3gzzlOG9FjcPPTfoLD/+eiysiTKe7d3Hb9urHZWGuEWWxXRl+6tND3TAt8ONpM
|
34
|
+
ZCs+nls+qvspG8ApQMZLgak4kb4+CaLMi6ZpQ2JTI89iChonOjI0OP6dVDbGbTvV
|
35
|
+
a7LKkiZw1xJNYUnhIiqOE1B9Ww3SUUpe1TLmiAYiiYiiuiyBxMz48sARHXnlEbWw
|
36
|
+
0dHOnU51tvG1zkv9sATYwv3LtIjf9pmXZnS1W0j5Ap0JeFbgFywVi0zSpbix0fzr
|
37
|
+
pyArWETFKxirR2bCVFH0sVZ2q3/sznguUx1QgH+tese0hqHm2epRORcOi69mcDYi
|
38
|
+
Cf5v
|
39
|
+
-----END CERTIFICATE-----
|
40
|
+
-----BEGIN CERTIFICATE-----
|
41
|
+
MIIGWDCCBUCgAwIBAgIQCl8RTQNbF5EX0u/UA4w/OzANBgkqhkiG9w0BAQUFADBs
|
3
42
|
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
4
43
|
d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
|
5
|
-
|
44
|
+
ZSBFViBSb290IENBMB4XDTA4MDQwMjEyMDAwMFoXDTIyMDQwMzAwMDAwMFowZjEL
|
6
45
|
MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
|
7
46
|
LmRpZ2ljZXJ0LmNvbTElMCMGA1UEAxMcRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
|
8
47
|
Q0EtMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9hCikQH17+NDdR
|
@@ -11,7 +50,7 @@ KEZmBMcqeSZ6mdWOw21PoF6tvD2Rwll7XjZswFPPAAgyPhBkWBATaccM7pxCUQD5
|
|
11
50
|
BUTuJM56H+2MEb0SqPMV9Bx6MWkBG6fmXcCabH4JnudSREoQOiPkm7YDr6ictFuf
|
12
51
|
1EutkozOtREqqjcYjbTCuNhcBoz4/yO9NV7UfD5+gw6RlgWYw7If48hl66l7XaAs
|
13
52
|
zPw82W3tzPpLQ4zJ1LilYRyyQLYoEt+5+F/+07LJ7z20Hkt8HEyZNp496+ynaF4d
|
14
|
-
|
53
|
+
32duXvsCAwEAAaOCAvowggL2MA4GA1UdDwEB/wQEAwIBhjCCAcYGA1UdIASCAb0w
|
15
54
|
ggG5MIIBtQYLYIZIAYb9bAEDAAIwggGkMDoGCCsGAQUFBwIBFi5odHRwOi8vd3d3
|
16
55
|
LmRpZ2ljZXJ0LmNvbS9zc2wtY3BzLXJlcG9zaXRvcnkuaHRtMIIBZAYIKwYBBQUH
|
17
56
|
AgIwggFWHoIBUgBBAG4AeQAgAHUAcwBlACAAbwBmACAAdABoAGkAcwAgAEMAZQBy
|
@@ -21,69 +60,39 @@ AEMAUAAvAEMAUABTACAAYQBuAGQAIAB0AGgAZQAgAFIAZQBsAHkAaQBuAGcAIABQ
|
|
21
60
|
AGEAcgB0AHkAIABBAGcAcgBlAGUAbQBlAG4AdAAgAHcAaABpAGMAaAAgAGwAaQBt
|
22
61
|
AGkAdAAgAGwAaQBhAGIAaQBsAGkAdAB5ACAAYQBuAGQAIABhAHIAZQAgAGkAbgBj
|
23
62
|
AG8AcgBwAG8AcgBhAHQAZQBkACAAaABlAHIAZQBpAG4AIABiAHkAIAByAGUAZgBl
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
-----END CERTIFICATE-----
|
37
|
-
-----BEGIN CERTIFICATE-----
|
38
|
-
MIIEQjCCA6ugAwIBAgIEQodApTANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC
|
39
|
-
VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u
|
40
|
-
ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc
|
41
|
-
KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u
|
42
|
-
ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEw
|
43
|
-
MDEwNTAwMDBaFw0xNDA3MjYxODE1MTVaMGwxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
|
44
|
-
EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xKzApBgNV
|
45
|
-
BAMTIkRpZ2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIEVWIFJvb3QgQ0EwggEiMA0GCSqG
|
46
|
-
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGzOVz5vvUu+UtLTKm3+WBP8nNJUm2cSrD
|
47
|
-
1ZQ0Z6IKHLBfaaZAscS3so/QmKSpQVk609yU1jzbdDikSsxNJYL3SqVTEjju80lt
|
48
|
-
cZF+Y7arpl/DpIT4T2JRvvjF7Ns4kuMG5QiRDMQoQVX7y1qJFX5x6DW/TXIJPb46
|
49
|
-
OFBbdzEbjbPHJEWap6xtABRaBLe6E+tRCphBQSJOZWGHgUFQpnlcid4ZSlfVLuZd
|
50
|
-
HFMsfpjNGgYWpGhz0DQEE1yhcdNafFXbXmThN4cwVgTlEbQpgBLxeTmIogIRfCdm
|
51
|
-
t4i3ePLKCqg4qwpkwr9mXZWEwaElHoddGlALIBLMQbtuC1E4uEvLAgMBAAGjggET
|
52
|
-
MIIBDzASBgNVHRMBAf8ECDAGAQH/AgEBMCcGA1UdJQQgMB4GCCsGAQUFBwMBBggr
|
53
|
-
BgEFBQcDAgYIKwYBBQUHAwQwMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzABhhdo
|
54
|
-
dHRwOi8vb2NzcC5lbnRydXN0Lm5ldDAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8v
|
55
|
-
Y3JsLmVudHJ1c3QubmV0L3NlcnZlcjEuY3JsMB0GA1UdDgQWBBSxPsNpA/i/RwHU
|
56
|
-
mCYaCALvY2QrwzALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7
|
57
|
-
UISX8+1i0BowGQYJKoZIhvZ9B0EABAwwChsEVjcuMQMCAIEwDQYJKoZIhvcNAQEF
|
58
|
-
BQADgYEASA4rbyBiTCiToyQ9WKshz4D4mpeQaiLtWnxHNpnneYR1qySPkgrVYQSu
|
59
|
-
w2pcsszZ5ESHb9uPOGL3RDadurxuB8TUjegf0Qtgo7WczmO+7Wfc+Lrebskly1u1
|
60
|
-
nXZwC99CcvhPQRFkpdLq/NWvEfQVOGecIKhLd1qRMkIy54Wz3zY=
|
63
|
+
AHIAZQBuAGMAZQAuMBIGA1UdEwEB/wQIMAYBAf8CAQAwNAYIKwYBBQUHAQEEKDAm
|
64
|
+
MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wgY8GA1UdHwSB
|
65
|
+
hzCBhDBAoD6gPIY6aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0SGln
|
66
|
+
aEFzc3VyYW5jZUVWUm9vdENBLmNybDBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNl
|
67
|
+
cnQuY29tL0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDAfBgNVHSME
|
68
|
+
GDAWgBSxPsNpA/i/RwHUmCYaCALvY2QrwzAdBgNVHQ4EFgQUUOpzidsp+xCPnuUB
|
69
|
+
INTeeZlIg/cwDQYJKoZIhvcNAQEFBQADggEBAB7ipUiebNtTOA/vphoqrOIDQ+2a
|
70
|
+
vD6OdRvw/S4iWawTwGHi5/rpmc2HCXVUKL9GYNy+USyS8xuRfDEIcOI3ucFbqL2j
|
71
|
+
CwD7GhX9A61YasXHJJlIR0YxHpLvtF9ONMeQvzHB+LGEhtCcAarfilYGzjrpDq6X
|
72
|
+
dF3XcZpCdF/ejUN83ulV7WkAywXgemFhM9EZTfkI7qA5xSU1tyvED7Ld8aW3DiTE
|
73
|
+
JiiNeXf1L/BXunwH1OH8zVowV36GEEfdMR/X/KLCvzB8XSSq6PmuX2p0ws5rs0bY
|
74
|
+
Ib4p1I5eFdZCSucyb6Sxa1GDWL4/bcf72gMhy2oWGU4K8K2Eyl2Us1p292E=
|
61
75
|
-----END CERTIFICATE-----
|
62
76
|
-----BEGIN CERTIFICATE-----
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
MAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZI
|
86
|
-
hvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN
|
87
|
-
95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd
|
88
|
-
2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
|
89
|
-
-----END CERTIFICATE-----
|
77
|
+
MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs
|
78
|
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
79
|
+
d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
|
80
|
+
ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL
|
81
|
+
MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
|
82
|
+
LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
|
83
|
+
RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm
|
84
|
+
+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW
|
85
|
+
PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM
|
86
|
+
xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB
|
87
|
+
Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3
|
88
|
+
hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg
|
89
|
+
EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF
|
90
|
+
MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA
|
91
|
+
FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec
|
92
|
+
nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z
|
93
|
+
eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF
|
94
|
+
hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2
|
95
|
+
Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
|
96
|
+
vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep
|
97
|
+
+OkuE6N36B9K
|
98
|
+
-----END CERTIFICATE-----
|
data/lib/logstream/client.rb
CHANGED
@@ -31,16 +31,24 @@ module Logstream
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
+
def debug_send(msg)
|
35
|
+
debug("-> #{msg}")
|
36
|
+
end
|
37
|
+
|
38
|
+
def debug_recv(msg)
|
39
|
+
debug("<- #{msg}")
|
40
|
+
end
|
41
|
+
|
34
42
|
def run(url, connect_message)
|
35
43
|
EM.run do
|
36
|
-
|
44
|
+
debug_send("connect to #{url}")
|
37
45
|
ws = Faye::WebSocket::Client.new(url)
|
38
46
|
ws.on :open do
|
39
|
-
|
47
|
+
debug_send(connect_message)
|
40
48
|
ws.send(connect_message)
|
41
49
|
end
|
42
50
|
ws.on :message do |body,type|
|
43
|
-
|
51
|
+
debug_recv(body.data)
|
44
52
|
msg = JSON.parse(body.data)
|
45
53
|
case msg['cmd']
|
46
54
|
when 'success'
|
@@ -84,13 +92,16 @@ module Logstream
|
|
84
92
|
end
|
85
93
|
|
86
94
|
def send_msg(ws, msg)
|
87
|
-
|
95
|
+
body = msg.to_json
|
96
|
+
debug_send(body)
|
97
|
+
ws.send(body)
|
88
98
|
end
|
89
99
|
|
90
100
|
GREEN = '32;1'
|
91
101
|
RED = '31;1'
|
92
102
|
YELLOW = '33;1'
|
93
103
|
BLUE = '34;1'
|
104
|
+
CYAN = '46;37;1'
|
94
105
|
LOG_TYPE_COLORS = {
|
95
106
|
'apache-request' => {
|
96
107
|
/^5/ => RED,
|
@@ -106,7 +117,7 @@ module Logstream
|
|
106
117
|
'php-error' => RED,
|
107
118
|
'drupal-watchdog' => BLUE,
|
108
119
|
'logtailor-error' => RED,
|
109
|
-
'logtailor-debug' =>
|
120
|
+
'logtailor-debug' => CYAN,
|
110
121
|
}
|
111
122
|
|
112
123
|
def color(type, status)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstream
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Barry Jaspan
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-08-04 00:00:00 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faye-websocket
|