Re: (PM) comparative V.90 success rates

pmaster@sentex.net
Sun, 28 Feb 1999 22:12:26 GMT

A number of people have writen me privately for information on how to
generate and track disconnect reasons, so I will post them here. Note,
that in the past each time I have posted this information, several people
always email me asking how to do it. I send them the info, yet to this
day, I have only heard from *one* other person. Not very nice statistics
:-( Hopefully, with this round, someone will post some comparative
results.

Steps to track disconnects

1. On the pm3, set loghost <ipaddress>. e.g. set loghost 192.168.1.1
where ipaddress is a machine that is running syslog
2. set syslog te <syslog facility>. e.g. set syslog te local7.info
3. On your syslog box, add the following to syslog.conf
local7.info <tabs, not spaces> /var/log/pm_term

Then, create the following script. e.g. pm-term.pl

#!/usr/local/bin/perl5
#
# Script to check syslogs for PortMaster 3 disconnect reasons.
#
# Reads logs from standard in and writes info to standard out.
#
# by Chris Adams <cadams@ro.com>
# 26 Sep 1997
# http://ro.com/~cadams/files/pm3-discon.pl
#
# You can modify this at will, but please send me any improvements you
# make.
$discon{"normal"}=0;
while (<>) {
if (/terminated - (.+)$/) {
$reason = $1;

# The next set of lines makes this script ignore what can be considered
# "normal" disconnect reasons. Comment out or delete any you want
# reported.
if ($reason =~ "Auth Failed") {$discon{"normal"}++;$total++;next;}
if ($reason eq "Admin Reset") {$discon{"normal"}++;$total++;next;}
;
if ($reason eq "Host Request") {$discon{"normal"}++;$total++;next;}
;
if ($reason eq "Idle Timeout") {$discon{"normal"}++;$total++;next;}
;
if ($reason eq "Session Timeout")
{$discon{"normal"}++;$total++;next;} ;
if ($reason eq "Login Timeout")
{$discon{"normal"}++;$total++;next;} ;
if ($reason eq "User Request - PPP Term Req")
{$discon{"normal"}++;$total++;next;} ;
if ($reason eq "User Request - Normal LAPM Disconnect")
{$discon{"normal"}++;$total++;next;} ;

$discon{$reason} = 0 if (! $discon{$reason});
$discon{$reason} ++;
$total ++;
}
}

foreach $reason (sort {$discon{$b} <=> $discon{$a}} keys %discon) {
printf "%50s %5.2f%% %5d/%d\n", $reason, 100 * $discon{$reason} /
$total,
$discon{$reason}, $total;
}

To use it,

cat /var/log/pm_term | /usr/local/bin/pm-term.pl

And *please* share your results with others. It would be nice to see a
baseline of some sorts by which we can all compare. Also, if you are
worried about publically posting this info, email me, and I will post it on
your behalf so there is no way to tie to information back to your company.

---Mike
Mike Tancsa (mdtancsa@sentex.net)
Sentex Communications Corp,
Waterloo, Ontario, Canada
-
To unsubscribe, email 'majordomo@livingston.com' with
'unsubscribe portmaster-users' in the body of the message.
Searchable list archive: <URL:http://www.livingston.com/Tech/archive/>