Puppet script improvements

Nathan Crawford <[email protected]>
Newsgroups gmane.comp.log.logwatch.devel
Message-ID <CAO7MVFrSPFgJf7H=q49zARwkfpxU=U8WGWvHAzU9ucwxVJ78NQ@mail.gmail.com>
I've made a few improvements to the puppet script to:
- catch more ignored lines
- report added, changed and removed files instead of reporting all files as
changed
- report installed and removed packages instead of reporting all packages as
changed

Diff against current svn rev is attached.

------------------------------------------------------------------------------
AppSumo Presents a FREE Video for the SourceForge Community by Eric 
Ries, the creator of the Lean Startup Methodology on "Lean Startup 
Secrets Revealed." This video shows you how to validate your ideas, 
optimize your ideas and identify your business strategy.
http://p.sf.net/sfu/appsumosfdev2dev

_______________________________________________
Logwatch-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/logwatch-devel
puppet-better-files-and-packages.diff (text/x-patch, 3.4 KB)
--- puppet.orig	2011-07-16 11:43:54.686456524 -0400
+++ puppet	2011-07-16 11:55:42.734676539 -0400
@@ -35,6 +35,8 @@
       ($ThisLine =~ /Caching catalog for /) or
       ($ThisLine =~ /Caching node for /) or
       ($ThisLine =~ /Caught TERM; calling stop/) or
+      ($ThisLine =~ /Caught TERM; shutting down/) or
+      ($ThisLine =~ /Shutting down/) or
       ($ThisLine =~ /Reopening log files/) or
       ($ThisLine =~ /Starting Puppet client version /) or
       ($ThisLine =~ /Restarting with.+puppetd/) or
@@ -61,18 +63,26 @@
       $ChangedFiles{$1}++;
    } elsif ($ThisLine =~ /File\[.+\].+created/) {
       $ThisLine =~ /File\[(.+)\].+created/;
-      $ChangedFiles{$1}++;
+      $CreatedFiles{$1}++;
    } elsif ($ThisLine =~ /File\[.+\].+removed/) {
       $ThisLine =~ /File\[(.+)\].+removed/;
-      $ChangedFiles{$1}++;
-   } elsif ($ThisLine =~ /Failed to retrieve current state of resource/) {
+      $RemovedFiles{$1}++;
+   } elsif (
+      ($ThisLine =~ /Failed to retrieve current state of resource/) or
+      ($ThisLine =~ /Package.+ensure.+Could not find package/) or
+      ($ThisLine =~ /File\[.+\].+ Could not describe /) or
+      ($ThisLine =~ /File\[.+\].+ No specified sources exist/)
+   ) {
       $ResourceFailures++;
    } elsif ($ThisLine =~ /Package\[.+\].+ensure changed/) {
       $ThisLine =~ /Package\[(.+)\].+ensure changed/;
       $ChangedPackages{$1}++;
    } elsif ($ThisLine =~ /Package\[.+\].+ensure\) created/) {
       $ThisLine =~ /Package\[(.+)\].+ensure\) created/;
-      $ChangedPackages{$1}++;
+      $InstalledPackages{$1}++;
+   } elsif ($ThisLine =~ /Package\[.+\].+ensure\) removed/) {
+      $ThisLine =~ /Package\[(.+)\].+ensure\) removed/;
+      $RemovedPackages{$1}++;
    } elsif ($ThisLine =~ /Exec\[.+\].+executed successfully/) {
       $ThisLine =~ /Exec\[(.+)\].+executed successfully/;
       $ExecRuns{$1}++;
@@ -85,7 +95,7 @@
    } elsif ($ThisLine =~ /Service\[.+\].+Triggering 'refresh' from [0-9]+ dependencies/) {
       $ThisLine =~ /Service\[(.+)\].+Triggering 'refresh' from [0-9]+ dependencies/;
       $ServiceStarts{$1}++;
-   } elsif ($ThisLine =~ /Dependency .+\[.+\].+ has [0-9]+ failure/) {
+   } elsif ($ThisLine =~ /Dependency .+\[.+\] has [0-9]+ failure/) {
       $DependencyFailures++;
    } else {
       # Report any unmatched entries...
@@ -101,6 +111,13 @@
    print "\nFailed runs: $FailedRuns\n";
 }
 
+if (keys %CreatedFiles) {
+   print "\nCreated files:\n";
+   foreach $ThisOne (keys %CreatedFiles) {
+      print "$ThisOne: $CreatedFiles{$ThisOne} Time(s)\n";
+   }
+}
+
 if (keys %ChangedFiles) {
    print "\nChanged files:\n";
    foreach $ThisOne (keys %ChangedFiles) {
@@ -108,6 +125,20 @@
    }
 }
 
+if (keys %RemovedFiles) {
+   print "\nRemoved files:\n";
+   foreach $ThisOne (keys %RemovedFiles) {
+      print "$ThisOne: $RemovedFiles{$ThisOne} Time(s)\n";
+   }
+}
+
+if (keys %InstalledPackages) {
+   print "\nInstalled packages:\n";
+   foreach $ThisOne (keys %InstalledPackages) {
+      print "$ThisOne: $InstalledPackages{$ThisOne} Time(s)\n";
+   }
+}
+
 if (keys %ChangedPackages) {
    print "\nChanged packages:\n";
    foreach $ThisOne (keys %ChangedPackages) {
@@ -115,6 +146,13 @@
    }
 }
 
+if (keys %RemovedPackages) {
+   print "\nRemoved packages:\n";
+   foreach $ThisOne (keys %RemovedPackages) {
+      print "$ThisOne: $RemovedPackages{$ThisOne} Time(s)\n";
+   }
+}
+
 if (keys %ExecRuns) {
    print "\nExec runs:\n";
    foreach $ThisOne (keys %ExecRuns) {
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.