                             TelliCastStats

PURPOSE

To interrogate the HTML Shell of TelliCast running on the network, and extract
four key values from those statistics.


INSTALLATION

You will also need my runtime Library Bundle if you don't already have it 
installed.  You can download that from here:

  http://www.satsignal.eu/software/runtime.html


PARAMETERS

  1 - network name & port of node to be checked - e.g. eumetcast-pc:8100

  2 - -ALL (optional)

For compatibility with earlier versions the port number 2517 is provided
if it is omitted, allowing just the node name to be specified.  For use 
with the Basic Service, the default port is 8100;  for the High Volume 
Service (HVS) use port 8200.


OUTPUT

The output is written to "standard output", and can therefore be redirected.

If the -ALL option is not specified, the following four lines are written:

  Number of recovered data packets
  Number of missed data packets
  0
  0

This is compatible with the input required by MRTG.  A simple Perl script
is enclosed as TelliCastLost.pl.


If the -ALL option is specified, the following four lines are written:

  Number of recovered data packets
  Number of missed data packets
  Number of received data bytes
  Number of received data packets

For the definitions of these items, please see the TelliCast documentation.

Please note that these values (number of bytes) may exceed 32-bits (i.e. 2GB)
and you should be prepared for 64-bit values in these positions.


USING WITH MRTG

Copy the file TelliCast.exe to somewhere on your path, or to the directory
which contains your mrtg.cfg file.

Add lines like the following to your mrtg.cfg [include] file.  Molde is 
assumed to be the network name of the PC you wish to monitor.  For the 
PC where you're running, it's better to use the IPv4 address: 127.0.0.1.  
As the program may only know about IPv4, if monitoring remotely you
may need to use the IPv4 address of the remote PC.  Thanks to Donald
Martin for discovering that!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# File: tellicast-molde.inc

#---------------------------------------------------------------
# TelliCast losses - Molde
#---------------------------------------------------------------

Target[Tellicast-Molde-lost]: `perl TelliCastLost.pl`
MaxBytes[Tellicast-Molde-lost]: 1000000
Options[Tellicast-Molde-lost]: unknaszero, growright, logscale, nopercent, withzeroes, perhour, noi
YLegend[Tellicast-Molde-lost]: Packets / hour
ShortLegend[Tellicast-Molde-lost]: packets / hour
LegendO[Tellicast-Molde-lost]: Lost packets
Title[Tellicast-Molde-lost]: TelliCast Lost Packets - on Win-10/64 PC Molde
Legend2[Tellicast-Molde-lost]: Lost packets
PageTop[Tellicast-Molde-lost]: <H1>TelliCast Lost Packets - on Win-10/64 PC Molde</H1>

#---------------------------------------------------------------
# TelliCast statistics - Molde
#---------------------------------------------------------------

Target[Tellicast-Molde]: `TelliCastStats Molde:8100`
MaxBytes[Tellicast-Molde]: 1000000
Options[Tellicast-Molde]: unknaszero, growright, logscale, nopercent, withzeroes, perhour
YLegend[Tellicast-Molde]: Packets / hour
ShortLegend[Tellicast-Molde]: packets / hour
LegendI[Tellicast-Molde]: Recovered packets
LegendO[Tellicast-Molde]: Missed packets
Title[Tellicast-Molde]: TelliCast Statistics - on Win-10/64 PC Molde
Legend1[Tellicast-Molde]: Recovered Data Packets
Legend2[Tellicast-Molde]: Missed Data Packets before FEC
PageTop[Tellicast-Molde]: <H1>TelliCast Statistics - on Win-10/64 PC Molde</H1>

#---------------------------------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# File TelliCastLost.pl

if ($ARGV[0] eq "") {$ARGV[0] = "127.0.0.1:8100";}
$pkt_str = `TelliCastStats $ARGV[0] -all`;
$recovered = (split(/\n/,$pkt_str))[0];
$missed = (split(/\n/,$pkt_str))[1];
$lost = ($missed - $recovered);
print "$lost\n";
print "$lost\n";
print "0\n";
print "0\n";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


You will need to restart MRTG after changing the mrtg.cfg file.


RELEASE HISTORY

2007-Aug-01  Check hURL value after InternetOpenURL
2008-Aug-21  Add strings for the V2.4.4a client
2009-Mar-12  Correct missing "<" in PageTop line example
2014-Jun-14  Create variant for the High Volume Service (HVS)
             - TelliCastStatsHVS.exe
2014-Nov-23  Accept port number in node parameter (optional)
             Obviates need for HVS variant
2017-May-15  Add smaple Perl/MRTG script for "lost" packets
2020-Dec-11  Add note to use IPv4 addresses.


CONTACTING THE AUTHOR

Web site:  https://www.satsignal.eu
E-mail:    davidtaylor@writeme.com
Software self-help: https://groups.io/g/SatSignal

2020-Dec-11