The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

uplink_summary.pl - generate and email a pretty HTML formatted report of your ISP uplinks

VERSION

Version 1.01

SYNOPSIS

  uplink_summary.pl [-options] [-v]

    available options:
    ------------------------------------------------
    back:       days backwards used to determine reporting period    
    email:      email address to send the report to    
    start/stop: start/end day in DD format    
    help:     display this help page
    verbose:  verbose/debug output

USAGE

Add to cron:

 # crontab -e
  30 5 1 * * /usr/local/sbin/uplink_summary.pl
  

Or better yet, add to your systems periodic scripts. On FreeBSD, this would be optimal:

  mkdir -p /usr/local/etc/periodic/weekly && chdir /usr/local/etc/periodic/weekly  
  echo '#!/bin/sh' > uplink_summary.sh  
  echo '/usr/local/sbin/uplink_summary.pl' >> uplink_summary.sh  
  chmod 755 uplink_summary.sh

OPTIONS

-back

The default reporting time period is the first day of the current month until the last complete day of data, yesterday. The exception to this rule is EOM (End of Month) days. If run within 5 days of of the end of the month (ie, the 1-5 of the next month), then the reporting interval is the previous complete month.

This setting allows specification of how many days -back are used when calculating the month to report. To run a report for the previous month when the current day is greater than 5, set -back to a value of todays day plus one.

 Examples: 
  Jan 25th, -back 5, reports Jan 1-24
  Feb 04th, -back 5, reports Jan 1-31
  Feb 10th, -back 5, reports Feb 1-9
  Feb 10th, -back 11, reports Jan 1-31
  Feb 10th, -back 45, reports Dec 1-31
-email

The report is automatically emailed to each email address listed in the reporter.conf file. You can optionally specify an email address on the command line that overrides the config file settings.

-help

Prints out the pod documentation.

-start/stop

If the -back option doesn't provide the exact date range you want, you can optional specify a -start and -end day for the report. This would be useful if you were reporting on a basis other than monthly.

-verbose

This billing is designed to run quietly via cron and only generate noise if errors are encountered. The -verbose option prints out status information while processing.

DESCRIPTION

Generates an uplink report that shows how much traffic each ISP uplink port is utilizing. We run this report weekly and it gives our operations team and executives a high level overview of our network traffic. It also gives us handy reference points to compare and validate the usage our ISPs bill us for. An example is included.

CONFIGURATION

Configuration and syntax is defined in the rtgreport.conf file. The default location is in /usr/local/etc. See the example configuration file for additional documentation.

DEPENDENCIES

Uses the following perl built-in modules: English, Getopt::Long

Also uses the following CPAN perl modules: Date::Calc, DBIx::Simple, MIME::Lite, Net::SMTP, Config::Std

CHANGES

v1.01 - Mar 01, 2008
 - added pod documentation
 - moved config settings into rtgreport.conf
 - renamed dcs to groups (more generally applicable)
 - renamed pods to networks (see above)
v1.00 - Dec 14, 2007 - initial authoring

AUTHOR

Matt Simerson <matt@layeredtech.com> and Jason Morton <jasonm@layeredtech.com>

LICENSE AND COPYRIGHT

Copyright (c) 2007 Layered Technologies, Inc. All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.