73 lines
3.2 KiB
Diff
73 lines
3.2 KiB
Diff
diff -up logwatch-7.3.6/scripts/services/dovecot.pom logwatch-7.3.6/scripts/services/dovecot
|
|
--- logwatch-7.3.6/scripts/services/dovecot.pom 2008-12-16 15:52:59.000000000 +0100
|
|
+++ logwatch-7.3.6/scripts/services/dovecot 2008-12-17 09:35:09.000000000 +0100
|
|
@@ -105,8 +105,10 @@ while (defined($ThisLine = <STDIN>)) {
|
|
$Disconnected{$Reason}++;
|
|
} elsif (($Reason, $Host) = ($ThisLine =~ /TLS initialization failed/) ) {
|
|
$TLSInitFail++;
|
|
- } elsif (($Host) = ($ThisLine =~ /Aborted login \[(.*)\]/) ) {
|
|
+ } elsif (($Host) = ($ThisLine =~ /Aborted login \[(.*)\]/)) {
|
|
$Aborted{$Host}++;
|
|
+ } elsif (($Reason) = ($ThisLine =~ /Aborted login \((.*)\):/)) {
|
|
+ $Aborted{$Reason}++;
|
|
|
|
# This is for Dovecot 1.0 series
|
|
|
|
@@ -114,17 +116,25 @@ while (defined($ThisLine = <STDIN>)) {
|
|
$Disconnected{"Inactivity"}++;
|
|
} elsif ($ThisLine =~ /Disconnected in IDLE/) {
|
|
$Disconnected{"in IDLE"}++;
|
|
- } elsif ($ThisLine =~ /Disconnected$/) {
|
|
+ } elsif (($ThisLine =~ /Disconnected$/) or
|
|
+ (($Reason) = ($ThisLine =~ /pop3-login: Disconnected: (.+)/)) or
|
|
+ (($Reason) = ($ThisLine =~ /imap-login: Disconnected: (.+)/)) ) {
|
|
$Disconnected{"no reason"}++;
|
|
- } elsif (($Reason) = ($ThisLine =~ /pop3-login: Disconnected: (.+)/) ) {
|
|
- $Disconnected{"no reason"}++;
|
|
- } elsif (($Reason) = ($ThisLine =~ /imap-login: Disconnected: (.+)/) ) {
|
|
- $Disconnected{"no reason"}++;
|
|
- } elsif (($Reason) = ($ThisLine =~ /IMAP.+: Disconnected: (.+)/) ) {
|
|
- $Disconnected{$Reason}++;
|
|
- } elsif (($Reason) = ($ThisLine =~ /POP3.+: Disconnected: (.+) top/) ) {
|
|
+ } elsif ( (($Reason) = ($ThisLine =~ /POP3.+: Disconnected: (.+) top/)) or
|
|
+ (($Reason) = ($ThisLine =~ /pop3-login: Disconnected \((.+)\): /)) or
|
|
+ (($Reason) = ($ThisLine =~ /IMAP.+: Disconnected: (.+) bytes=/)) or
|
|
+ (($Reason) = ($ThisLine =~ /IMAP.+: Disconnected: (.+)/)) ) {
|
|
$Disconnected{$Reason}++;
|
|
-
|
|
+ } elsif (($Reason) = ($ThisLine =~ /IMAP.+: Connection closed bytes=/)) {
|
|
+ $ConnectionCl{"no reason"}++;
|
|
+ } elsif ( (($Reason) = ($ThisLine =~ /IMAP.+: Connection closed: (.*) bytes=/)) or
|
|
+ (($Reason) = ($ThisLine =~ /POP3.+: Connection closed: (.*) (top=|bytes=)/)) ) {
|
|
+ $ConnectionCl{$Reason}++;
|
|
+ } elsif ($ThisLine =~ /POP3.+: Connection closed top=.* retr=.* del=.* size=.*/) {
|
|
+ $ConnectionCl{"no reason"}++;
|
|
+ } elsif (($Error) = ($ThisLine =~ /child \d* \(login\) returned error (.*)/)) {
|
|
+ # dovecot: child 23747 (login) returned error 89
|
|
+ $ChildErr{$Error}++;
|
|
} else {
|
|
# Report any unmatched entries...
|
|
chomp($ThisLine);
|
|
@@ -225,6 +235,21 @@ if (keys %Disconnected) {
|
|
}
|
|
}
|
|
|
|
+if (keys %ConnectionCl) {
|
|
+ print "\n\nDovecot connections closed:";
|
|
+ foreach my $Reason (sort keys %ConnectionCl) {
|
|
+ print "\n $Reason: $ConnectionCl{$Reason} Time(s)";
|
|
+ }
|
|
+}
|
|
+
|
|
+if (keys %ChildErr) {
|
|
+ print "\n\nDovecot child error:";
|
|
+ foreach my $Error (sort keys %ChildErr) {
|
|
+ print "\n error number ". $Error . ": ". $ChildErr{$Error} ." Time(s)";
|
|
+ }
|
|
+}
|
|
+
|
|
+
|
|
if ((keys %Aborted) && ($Detail >= 10)) {
|
|
print "\n\nLogout/aborts:";
|
|
foreach my $Host (sort keys %Aborted) {
|