RE: Websockets monitoring

2014-03-05 Thread Mehul Ved
Hi Martin,

 Awesome, that works perfectly. Thank you.

​


From: Martin Pala 
Sent: Thursday, March 06, 2014 1:26 AM
To: Mehul Ved
Cc: This is the general mailing list for monit
Subject: Re: Websockets monitoring

Hi,

the websocket test is fixed to support non-pong frames sent by server (such as 
the mentioned chat prompt). Tested with your websocket service, works fine.

You can get the latest code with fix here: 
https://bitbucket.org/tildeslash/monit/get/master.tar.gz


Regards,
Martin



On 05 Mar 2014, at 13:05, Mehul Ved 
mailto:mehul@nexsales.com>> wrote:

Sure, you can use it for testing.

On Mar 5, 2014 5:04 PM, Martin Pala 
mailto:mart...@tildeslash.com>> wrote:

Thanks for the trace.

It seems that your server responds with pong (in packet no. 11), but before 
that, it sends chat text frame with "who" prompt (in packet no. 9):

No. TimeSourceDestination   Protocol Length 
Info
  4 0.000384127.0.0.1 127.0.0.1 HTTP 309
GET / HTTP/1.1

No. TimeSourceDestination   Protocol Length 
Info
  6 0.001237127.0.0.1 127.0.0.1 HTTP 197
HTTP/1.1 101 Switching Protocols

No. TimeSourceDestination   Protocol Length 
Info
  8 0.001303127.0.0.1 127.0.0.1 WebSocket 70
 WebSocket Ping [FIN]

WebSocket
1...  = Fin: True
.000  = Reserved: 0x00
 1001 = Opcode: Ping (9)
0...  = Mask: False
.000  = Payload length: 0

No. TimeSourceDestination   Protocol Length 
Info
  9 0.002225127.0.0.1 127.0.0.1 WebSocket 75
 WebSocket Text [FIN]

WebSocket
1...  = Fin: True
.000  = Reserved: 0x00
 0001 = Opcode: Text (1)
0...  = Mask: False
.000 0101 = Payload length: 5
Payload
Text: "who"

No. TimeSourceDestination   Protocol Length 
Info
 11 0.003986127.0.0.1 127.0.0.1 WebSocket 70
 WebSocket Pong [FIN]

WebSocket
1...  = Fin: True
.000  = Reserved: 0x00
 1010 = Opcode: Pong (10)
0...  = Mask: False
.000  = Payload length: 0


At this point Monit expects response to its own request, so the protocol test 
failed.

The server response is OK, we just need to allow server messages (such as this 
prompt) not related to our own ping request. The 
websocket.org<http://websocket.org/>'s service works differently ... it's not 
chat service, just echo, so it doesn't send any prompt.

Will fix the test.

Can i use your websocket servis (from the previous email) to verify the test 
works with it?

Regards,
Martin



On 05 Mar 2014, at 12:13, Mehul Ved 
mailto:mehul@nexsales.com>> wrote:

Hi Martin,
 It's a custom application developed by us in node.js. I'll speak to my 
developer and ensure that our application is made RFC compliant. That would be 
a much cleaner solution.

I'm attaching the pcap file.

From: 
monit-general-bounces+mehul.ved=nexsales@nongnu.org<mailto:monit-general-bounces+mehul.ved=nexsales@nongnu.org>
 
mailto:monit-general-bounces+mehul.ved=nexsales@nongnu.org>>
 on behalf of Martin Pala 
mailto:mart...@tildeslash.com>>
Sent: Wednesday, March 05, 2014 3:58 PM
To: This is the general mailing list for monit
Subject: Re: Websockets monitoring

Hi,

it seems that your websocket server doesn't support ping/pong (part of 
websocket specification: RFC 6455) and instead sent some text frame in response 
to ping ... either the text frame contains some error description, websocket 
ping request is prohibited or the server is not RFC 6455 compliant.

The problem can be in the test configuration ... the version 13, origin 
"http://www.websocket.org<http://www.websocket.org/>" works with the demo echo 
websocket server operate by websocket.org<http://websocket.org/>. Each 
websocket application has its own version and 13 may be invalid in your case. 
Also the origin is part of websocket security model and origin 
"http://www.websocket.org<http://www.websocket.org/>" is basically settings for 
websocket.org<http://websocket.org/>'s service ... not general value - but if 
it was not accepted by the server, it should return 403 error as response to 
HTTP upgrade request, which it didn't (101 was received, otherwise there will 
be different error in log).

The websocket.org<http://websocket.org/> demo with "location" works for 
ws://dev.deltamktgresearch.com:10301, but their echo test 
doesn't use ping - it sends just text frame ... such test is not generic and 
may fail in other 

Re: Websockets monitoring

2014-03-05 Thread Martin Pala
Hi,

the websocket test is fixed to support non-pong frames sent by server (such as 
the mentioned chat prompt). Tested with your websocket service, works fine.

You can get the latest code with fix here: 
https://bitbucket.org/tildeslash/monit/get/master.tar.gz


Regards,
Martin



On 05 Mar 2014, at 13:05, Mehul Ved  wrote:

> Sure, you can use it for testing.
> 
> On Mar 5, 2014 5:04 PM, Martin Pala  wrote:
>> 
>> Thanks for the trace.
>> 
>> It seems that your server responds with pong (in packet no. 11), but before 
>> that, it sends chat text frame with "who" prompt (in packet no. 9):
>> 
>> No. TimeSourceDestination   Protocol 
>> Length Info
>>   4 0.000384127.0.0.1 127.0.0.1 HTTP 309 
>>GET / HTTP/1.1
>> 
>> No. TimeSourceDestination   Protocol 
>> Length Info
>>   6 0.001237127.0.0.1 127.0.0.1 HTTP 197 
>>HTTP/1.1 101 Switching Protocols
>> 
>> No. TimeSourceDestination   Protocol 
>> Length Info
>>   8 0.001303127.0.0.1 127.0.0.1 WebSocket 70 
>> WebSocket Ping [FIN]
>> 
>> WebSocket
>> 1...  = Fin: True
>> .000  = Reserved: 0x00
>>  1001 = Opcode: Ping (9)
>> 0...  = Mask: False
>> .000  = Payload length: 0
>> 
>> No. TimeSourceDestination   Protocol 
>> Length Info
>>   9 0.002225127.0.0.1 127.0.0.1 WebSocket 75 
>> WebSocket Text [FIN]
>> 
>> WebSocket
>> 1...  = Fin: True
>> .000  = Reserved: 0x00
>>  0001 = Opcode: Text (1)
>> 0...  = Mask: False
>> .000 0101 = Payload length: 5
>> Payload
>> Text: "who"
>> 
>> No. TimeSourceDestination   Protocol 
>> Length Info
>>  11 0.003986127.0.0.1 127.0.0.1 WebSocket 70 
>> WebSocket Pong [FIN]
>> 
>> WebSocket
>> 1...  = Fin: True
>> .000  = Reserved: 0x00
>>  1010 = Opcode: Pong (10)
>> 0...  = Mask: False
>> .000  = Payload length: 0
>> 
>> 
>> At this point Monit expects response to its own request, so the protocol 
>> test failed.
>> 
>> The server response is OK, we just need to allow server messages (such as 
>> this prompt) not related to our own ping request. The websocket.org's 
>> service works differently ... it's not chat service, just echo, so it 
>> doesn't send any prompt.
>> 
>> Will fix the test. 
>> 
>> Can i use your websocket servis (from the previous email) to verify the test 
>> works with it?
>> 
>> Regards,
>> Martin
>> 
>> 
>> 
>> On 05 Mar 2014, at 12:13, Mehul Ved  wrote:
>> 
>>> Hi Martin,
>>>  It's a custom application developed by us in node.js. I'll speak to my 
>>> developer and ensure that our application is made RFC compliant. That would 
>>> be a much cleaner solution.
>>> 
>>> I'm attaching the pcap file.
>>> 
>>> From: monit-general-bounces+mehul.ved=nexsales@nongnu.org 
>>>  on behalf of 
>>> Martin Pala 
>>> Sent: Wednesday, March 05, 2014 3:58 PM
>>> To: This is the general mailing list for monit
>>> Subject: Re: Websockets monitoring
>>> 
>>> Hi,
>>> 
>>> it seems that your websocket server doesn't support ping/pong (part of 
>>> websocket specification: RFC 6455) and instead sent some text frame in 
>>> response to ping ... either the text frame contains some error description, 
>>> websocket ping request is prohibited or the server is not RFC 6455 
>>> compliant.
>>> 
>>> The problem can be in the test configuration ... the version 13, origin 
>>> "http://www.websocket.org"; works with the demo echo websocket server 
>>> operate by websocket.org. Each websocket application has its own version 
>>> and 13 may be invalid in your case. Also the origin is part of websocket 
>>> security model and origin "http://www.websocket.org"; is basically settings 
>>> for websocket.org's service ... not general value - but if it was not 
>>> accepted by the server, it should return 403 error as r

Re: Websockets monitoring

2014-03-05 Thread Mehul Ved
Sure, you can use it for testing.

On Mar 5, 2014 5:04 PM, Martin Pala  wrote:
>
> Thanks for the trace.
>
> It seems that your server responds with pong (in packet no. 11), but before 
> that, it sends chat text frame with "who" prompt (in packet no. 9):
>
> No.     Time        Source                Destination           Protocol 
> Length Info
>       4 0.000384    127.0.0.1             127.0.0.1             HTTP     309  
>   GET / HTTP/1.1
>
> No.     Time        Source                Destination           Protocol 
> Length Info
>       6 0.001237    127.0.0.1             127.0.0.1             HTTP     197  
>   HTTP/1.1 101 Switching Protocols
>
> No.     Time        Source                Destination           Protocol 
> Length Info
>       8 0.001303    127.0.0.1             127.0.0.1             WebSocket 70  
>    WebSocket Ping [FIN]
>
> WebSocket
>     1...  = Fin: True
>     .000  = Reserved: 0x00
>      1001 = Opcode: Ping (9)
>     0...  = Mask: False
>     .000  = Payload length: 0
>
> No.     Time        Source                Destination           Protocol 
> Length Info
>       9 0.002225    127.0.0.1             127.0.0.1             WebSocket 75  
>    WebSocket Text [FIN]
>
>     WebSocket
>     1...  = Fin: True
>     .000  = Reserved: 0x00
>      0001 = Opcode: Text (1)
>     0...  = Mask: False
>     .000 0101 = Payload length: 5
>     Payload
>         Text: "who"
>
> No.     Time        Source                Destination           Protocol 
> Length Info
>      11 0.003986    127.0.0.1             127.0.0.1             WebSocket 70  
>    WebSocket Pong [FIN]
>
>     WebSocket
>     1...  = Fin: True
>     .000  = Reserved: 0x00
>      1010 = Opcode: Pong (10)
>     0...  = Mask: False
>     .000  = Payload length: 0
>
>
> At this point Monit expects response to its own request, so the protocol test 
> failed.
>
> The server response is OK, we just need to allow server messages (such as 
> this prompt) not related to our own ping request. The websocket.org's service 
> works differently ... it's not chat service, just echo, so it doesn't send 
> any prompt.
>
> Will fix the test. 
>
> Can i use your websocket servis (from the previous email) to verify the test 
> works with it?
>
> Regards,
> Martin
>
>
>
> On 05 Mar 2014, at 12:13, Mehul Ved  wrote:
>
>> Hi Martin,
>>  It's a custom application developed by us in node.js. I'll speak to my 
>> developer and ensure that our application is made RFC compliant. That would 
>> be a much cleaner solution.
>>
>> I'm attaching the pcap file.
>> 
>> From: monit-general-bounces+mehul.ved=nexsales@nongnu.org 
>>  on behalf of 
>> Martin Pala 
>> Sent: Wednesday, March 05, 2014 3:58 PM
>> To: This is the general mailing list for monit
>> Subject: Re: Websockets monitoring
>>
>> Hi,
>>
>> it seems that your websocket server doesn't support ping/pong (part of 
>> websocket specification: RFC 6455) and instead sent some text frame in 
>> response to ping ... either the text frame contains some error description, 
>> websocket ping request is prohibited or the server is not RFC 6455 compliant.
>>
>> The problem can be in the test configuration ... the version 13, origin 
>> "http://www.websocket.org"; works with the demo echo websocket server operate 
>> by websocket.org. Each websocket application has its own version and 13 may 
>> be invalid in your case. Also the origin is part of websocket security model 
>> and origin "http://www.websocket.org"; is basically settings for 
>> websocket.org's service ... not general value - but if it was not accepted 
>> by the server, it should return 403 error as response to HTTP upgrade 
>> request, which it didn't (101 was received, otherwise there will be 
>> different error in log).
>>
>> The websocket.org demo with "location" works for 
>> ws://dev.deltamktgresearch.com:10301, but their echo test doesn't use ping - 
>> it sends just text frame ... such test is not generic and may fail in other 
>> websocket implementations (connect+ping/pong+close should be generic for 
>> every RFC compliant server).
>>
>> We can simplify the test and rely only on websocket connection (http upgrade 
>> request) + websocket close ... this should work on all websocket servers, 
>> even those which don't support ping/pong.
>>
>> Please can you g

Re: Websockets monitoring

2014-03-05 Thread Martin Pala
Thanks for the trace.

It seems that your server responds with pong (in packet no. 11), but before 
that, it sends chat text frame with "who" prompt (in packet no. 9):

No. TimeSourceDestination   Protocol Length 
Info
  4 0.000384127.0.0.1 127.0.0.1 HTTP 309
GET / HTTP/1.1

No. TimeSourceDestination   Protocol Length 
Info
  6 0.001237127.0.0.1 127.0.0.1 HTTP 197
HTTP/1.1 101 Switching Protocols

No. TimeSourceDestination   Protocol Length 
Info
  8 0.001303127.0.0.1 127.0.0.1 WebSocket 70
 WebSocket Ping [FIN]

WebSocket
1...  = Fin: True
.000  = Reserved: 0x00
 1001 = Opcode: Ping (9)
0...  = Mask: False
.000  = Payload length: 0

No. TimeSourceDestination   Protocol Length 
Info
  9 0.002225127.0.0.1 127.0.0.1 WebSocket 75
 WebSocket Text [FIN]

WebSocket
1...  = Fin: True
.000  = Reserved: 0x00
 0001 = Opcode: Text (1)
0...  = Mask: False
.000 0101 = Payload length: 5
Payload
Text: "who"

No. TimeSourceDestination   Protocol Length 
Info
 11 0.003986127.0.0.1 127.0.0.1 WebSocket 70
 WebSocket Pong [FIN]

WebSocket
1...  = Fin: True
.000  = Reserved: 0x00
 1010 = Opcode: Pong (10)
0...  = Mask: False
.000  = Payload length: 0


At this point Monit expects response to its own request, so the protocol test 
failed.

The server response is OK, we just need to allow server messages (such as this 
prompt) not related to our own ping request. The websocket.org's service works 
differently ... it's not chat service, just echo, so it doesn't send any prompt.

Will fix the test. 

Can i use your websocket servis (from the previous email) to verify the test 
works with it?

Regards,
Martin



On 05 Mar 2014, at 12:13, Mehul Ved  wrote:

> Hi Martin,
>  It's a custom application developed by us in node.js. I'll speak to my 
> developer and ensure that our application is made RFC compliant. That would 
> be a much cleaner solution.
> 
> I'm attaching the pcap file.
> 
> From: monit-general-bounces+mehul.ved=nexsales@nongnu.org 
>  on behalf of Martin 
> Pala 
> Sent: Wednesday, March 05, 2014 3:58 PM
> To: This is the general mailing list for monit
> Subject: Re: Websockets monitoring
> 
> Hi,
> 
> it seems that your websocket server doesn't support ping/pong (part of 
> websocket specification: RFC 6455) and instead sent some text frame in 
> response to ping ... either the text frame contains some error description, 
> websocket ping request is prohibited or the server is not RFC 6455 compliant.
> 
> The problem can be in the test configuration ... the version 13, origin 
> "http://www.websocket.org"; works with the demo echo websocket server operate 
> by websocket.org. Each websocket application has its own version and 13 may 
> be invalid in your case. Also the origin is part of websocket security model 
> and origin "http://www.websocket.org"; is basically settings for 
> websocket.org's service ... not general value - but if it was not accepted by 
> the server, it should return 403 error as response to HTTP upgrade request, 
> which it didn't (101 was received, otherwise there will be different error in 
> log).
> 
> The websocket.org demo with "location" works for 
> ws://dev.deltamktgresearch.com:10301, but their echo test doesn't use ping - 
> it sends just text frame ... such test is not generic and may fail in other 
> websocket implementations (connect+ping/pong+close should be generic for 
> every RFC compliant server).
> 
> We can simplify the test and rely only on websocket connection (http upgrade 
> request) + websocket close ... this should work on all websocket servers, 
> even those which don't support ping/pong.
> 
> Please can you get a network trace of the test? You can use for example 
> tcpdump/tshark/wireshark/snoop, tcpdump on the machine where Monit is running:
> 
>tcpdump -s 0 -i any -w websocket.pcap port 10301
> 
> If there is also regular traffic which you don't want to expose to mailing 
> list, either filter out only the Monit session packets or send the file 
> directly to me.
> 
> 
> Regards,
> Martin
> 
> 
> 
> 
> On 05 Mar 2014, at 09:32, Mehul Ved  wrote:
> 
>> Hi Martin,
>> I tried using the new version of monit but it fails

RE: Websockets monitoring

2014-03-05 Thread Mehul Ved
Hi Martin,
  It's a custom application developed by us in node.js. I'll speak to my 
developer and ensure that our application is made RFC compliant. That would be 
a much cleaner solution.

I'm attaching the pcap file.

From: monit-general-bounces+mehul.ved=nexsales@nongnu.org 
 on behalf of Martin 
Pala 
Sent: Wednesday, March 05, 2014 3:58 PM
To: This is the general mailing list for monit
Subject: Re: Websockets monitoring

Hi,

it seems that your websocket server doesn't support ping/pong (part of 
websocket specification: RFC 6455) and instead sent some text frame in response 
to ping ... either the text frame contains some error description, websocket 
ping request is prohibited or the server is not RFC 6455 compliant.

The problem can be in the test configuration ... the version 13, origin 
"http://www.websocket.org"; works with the demo echo websocket server operate by 
websocket.org. Each websocket application has its own version and 13 may be 
invalid in your case. Also the origin is part of websocket security model and 
origin "http://www.websocket.org"; is basically settings for websocket.org's 
service ... not general value - but if it was not accepted by the server, it 
should return 403 error as response to HTTP upgrade request, which it didn't 
(101 was received, otherwise there will be different error in log).

The websocket.org demo with "location" works for 
ws://dev.deltamktgresearch.com:10301, but their echo test doesn't use ping - it 
sends just text frame ... such test is not generic and may fail in other 
websocket implementations (connect+ping/pong+close should be generic for every 
RFC compliant server).

We can simplify the test and rely only on websocket connection (http upgrade 
request) + websocket close ... this should work on all websocket servers, even 
those which don't support ping/pong.

Please can you get a network trace of the test? You can use for example 
tcpdump/tshark/wireshark/snoop, tcpdump on the machine where Monit is running:

tcpdump -s 0 -i any -w websocket.pcap port 10301

If there is also regular traffic which you don't want to expose to mailing 
list, either filter out only the Monit session packets or send the file 
directly to me.


Regards,
Martin




On 05 Mar 2014, at 09:32, Mehul Ved  wrote:

> Hi Martin,
>  I tried using the new version of monit but it fails on `monit validate` for 
> websockets
>
> $ which monit
> /usr/local/bin/monit
>
> $ monit --version
> This is Monit version 5.8
> Copyright (C) 2001-2014 Tildeslash Ltd. All Rights Reserved.
>
> The lines I've added:
>
> if failed host dev.deltamktgresearch.com port 10301 protocol websocket
>host "dev.deltamktgresearch.com"
>request "/"
>origin "http://www.websocket.org";
>version 13
>then alert
>
> $ monit validate --verbose
> 'wsserver' zombie check succeeded [status_flag=]
> 'wsserver' succeeded connecting to INET[dev.deltamktgresearch.com:10301/] via 
> TCP
> 'wsserver' failed protocol test [WEBSOCKET] at 
> INET[dev.deltamktgresearch.com:10301/] via TCP -- WEBSOCKET: pong error -- 
> opcode 0x1
>
>
> Using location ws://dev.deltamktgresearch.com:10301 in location box on 
> http://websocket.org works perfectly. It responds with "who" which is 
> correct. Is there a way to set send/expect to check for the correct response?
> ________
> From: monit-general-bounces+mehul.ved=nexsales@nongnu.org 
>  on behalf of Martin 
> Pala 
> Sent: Monday, March 03, 2014 2:29 PM
> To: This is the general mailing list for monit
> Subject: Re: Websockets monitoring
>
> Hi,
>
> we have implemented the websocket protocol test, example usage:
>
> check host websocket.org with address "echo.websocket.org"
>if failed port 80 protocol websocket
>  host "echo.websocket.org"
>  request "/"
>  origin "http://www.websocket.com";
>  version 13
>then alert
>
> The test connects to websocket, performs ping/pong test and closes the 
> connection.
>
> If you want to test it, you can get the development Monit version here: 
> https://bitbucket.org/tildeslash/monit/get/master.tar.gz
>
> Compilation:
>
>tar -xzf master.tar.gz
>cd tildeslash-monit-*
>./bootstrap && ./configure && make
>
> The monit binary will be in current directory, you can install it to 
> "/usr/local/bin" using "make install"
>
> Regards,
> Martin
>
>
> On 24 Feb 2014, at 07:23, Mehul Ved  wrote:
>
>> Hi,
>>  I have a node.js service that works 

Re: Websockets monitoring

2014-03-05 Thread Martin Pala
Hi,

it seems that your websocket server doesn't support ping/pong (part of 
websocket specification: RFC 6455) and instead sent some text frame in response 
to ping ... either the text frame contains some error description, websocket 
ping request is prohibited or the server is not RFC 6455 compliant.

The problem can be in the test configuration ... the version 13, origin 
"http://www.websocket.org"; works with the demo echo websocket server operate by 
websocket.org. Each websocket application has its own version and 13 may be 
invalid in your case. Also the origin is part of websocket security model and 
origin "http://www.websocket.org"; is basically settings for websocket.org's 
service ... not general value - but if it was not accepted by the server, it 
should return 403 error as response to HTTP upgrade request, which it didn't 
(101 was received, otherwise there will be different error in log).

The websocket.org demo with "location" works for 
ws://dev.deltamktgresearch.com:10301, but their echo test doesn't use ping - it 
sends just text frame ... such test is not generic and may fail in other 
websocket implementations (connect+ping/pong+close should be generic for every 
RFC compliant server).

We can simplify the test and rely only on websocket connection (http upgrade 
request) + websocket close ... this should work on all websocket servers, even 
those which don't support ping/pong.

Please can you get a network trace of the test? You can use for example 
tcpdump/tshark/wireshark/snoop, tcpdump on the machine where Monit is running:

tcpdump -s 0 -i any -w websocket.pcap port 10301

If there is also regular traffic which you don't want to expose to mailing 
list, either filter out only the Monit session packets or send the file 
directly to me.


Regards,
Martin




On 05 Mar 2014, at 09:32, Mehul Ved  wrote:

> Hi Martin,
>  I tried using the new version of monit but it fails on `monit validate` for 
> websockets
> 
> $ which monit
> /usr/local/bin/monit
> 
> $ monit --version
> This is Monit version 5.8
> Copyright (C) 2001-2014 Tildeslash Ltd. All Rights Reserved.
> 
> The lines I've added:
> 
> if failed host dev.deltamktgresearch.com port 10301 protocol websocket
>host "dev.deltamktgresearch.com"
>request "/"
>origin "http://www.websocket.org";
>version 13
>then alert
> 
> $ monit validate --verbose
> 'wsserver' zombie check succeeded [status_flag=]
> 'wsserver' succeeded connecting to INET[dev.deltamktgresearch.com:10301/] via 
> TCP
> 'wsserver' failed protocol test [WEBSOCKET] at 
> INET[dev.deltamktgresearch.com:10301/] via TCP -- WEBSOCKET: pong error -- 
> opcode 0x1
> 
> 
> Using location ws://dev.deltamktgresearch.com:10301 in location box on 
> http://websocket.org works perfectly. It responds with "who" which is 
> correct. Is there a way to set send/expect to check for the correct response?
> ____________
> From: monit-general-bounces+mehul.ved=nexsales@nongnu.org 
>  on behalf of Martin 
> Pala 
> Sent: Monday, March 03, 2014 2:29 PM
> To: This is the general mailing list for monit
> Subject: Re: Websockets monitoring
> 
> Hi,
> 
> we have implemented the websocket protocol test, example usage:
> 
> check host websocket.org with address "echo.websocket.org"
>if failed port 80 protocol websocket
>  host "echo.websocket.org"
>  request "/"
>  origin "http://www.websocket.com";
>  version 13
>then alert
> 
> The test connects to websocket, performs ping/pong test and closes the 
> connection.
> 
> If you want to test it, you can get the development Monit version here: 
> https://bitbucket.org/tildeslash/monit/get/master.tar.gz
> 
> Compilation:
> 
>tar -xzf master.tar.gz
>cd tildeslash-monit-*
>./bootstrap && ./configure && make
> 
> The monit binary will be in current directory, you can install it to 
> "/usr/local/bin" using "make install"
> 
> Regards,
> Martin
> 
> 
> On 24 Feb 2014, at 07:23, Mehul Ved  wrote:
> 
>> Hi,
>>  I have a node.js service that works as a websocket server. I am working on 
>> monitoring it using monit. I haven't been able to find any information about 
>> using websockets with monit either in the group archives or using google 
>> search. Has anybody worked on this before?
>>  Is it possible to monitor websockets in monit currently without adding in a 
>> websocket client script in between? I can definitely do that but wanted to 
>> check if there's a better way to do it without any additional component.
>> --
>> To unsubscribe:
>> https://lists.nongnu.org/mailman/listinfo/monit-general
> 
> 
> --
> To unsubscribe:
> https://lists.nongnu.org/mailman/listinfo/monit-general
> 
> --
> To unsubscribe:
> https://lists.nongnu.org/mailman/listinfo/monit-general


--
To unsubscribe:
https://lists.nongnu.org/mailman/listinfo/monit-general


RE: Websockets monitoring

2014-03-05 Thread Mehul Ved
Hi Martin,
  I tried using the new version of monit but it fails on `monit validate` for 
websockets

$ which monit
/usr/local/bin/monit

$ monit --version
This is Monit version 5.8
Copyright (C) 2001-2014 Tildeslash Ltd. All Rights Reserved.

The lines I've added:

 if failed host dev.deltamktgresearch.com port 10301 protocol websocket
host "dev.deltamktgresearch.com"
request "/"
origin "http://www.websocket.org";
version 13
then alert

$ monit validate --verbose
'wsserver' zombie check succeeded [status_flag=]
'wsserver' succeeded connecting to INET[dev.deltamktgresearch.com:10301/] via 
TCP
'wsserver' failed protocol test [WEBSOCKET] at 
INET[dev.deltamktgresearch.com:10301/] via TCP -- WEBSOCKET: pong error -- 
opcode 0x1


Using location ws://dev.deltamktgresearch.com:10301 in location box on 
http://websocket.org works perfectly. It responds with "who" which is correct. 
Is there a way to set send/expect to check for the correct response?

From: monit-general-bounces+mehul.ved=nexsales@nongnu.org 
 on behalf of Martin 
Pala 
Sent: Monday, March 03, 2014 2:29 PM
To: This is the general mailing list for monit
Subject: Re: Websockets monitoring

Hi,

we have implemented the websocket protocol test, example usage:

check host websocket.org with address "echo.websocket.org"
if failed port 80 protocol websocket
  host "echo.websocket.org"
  request "/"
  origin "http://www.websocket.com";
  version 13
then alert

The test connects to websocket, performs ping/pong test and closes the 
connection.

If you want to test it, you can get the development Monit version here: 
https://bitbucket.org/tildeslash/monit/get/master.tar.gz

Compilation:

tar -xzf master.tar.gz
cd tildeslash-monit-*
./bootstrap && ./configure && make

The monit binary will be in current directory, you can install it to 
"/usr/local/bin" using "make install"

Regards,
Martin


On 24 Feb 2014, at 07:23, Mehul Ved  wrote:

> Hi,
>   I have a node.js service that works as a websocket server. I am working on 
> monitoring it using monit. I haven't been able to find any information about 
> using websockets with monit either in the group archives or using google 
> search. Has anybody worked on this before?
>   Is it possible to monitor websockets in monit currently without adding in a 
> websocket client script in between? I can definitely do that but wanted to 
> check if there's a better way to do it without any additional component.
> --
> To unsubscribe:
> https://lists.nongnu.org/mailman/listinfo/monit-general


--
To unsubscribe:
https://lists.nongnu.org/mailman/listinfo/monit-general

--
To unsubscribe:
https://lists.nongnu.org/mailman/listinfo/monit-general


RE: Websockets monitoring

2014-03-03 Thread Mehul Ved
Hi Martin,
 Thanks for the websocket implementation. I'll try it out and provide feedback.


From: monit-general-bounces+mehul.ved=nexsales@nongnu.org 
 on behalf of Martin 
Pala 
Sent: Monday, March 03, 2014 2:29 PM
To: This is the general mailing list for monit
Subject: Re: Websockets monitoring

Hi,

we have implemented the websocket protocol test, example usage:

check host websocket.org with address "echo.websocket.org"
if failed port 80 protocol websocket
  host "echo.websocket.org"
  request "/"
  origin "http://www.websocket.com";
  version 13
then alert

The test connects to websocket, performs ping/pong test and closes the 
connection.

If you want to test it, you can get the development Monit version here: 
https://bitbucket.org/tildeslash/monit/get/master.tar.gz

Compilation:

tar -xzf master.tar.gz
cd tildeslash-monit-*
./bootstrap && ./configure && make

The monit binary will be in current directory, you can install it to 
"/usr/local/bin" using "make install"

Regards,
Martin


On 24 Feb 2014, at 07:23, Mehul Ved  wrote:

> Hi,
>   I have a node.js service that works as a websocket server. I am working on 
> monitoring it using monit. I haven't been able to find any information about 
> using websockets with monit either in the group archives or using google 
> search. Has anybody worked on this before?
>   Is it possible to monitor websockets in monit currently without adding in a 
> websocket client script in between? I can definitely do that but wanted to 
> check if there's a better way to do it without any additional component.
> --
> To unsubscribe:
> https://lists.nongnu.org/mailman/listinfo/monit-general


--
To unsubscribe:
https://lists.nongnu.org/mailman/listinfo/monit-general

--
To unsubscribe:
https://lists.nongnu.org/mailman/listinfo/monit-general


Re: Websockets monitoring

2014-03-03 Thread Martin Pala
Hi,

we have implemented the websocket protocol test, example usage:

check host websocket.org with address "echo.websocket.org"
if failed port 80 protocol websocket
  host "echo.websocket.org"
  request "/"
  origin "http://www.websocket.com";
  version 13
then alert

The test connects to websocket, performs ping/pong test and closes the 
connection.

If you want to test it, you can get the development Monit version here: 
https://bitbucket.org/tildeslash/monit/get/master.tar.gz

Compilation:

tar -xzf master.tar.gz
cd tildeslash-monit-*
./bootstrap && ./configure && make

The monit binary will be in current directory, you can install it to 
"/usr/local/bin" using "make install"

Regards,
Martin


On 24 Feb 2014, at 07:23, Mehul Ved  wrote:

> Hi,
>   I have a node.js service that works as a websocket server. I am working on 
> monitoring it using monit. I haven't been able to find any information about 
> using websockets with monit either in the group archives or using google 
> search. Has anybody worked on this before?
>   Is it possible to monitor websockets in monit currently without adding in a 
> websocket client script in between? I can definitely do that but wanted to 
> check if there's a better way to do it without any additional component.
> --
> To unsubscribe:
> https://lists.nongnu.org/mailman/listinfo/monit-general


--
To unsubscribe:
https://lists.nongnu.org/mailman/listinfo/monit-general