########################################################################## # $Id$ ########################################################################## # $Log: slon,v $ # Revision 1.6 2008/06/30 23:07:51 kirk # fixed copyright holders for files where I know who they should be # # Revision 1.5 2008/03/24 23:31:27 kirk # added copyright/license notice to each script # # Revision 1.4 2005/10/31 16:21:20 bjorn # Updates to paths to reflect new Filesystem Hierarchy Standard, # by Ivana Varekova. # # Revision 1.3 2005/10/06 23:36:04 mike # Added #vi tag -mgt # # Revision 1.2 2005/09/28 20:14:53 bjorn # Added filtering, by Jeff Frost # # Revision 1.1 2005/09/27 21:51:25 bjorn # New slon service by Jeff Frost # ########################################################################## # This was written and is maintained by: # Jeff Frost # # Heavily based on xntpd script # # This script and config file assumes that slon is # logging to /var/log/messages, if not, you need to # update the /usr/share/logwatch/default.conf/services/slon.conf and # possibly add a new entry in /usr/share/logwatch/default.conf/logfiles # # Please send all comments, suggestions, bug reports, # etc, to jeff.frost@frostconsultingllc.com and # logwatch-devel@lists.sourceforge.net ######################################################## ####################################################### ## Copyright (c) 2008 Jeff Frost ## Covered under the included MIT/X-Consortium License: ## http://www.opensource.org/licenses/mit-license.php ## All modifications and contributions by other persons to ## this script are assumed to have been donated to the ## Logwatch project and thus assume the above copyright ## and licensing terms. If you want to make contributions ## under your own copyright or a different license this ## must be explicitly stated in the contribution an the ## Logwatch project reserves the right to not accept such ## contributions. If you have made significant ## contributions to this script and want to claim ## copyright please contact logwatch-devel@lists.sourceforge.net. ######################################################### use Logwatch ':all'; $Debug = $ENV{'LOGWATCH_DEBUG'} || 0; $Detail = $ENV{'LOGWATCH_DETAIL_LEVEL'} || 0; if ( $Debug >= 5 ) { print STDERR "\n\nDEBUG: Inside SLON Filter \n\n"; $DebugCounter = 1; } while (defined($ThisLine = )) { if ( $Debug >= 5 ) { print STDERR "DEBUG($DebugCounter): $ThisLine"; $DebugCounter++; } chomp($ThisLine); if ( ($ThisLine =~ m/new sl_action_seq/) or ($ThisLine =~ m/new sl_rowid_seq value/) or ($ThisLine =~ m/seconds delay for first row/) or ($ThisLine =~ m/seconds until close cursor/) or ($ThisLine =~ m/syncing set \d+ with .* from provider/) or ($ThisLine =~ m/no sets need syncing/) or ($ThisLine =~ m/SYNC \d+ processing/) ) { # Ignore these } elsif ($ThisLine =~ m/main process started/) { $Starts++; } elsif ($ThisLine =~ m/exit/) { $Kills++; } elsif ($ThisLine =~ m/Received event/) { $ReceivedEvent++; } elsif ($ThisLine =~ m/forward confirm/) { $ForwardConfirm++; } elsif ($ThisLine =~ m/queue event/) { $QueueEvent++; } elsif ($ThisLine =~ m/SYNC \d+ done/) { $SyncsProcessed++; } elsif ($ThisLine =~ m/cleanupThread:/) { $CleanupThread++; } elsif ($ThisLine =~ m/ERROR/) { $Errors++; push @ErrorList, "$ThisLine\n"; } else { # Report any unmatched entries... push @OtherList, "$ThisLine\n"; } } ########################################################### if ($Detail >= 5) { if ($Kills) { print "\nSLON Killed: " . $Kills . " Time(s)\n"; } if ($Starts) { print "\nSLON Started: " . $Starts . " Time(s)\n"; } if ($CleanupThread) { print "\nSLON CleanupThread Event: " . $CleanupThread . " Time(s)\n"; } if ($ForwardConfirm) { print "\nSLON ForwardConfirm Event: " . $ForwardConfirm . " Time(s)\n"; } if ($ReceivedEvent) { print "\nSLON Received Event: " . $ReceivedEvent . " Time(s)\n"; } if ($QueueEvent) { print "\nSLON Queue Event: " . $QueueEvent . " Time(s)\n"; } if ($SyncsProcessed) { print "\nSLON Syncs Processing: " . $SyncsProcessed . " Time(s)\n"; } } if ($Errors) { print "\nSLON Errors: " . $Errors . "\n"; print @ErrorList; } if ($#OtherList >= 0) { print "\n**Unmatched Entries**\n"; print @OtherList; } exit(0); # vi: shiftwidth=3 tabstop=3 syntax=perl et # Local Variables: # mode: perl # perl-indent-level: 3 # indent-tabs-mode: nil # End: