SV: check_real: what does it really do? and is it enough?

Matthias Eichler mylists at ame.de
Mon Jun 16 23:35:44 CEST 2003


A bit late, but here come my $0.01, some general ideas and questions, as
I am looking for some WMV-monitoring, too...:-)

Sure, MMS is closed source and maybe therefore we have some problems
together with nagios-plugins (what does GPL say about something like
this?!?), BUT:

- there are "open-source"-apps like the genius mplayer which takes the
windows codec.exe and can play WMV and WMA streams perfectly
- there are several WindowsMedia SDK packages for developing stuff

Now my ideas:
- If mplayer is able to stream WM on a linux box, why is it "impossible"
to implement in some check_wmt?
- If it is not possible (by license) to implement the whole transport
protocol as it is closed source, why not implementing the transport
library or something like this and not re-inventing it, just using it?
- If all these ideas were suxx, there is a possibility to remote admin
and monitor the WMserver of some code which is distributed by the WM
SDK's, so some check_wmt plugin would not really check the stream
itself, but contact the server and control the status information of the
server itself?!?

What do you think?!?

Matthias

Am Fre, 2003-04-18 um 09.54 schrieb Magnus.M.Glantz at telia.se:
> My $0.05.
> $USER1$/check_tcp -H $HOSTADDRESS$ -p 1755 -w $ARG1$ -c $ARG2$
>  
> It checks that you can make a TCP connection to the Windows Media Streaming server.
>  
> I think that writing a decent plug-in for Windows Media would be very difficult, cause the MMS protocoll is 'closed' and heavily copywrited.
>  
> I guess that if someone managed to write a plug-in and implement the protocoll, it couldnt not be published without payin' some heavy dues to Microsoft, and that plug-in could not be OpenSource.
>  
> I guess that if someone figured out what to send and what to expect as answere, you could use the check_tcp plugin -s and/or -e switches..
>  
> Cheers,
> //Magnus Glantz
> 
> 	-----Ursprungligt meddelande----- 
> 	Från: David Gitman [mailto:David at feedroom.com] 
> 	Skickat: to 2003-04-17 17:02 
> 	Till: Glantz, Magnus M. /Communications /070-211 99 22, 070-211 99 22 
> 	Kopia: nagios-users at lists.sourceforge.net 
> 	Ämne: RE: [Nagios-users] check_real: what does it really do? and is it enough?
> 	
> 	
> 
> 	Has anyone written a plug-in for Windows Media 9 Streaming?
> 	
> 	[-d]
> 	
> 	-----Original Message-----
> 	From: Magnus.M.Glantz at telia.se [mailto:Magnus.M.Glantz at telia.se]
> 	Sent: Tuesday, April 15, 2003 7:01 PM
> 	To: David Gitman
> 	Cc: nagios-users at lists.sourceforge.net
> 	
> 	Well, I'm drawing the conclusion after talking with some streaming specialists that sending a DESCRIBE method to the streaming server should do the trick.
> 	
> 	A successful try indicates that you got a two-way connection to/from the server, the file you're searching for (on, for example an ondemand server) exists, and the server can send you a description of the file.
> 	
> 	The people I've talked to cannot see any problems that should hinder an actual stream from taking place after the server successfully answered to the DESCRIBE method.
> 	
> 	Though, I'm still doing some research on this. I'll prolly know in acouple of days, should this not be the case.
> 	
> 	I'll send a mail to the list, when I know more. :-)
> 	
> 	Cheers,
> 	//Magnus Glantz
> 	
> 	
> 	        -----Ursprungligt meddelande-----
> 	        Från: David Gitman [mailto:David at feedroom.com]
> 	        Skickat: ti 2003-04-15 19:45
> 	        Till: Magnus Glantz
> 	        Kopia:
> 	        Ämne: RE: [Nagios-users] check_real: what does it really do? and is it enough?
> 	       
> 	       
> 	
> 	        Have you found out anything?
> 	
> 	        
> 	
> 	        [-d]
> 	
> 	       
> 	  _____ 
> 	
> 	
> 	        From: Magnus Glantz [mailto:magnus at hacka.net]
> 	        Sent: Friday, April 11, 2003 2:33 PM
> 	        To: nagios-users at lists.sourceforge.net
> 	
> 	        
> 	
> 	        I'm trying to figure out what exactly the check_real plugin checks.. using the -url option, does it actually start a stream with the server? Or does it only check if the .rm file is there and reachable? If check_real only checks for a description of the file, is it enough to say that the service is OK?
> 	
> 	        
> 	
> 	        I dumped the conversation (tcpdump -X) while doing:
> 	
> 	        ./check_real -H host -u /url/file.rm
> 	
> 	        
> 	
> 	        I'm not 100% sure what happens..
> 	
> 	        Though.. I've been able to understand some stuff..
> 	
> 	        
> 	
> 	        ( I've had some help interpeting the packets from the RTSP RFC.
> 	
> 	        http://www.freesoft.org/CIE/RFC/bynum.cgi?2326 )
> 	
> 	        
> 	
> 	        
> 	
> 	        16:59:50.696763 netsaint.37062 > streaming-server.rtsp: P 1:36(35) ack 1 win 5840 <nop,nop,timestamp 293933168 2773241811> (DF)
> 	        0x0000   4500 0057 a274 4000 4006 4bd5 c2ec e2e9        E..W.t at .@.K.....
> 	        0x0010   c343 e33d 90c6 022a 50ff b21d 7381 de14        .C.=...*P...s...
> 	        0x0020   8018 16d0 04f6 0000 0101 080a 1185 1070        ...............p
> 	        0x0030   a54c 4fd3 4f50 5449 4f4e 5320 7274 7370        .LO.OPTIONS.rtsp
> 	        0x0040   3a2f 2f28 6e75 6c6c 293a 3535 3420 5254        ://(null):554.RT
> 	        0x0050   5350                                           SP
> 	
> 	        
> 	
> 	        Above.. the Nagios server asks the real server for the available methods. (PLAY PAUSE etc..)
> 	
> 	        
> 	
> 	        
> 	
> 	        16:59:50.766763 netsaint.37062 > streaming-server.rtsp: P 45:102(57) ack 270 win 6432 <nop,nop,timestamp 293933175 2773241817> (DF)
> 	        0x0000   4500 006d a277 4000 4006 4bbc c2ec e2e9        E..m.w at .@.K.....
> 	        0x0010   c343 e33d 90c6 022a 50ff b249 7381 df21        .C.=...*P..Is..!
> 	        0x0020   8018 1920 0dac 0000 0101 080a 1185 1077        ...............w
> 	        0x0030   a54c 4fd9 4445 5343 5249 4245 2072 7473        .LO.DESCRIBE.rts
> 	        0x0040   703a 2f2f 286e 756c 6c29 3a35 3534 2f74        p://(null):554/t
> 	        0x0050   692f                                           i/
> 	
> 	        
> 	
> 	        Above..  check_real asks the real-server of a description of the file.
> 	
> 	        
> 	
> 	        16:59:51.276763 streaming-server.rtsp > netsaint.37062: P 4614:5232(618) ack 111 win 33304 <nop,nop,timestamp 2773241837 293933187> (DF)
> 	        0x0000   4500 029e 1e46 4000 3906 d4bc c343 e33d        E....F at .9....C.=
> 	        0x0010   c2ec e2e9 022a 90c6 7381 f019 50ff b28b        .....*..s...P...
> 	        0x0020   8018 8218 a8af 0000 0101 080a a54c 4fed        .............LO.
> 	        0x0030   1185 1083 7468 203c 2032 3630 3030 292c        ....th.<.26000),
> 	        0x0040   4176 6572 6167 6542 616e 6477 6964 7468        AverageBandwidth
> 	        0x0050   3d31                                           =1
> 	
> 	        
> 	
> 	        After this Nagios (the Netsaint host) sends win 0, and finilizes the connection.
> 	
> 	        
> 	
> 	        Now, the question is.. what did the check_real plugin test? That you can get an description of a file on the server?
> 	
> 	        The author of the plug-in writes in his source code (check_real.c).
> 	
> 	        ----------------snip-------------
> 	
> 	         /* Part II - Check stream exists and is ok */
> 	                if ((result == STATE_OK) && (server_url != NULL)) {
> 	
> 	        
> 	
> 	                        /* Part I - Server Check */
> 	
> 	        
> 	
> 	                        /* send the OPTIONS request */
> 	                        sprintf (buffer, "DESCRIBE rtsp://%s:%d%s RTSP/1.0\n", host_name,
> 	                                                         server_port, server_url);
> 	                        result = send (sd, buffer, strlen (buffer), 0);
> 	
> 	        
> 	
> 	                        /* send the header sync */
> 	                        sprintf (buffer, "CSeq: 2\n");
> 	                        result = send (sd, buffer, strlen (buffer), 0);
> 	
> 	        
> 	
> 	                        /* send a newline so the server knows we're done with the request */
> 	                        sprintf (buffer, "\n");
> 	                        result = send (sd, buffer, strlen (buffer), 0);
> 	        ----------------snip-------------
> 	
> 	        
> 	
> 	        DESCRIBE seems to be the last actuall command that the check_real plugin send to the server.
> 	
> 	        But I could be wrong.. please check for yourselfs.
> 	
> 	        
> 	
> 	        An actual stream is from what I can tell, not initialized..
> 	
> 	        Though, if the server give an description of the file (the description comes from the file itself) I guess a stream should
> 	
> 	        be able to be initialized.. but.. then again, I'm no TCP/IP or RTSP expert.
> 	
> 	        
> 	
> 	        
> 	
> 	        Full dump of "check_real -H hostname -u /url/file.rm" below..
> 	
> 	        
> 	
> 	        Hope you can shed some light upon this..
> 	
> 	        Cheers,
> 	
> 	        //Magnus Glantz
> 	
> 	        
> 	
> 	        
> 	
> 	        
> 	
> 	        16:59:50.676763 netsaint.37062 > streaming-server.rtsp.rtsp: S 1358934556:1358934556(0) win 5840 <mss 1460,sackOK,timestamp 293933166 0,nop,wscale 0> (DF)
> 	        0x0000   4500 003c a272 4000 4006 4bf2 c2ec e2e9        E..<.r at .@.K.....
> 	        0x0010   c343 e33d 90c6 022a 50ff b21c 0000 0000        .C.=...*P.......
> 	        0x0020   a002 16d0 2ce0 0000 0204 05b4 0402 080a        ....,...........
> 	        0x0030   1185 106e 0000 0000 0103 0300                  ...n........
> 	
> 	        
> 	
> 	        16:59:50.696763 streaming-server.rtsp > netsaint.37062: S 1937890835:1937890835(0) ack 1358934557 win 33304 <nop,nop,timestamp 2773241811 293933166,nop,wscale 0,nop,nop,sackOK,mss 1460> (DF)
> 	        0x0000   4500 0040 1e3f 4000 3906 d721 c343 e33d        E.. at .?@.9..!.C.=
> 	        0x0010   c2ec e2e9 022a 90c6 7381 de13 50ff b21d        .....*..s...P...
> 	        0x0020   b012 8218 68cb 0000 0101 080a a54c 4fd3        ....h........LO.
> 	        0x0030   1185 106e 0103 0300 0101 0402 0204 05b4        ...n............
> 	
> 	        
> 	
> 	        16:59:50.696763 netsaint.37062 > streaming-server.rtsp: . ack 1 win 5840 <nop,nop,timestamp 293933168 2773241811> (DF)
> 	        0x0000   4500 0034 a273 4000 4006 4bf9 c2ec e2e9        E..4.s at .@.K.....
> 	        0x0010   c343 e33d 90c6 022a 50ff b21d 7381 de14        .C.=...*P...s...
> 	        0x0020   8010 16d0 14dd 0000 0101 080a 1185 1070        ...............p
> 	        0x0030   a54c 4fd3                                      .LO.
> 	
> 	        
> 	
> 	        16:59:50.696763 netsaint.37062 > streaming-server.rtsp: P 1:36(35) ack 1 win 5840 <nop,nop,timestamp 293933168 2773241811> (DF)
> 	        0x0000   4500 0057 a274 4000 4006 4bd5 c2ec e2e9        E..W.t at .@.K.....
> 	        0x0010   c343 e33d 90c6 022a 50ff b21d 7381 de14        .C.=...*P...s...
> 	        0x0020   8018 16d0 04f6 0000 0101 080a 1185 1070        ...............p
> 	        0x0030   a54c 4fd3 4f50 5449 4f4e 5320 7274 7370        .LO.OPTIONS.rtsp
> 	        0x0040   3a2f 2f28 6e75 6c6c 293a 3535 3420 5254        ://(null):554.RT
> 	        0x0050   5350                                           SP
> 	
> 	        
> 	
> 	        16:59:50.726763 streaming-server.rtsp > netsaint.37062: . ack 36 win 33304 <nop,nop,timestamp 2773241814 293933168> (DF)
> 	        0x0000   4500 0034 1e40 4000 3906 d72c c343 e33d        E..4.@@.9..,.C.=
> 	        0x0010   c2ec e2e9 022a 90c6 7381 de14 50ff b240        .....*..s...P..@
> 	        0x0020   8010 8218 a96e 0000 0101 080a a54c 4fd6        .....n.......LO.
> 	        0x0030   1185 1070                                      ...p
> 	
> 	        
> 	
> 	        16:59:50.726763 netsaint.37062 > streaming-server.rtsp: P 36:45(9) ack 1 win 5840 <nop,nop,timestamp 293933171 2773241814> (DF)
> 	        0x0000   4500 003d a275 4000 4006 4bee c2ec e2e9        E..=.u at .@.K.....
> 	        0x0010   c343 e33d 90c6 022a 50ff b240 7381 de14        .C.=...*P.. at s...
> 	        0x0020   8018 16d0 f6b3 0000 0101 080a 1185 1073        ...............s
> 	        0x0030   a54c 4fd6 4353 6571 3a20 310a 0a               .LO.CSeq:.1..
> 	
> 	        
> 	
> 	        16:59:50.766763 streaming-server.rtsp > netsaint.37062: P 1:270(269) ack 45 win 33304 <nop,nop,timestamp 2773241817 293933171> (DF)
> 	        0x0000   4500 0141 1e41 4000 3906 d61e c343 e33d        E..A.A at .9....C.=
> 	        0x0010   c2ec e2e9 022a 90c6 7381 de14 50ff b249        .....*..s...P..I
> 	        0x0020   8018 8218 1a2f 0000 0101 080a a54c 4fd9        ...../.......LO.
> 	        0x0030   1185 1073 5254 5350 2f31 2e30 2032 3030        ...sRTSP/1.0.200
> 	        0x0040   204f 4b0d 0a43 5365 713a 2031 0d0a 4461        .OK..CSeq:.1..Da
> 	        0x0050   7465                                           te
> 	
> 	        
> 	
> 	        16:59:50.766763 netsaint.37062 > streaming-server.rtsp: . ack 270 win 6432 <nop,nop,timestamp 293933175 2773241817> (DF)
> 	        0x0000   4500 0034 a276 4000 4006 4bf6 c2ec e2e9        E..4.v at .@.K.....
> 	        0x0010   c343 e33d 90c6 022a 50ff b249 7381 df21        .C.=...*P..Is..!
> 	        0x0020   8010 1920 1147 0000 0101 080a 1185 1077        .....G.........w
> 	        0x0030   a54c 4fd9                                      .LO.
> 	
> 	        
> 	
> 	        16:59:50.766763 netsaint.37062 > streaming-server.rtsp: P 45:102(57) ack 270 win 6432 <nop,nop,timestamp 293933175 2773241817> (DF)
> 	        0x0000   4500 006d a277 4000 4006 4bbc c2ec e2e9        E..m.w at .@.K.....
> 	        0x0010   c343 e33d 90c6 022a 50ff b249 7381 df21        .C.=...*P..Is..!
> 	        0x0020   8018 1920 0dac 0000 0101 080a 1185 1077        ...............w
> 	        0x0030   a54c 4fd9 4445 5343 5249 4245 2072 7473        .LO.DESCRIBE.rts
> 	        0x0040   703a 2f2f 286e 756c 6c29 3a35 3534 2f74        p://(null):554/t
> 	        0x0050   692f                                           i/
> 	
> 	        
> 	
> 	        16:59:50.886763 streaming-server.rtsp > netsaint.37062: . ack 102 win 33304 <nop,nop,timestamp 2773241831 293933175> (DF)
> 	        0x0000   4500 0034 1e42 4000 3906 d72a c343 e33d        E..4.B at .9..*.C.=
> 	        0x0010   c2ec e2e9 022a 90c6 7381 df21 50ff b282        .....*..s..!P...
> 	        0x0020   8010 8218 a807 0000 0101 080a a54c 4fe7        .............LO.
> 	        0x0030   1185 1077                                      ...w
> 	
> 	        
> 	
> 	        16:59:50.886763 netsaint.37062 > streaming-server.rtsp: P 102:111(9) ack 270 win 6432 <nop,nop,timestamp 293933187 2773241831> (DF)
> 	        0x0000   4500 003d a278 4000 4006 4beb c2ec e2e9        E..=.x at .@.K.....
> 	        0x0010   c343 e33d 90c6 022a 50ff b282 7381 df21        .C.=...*P...s..!
> 	        0x0020   8018 1920 f1f3 0000 0101 080a 1185 1083        ................
> 	        0x0030   a54c 4fe7 4353 6571 3a20 320a 0a               .LO.CSeq:.2..
> 	
> 	        
> 	
> 	        16:59:51.046763 streaming-server.rtsp > netsaint.37062: . 270:1718(1448) ack 111 win 33304 <nop,nop,timestamp 2773241837 293933187> (DF)
> 	        0x0000   4500 05dc 1e43 4000 3906 d181 c343 e33d        E....C at .9....C.=
> 	        0x0010   c2ec e2e9 022a 90c6 7381 df21 50ff b28b        .....*..s..!P...
> 	        0x0020   8010 8218 3fd8 0000 0101 080a a54c 4fed        ....?........LO.
> 	        0x0030   1185 1083 5254 5350 2f31 2e30 2032 3030        ....RTSP/1.0.200
> 	        0x0040   204f 4b0d 0a43 5365 713a 2032 0d0a 4461        .OK..CSeq:.2..Da
> 	        0x0050   7465                                           te
> 	
> 	        
> 	
> 	        16:59:51.046763 netsaint.37062 > streaming-server.rtsp: R 111:111(0) ack 1718 win 8688 <nop,nop,timestamp 293933203 2773241837> (DF)
> 	        0x0000   4500 0034 a279 4000 4006 4bf3 c2ec e2e9        E..4.y at .@.K.....
> 	        0x0010   c343 e33d 90c6 022a 50ff b28b 7381 e4c9        .C.=...*P...s...
> 	        0x0020   8014 21f0 0259 0000 0101 080a 1185 1093        ..!..Y..........
> 	        0x0030   a54c 4fed                                      .LO.
> 	
> 	        
> 	
> 	        16:59:51.136763 streaming-server.rtsp > netsaint.37062: P 1718:3166(1448) ack 111 win 33304 <nop,nop,timestamp 2773241837 293933187> (DF)
> 	        0x0000   4500 05dc 1e44 4000 3906 d180 c343 e33d        E....D at .9....C.=
> 	        0x0010   c2ec e2e9 022a 90c6 7381 e4c9 50ff b28b        .....*..s...P...
> 	        0x0020   8018 8218 6d86 0000 0101 080a a54c 4fed        ....m........LO.
> 	        0x0030   1185 1083 300a 613d 5374 6172 7454 696d        ....0.a=StartTim
> 	        0x0040   653a 696e 7465 6765 723b 300a 613d 4176        e:integer;0.a=Av
> 	        0x0050   6742                                           gB
> 	
> 	        
> 	
> 	        16:59:51.136763 netsaint.37062 > streaming-server.rtsp: R 1358934667:1358934667(0) win 0 (DF)
> 	        0x0000   4500 0028 0000 4000 ff06 2f78 c2ec e2e9        E..(.. at .../x....
> 	        0x0010   c343 e33d 90c6 022a 50ff b28b 0000 0000        .C.=...*P.......
> 	        0x0020   5004 0000 cd0d 0000                            P.......
> 	
> 	        
> 	
> 	        16:59:51.236763 streaming-server.rtsp > netsaint.37062: . 3166:4614(1448) ack 111 win 33304 <nop,nop,timestamp 2773241837 293933187> (DF)
> 	        0x0000   4500 05dc 1e45 4000 3906 d17f c343 e33d        E....E at .9....C.=
> 	        0x0010   c2ec e2e9 022a 90c6 7381 ea71 50ff b28b        .....*..s..qP...
> 	        0x0020   8010 8218 97b0 0000 0101 080a a54c 4fed        .............LO.
> 	        0x0030   1185 1083 696e 7465 6765 723b 3131 3739        ....integer;1179
> 	        0x0040   3538 0a61 3d45 6e64 4f6e 6552 756c 6545        58.a=EndOneRuleE
> 	        0x0050   6e64                                           nd
> 	
> 	        
> 	
> 	        16:59:51.236763 netsaint.37062 > streaming-server.rtsp: R 1358934667:1358934667(0) win 0 (DF)
> 	        0x0000   4500 0028 0000 4000 ff06 2f78 c2ec e2e9        E..(.. at .../x....
> 	        0x0010   c343 e33d 90c6 022a 50ff b28b 0000 0000        .C.=...*P.......
> 	        0x0020   5004 0000 cd0d 0000                            P.......
> 	
> 	        
> 	
> 	        16:59:51.276763 streaming-server.rtsp > netsaint.37062: P 4614:5232(618) ack 111 win 33304 <nop,nop,timestamp 2773241837 293933187> (DF)
> 	        0x0000   4500 029e 1e46 4000 3906 d4bc c343 e33d        E....F at .9....C.=
> 	        0x0010   c2ec e2e9 022a 90c6 7381 f019 50ff b28b        .....*..s...P...
> 	        0x0020   8018 8218 a8af 0000 0101 080a a54c 4fed        .............LO.
> 	        0x0030   1185 1083 7468 203c 2032 3630 3030 292c        ....th.<.26000),
> 	        0x0040   4176 6572 6167 6542 616e 6477 6964 7468        AverageBandwidth
> 	        0x0050   3d31                                           =1
> 	
> 	        
> 	
> 	        16:59:51.276763 netsaint.37062 > streaming-server.rtsp: R 1358934667:1358934667(0) win 0 (DF)
> 	        0x0000   4500 0028 0000 4000 ff06 2f78 c2ec e2e9        E..(.. at .../x....
> 	        0x0010   c343 e33d 90c6 022a 50ff b28b 0000 0000        .C.=...*P.......
> 	        0x0020   5004 0000 cd0d 0000                            P.......
> 	
> 	        
> 	
> 	
> 
> 
> 
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> Nagios-users mailing list
> Nagios-users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/nagios-users
> ::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. 
> ::: Messages without supporting info will risk being sent to /dev/null



-------------------------------------------------------
This SF.Net email is sponsored by: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
_______________________________________________
Nagios-users mailing list
Nagios-users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. 
::: Messages without supporting info will risk being sent to /dev/null





More information about the Users mailing list