Mercurial > repos > other > Puppet
comparison common/logwatch/dovecot @ 81:c858ca1e01d0 puppet-3.6
Move to CentOS7-based dovecot (with a tweak for "in=…") because it seems to match output better
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 01 Nov 2015 21:18:07 +0000 |
parents | 956e484adc12 |
children | ab82c65dcb28 |
comparison
equal
deleted
inserted
replaced
80:bdbb8f6176c2 | 81:c858ca1e01d0 |
---|---|
1 ######################################################## | 1 ######################################################## |
2 # $Id: dovecot 159 2013-08-19 09:35:30Z stefjakobs $ | 2 # $Id: dovecot,v 1.18 2010/09/18 17:41:00 stefan Exp $ |
3 ######################################################## | 3 ######################################################## |
4 # $Log: dovecot,v $ | 4 # $Log: dovecot,v $ |
5 # Revision 1.18 2010/09/18 17:41:00 stefan | 5 # Revision 1.18 2010/09/18 17:41:00 stefan |
6 # ignore: ssl-build-param | 6 # ignore: ssl-build-param |
7 # | 7 # |
128 } | 128 } |
129 return $rdns{ $ipaddr }; | 129 return $rdns{ $ipaddr }; |
130 } | 130 } |
131 | 131 |
132 # Handle "dovecot: <svc>" and "dovecot: [ID yyyyy mail.info] <svc" | 132 # Handle "dovecot: <svc>" and "dovecot: [ID yyyyy mail.info] <svc" |
133 # Also handle optional hostname before dovecot tag for syslog format. | 133 my $dovecottag = qr/dovecot:(?:\s*\[[^]]+\])?/; |
134 my $dovecottag = qr/(?:[a-z][a-z0-9]+ )?dovecot:(?:\s*\[[^]]+\])?/; | |
135 | 134 |
136 while (defined($ThisLine = <STDIN>)) { | 135 while (defined($ThisLine = <STDIN>)) { |
137 # remove timestamp. We can't use *RemoveHeaders because we need the | 136 # remove timestamp. We can't use *RemoveHeaders because we need the |
138 # service name | 137 # service name |
139 $ThisLine =~ s/^\w{3} .\d \d\d:\d\d:\d\d (?:[^\s:]* |)//; | 138 $ThisLine =~ s/^\w{3} .\d \d\d:\d\d:\d\d (?:[^\s:]* |)//; |
140 | |
141 if ( ($ThisLine =~ /(?:ssl-build-param|ssl-params): SSL parameters regeneration completed/) or | 139 if ( ($ThisLine =~ /(?:ssl-build-param|ssl-params): SSL parameters regeneration completed/) or |
142 ($ThisLine =~ /ssl-params: Generating SSL parameters/) or | 140 ($ThisLine =~ /ssl-params: Generating SSL parameters/) or |
143 ($ThisLine =~ /auth-worker/) or | 141 ($ThisLine =~ /auth-worker/) or |
144 ($ThisLine =~ /auth:.*: Connected to/) or | 142 ($ThisLine =~ /auth:.*: Connected to/) or |
145 ($ThisLine =~ /Connection closed/) or | 143 ($ThisLine =~ /Connection closed/) or |
150 ) | 148 ) |
151 { | 149 { |
152 # We don't care about these | 150 # We don't care about these |
153 } elsif ( $ThisLine =~ /Killed with signal /) { | 151 } elsif ( $ThisLine =~ /Killed with signal /) { |
154 $End++; | 152 $End++; |
155 } elsif ( $ThisLine =~ /Dovecot (v\d[^ ]* |)starting up( \(core dumps disabled\))?$/) { | 153 } elsif ( $ThisLine =~ /Dovecot (v\d[^ ]* |)starting up( \(.*\))?$/) { |
156 $Restarts++; | 154 $Restarts++; |
157 $End = 0; | 155 $End = 0; |
158 } elsif ( ( ($User, $Host) = ( $ThisLine =~ /^$dovecottag pop3-login: Login: (.*?) \[(.*)\]/ ) ) or | 156 } elsif ( ( ($User, $Host) = ( $ThisLine =~ /^pop3-login: Login: (.*?) \[(.*)\]/ ) ) or |
159 ( ($User, $Host) = ( $ThisLine =~ /^$dovecottag pop3-login: (?:Info: )?Login: user=\<(.*?)\>.*rip=(.*)\, lip=/ ) ) ) { | 157 ( ($User, $Host) = ( $ThisLine =~ /^pop3-login: Info: Login: user=\<(.*?)\>.*rip=(.*)\, lip=/ ) ) ) { |
160 if ($Host !~ /$IgnoreHost/) { | 158 if ($Host !~ /$IgnoreHost/) { |
161 $Host = hostName($Host); | 159 $Host = hostName($Host); |
162 $Login{$User}{$Host}++; | 160 $Login{$User}{$Host}++; |
163 $LoginPOP3{$User}++; | 161 $LoginPOP3{$User}++; |
164 $ConnectionPOP3{$Host}++; | 162 $ConnectionPOP3{$Host}++; |
165 $Connection{$Host}++; | 163 $Connection{$Host}++; |
166 } | 164 } |
167 } elsif ( ( ($User, $Host) = ( $ThisLine =~ /^$dovecottag imap-login: Login: (.*?) \[(.*)\]/ ) ) or | 165 } elsif ( ( ($User, $Host) = ( $ThisLine =~ /^imap-login: Login: (.*?) \[(.*)\]/ ) ) or |
168 ( ($User, $Host) = ( $ThisLine =~ /^$dovecottag imap-login: (?:Info: )?Login: user=\<(.*?)\>.*rip=(.*)\, lip=/ ) ) ) { | 166 ( ($User, $Host) = ( $ThisLine =~ /^imap-login: Info: Login: user=\<(.*?)\>.*rip=(.*)\, lip=/ ) ) ) { |
169 if ($Host !~ /$IgnoreHost/) { | 167 if ($Host !~ /$IgnoreHost/) { |
170 $Host = hostName($Host); | 168 $Host = hostName($Host); |
171 $Login{$User}{$Host}++; | 169 $Login{$User}{$Host}++; |
172 $LoginIMAP{$User}++; | 170 $LoginIMAP{$User}++; |
173 $ConnectionIMAP{$Host}++; | 171 $ConnectionIMAP{$Host}++; |
174 $Connection{$Host}++; | 172 $Connection{$Host}++; |
175 } | 173 } |
176 } elsif ( ($User, $Host) = ( $ThisLine =~ /$dovecottag managesieve-login: Login: user=\<(.*?)\>.*rip=(.*)\, lip=/ ) ) { | 174 } elsif ( ($User, $Host) = ( $ThisLine =~ /managesieve-login: Login: user=\<(.*?)\>.*rip=(.*)\, lip=/ ) ) { |
177 if ($Host !~ /$IgnoreHost/) { | 175 if ($Host !~ /$IgnoreHost/) { |
178 $Host = hostName($Host); | 176 $Host = hostName($Host); |
179 $SieveLogin{$User}{$Host}++; | 177 $SieveLogin{$User}{$Host}++; |
180 $LoginSieve{$User}++; | 178 $LoginSieve{$User}++; |
181 $ConnectionSieve{$Host}++; | 179 $ConnectionSieve{$Host}++; |
182 $Connection{$Host}++; | 180 $Connection{$Host}++; |
183 } | 181 } |
184 | 182 |
185 # 'lda' for dovecot 2.0, 'deliver' for earlier versions | 183 # 'lda' for dovecot 2.0, 'deliver' for earlier versions |
186 } elsif ( ($User, $Mailbox) = ( $ThisLine =~ /^$dovecottag (?:lda|deliver)\((.*)\): msgid=.*: saved mail to (\S+)/ ) ) { | 184 } elsif ( ($User, $Mailbox) = ( $ThisLine =~ /^$dovecottag (?:lda|deliver)\((.*)\): msgid=.*: saved mail to (.*)/ ) ) { |
187 $Deliver{$User}{$Mailbox}++; | 185 $Deliver{$User}{$Mailbox}++; |
188 | 186 |
189 # For Sieve-based delivery | 187 # For Sieve-based delivery |
190 } elsif ( ($User, $Mailbox) = ( $ThisLine =~ /^$dovecottag (?:lda\(|deliver\(|lmtp\(\d+, )(.*)\): (?:[^:]+: )?sieve: msgid=.*: stored mail into mailbox '([^']*)'/ ) ) { | 188 } elsif ( ($User, $Mailbox) = ( $ThisLine =~ /^$dovecottag (?:lda|deliver)\((.*)\): sieve: msgid=.*: stored mail into mailbox '(.*)'/ ) ) { |
191 $Deliver{$User}{$Mailbox}++; | 189 $Deliver{$User}{$Mailbox}++; |
192 | 190 |
193 # LMTP-based delivery | 191 # LMTP-based delivery |
194 } elsif ( ($User, $Mailbox) = ( $ThisLine =~ /^$dovecottag lmtp\(\d+, (.*)\): [^:]+: msgid=.*: saved mail to (\S+)/ ) ) { | 192 } elsif ( ($User, $Mailbox) = ( $ThisLine =~ /^$dovecottag lmtp\(\d+, (.*)\): [^:]+: msgid=.*: saved mail to (.*)/ ) ) { |
195 # dovecot: [ID 583609 mail.info] lmtp(12782, cloyce@headgear.org): jBt1EfjCMk3uMQAAm9eMBA: msgid=<4D32DB1F.3080707@c-dot.co.uk>: saved mail to INBOX | 193 # dovecot: [ID 583609 mail.info] lmtp(12782, cloyce@headgear.org): jBt1EfjCMk3uMQAAm9eMBA: msgid=<4D32DB1F.3080707@c-dot.co.uk>: saved mail to INBOX |
196 $Deliver{$User}{$Mailbox}++; | 194 $Deliver{$User}{$Mailbox}++; |
197 | 195 |
198 # sieve forward | 196 # sieve forward |
199 } elsif (($User, $Recip) = ($ThisLine =~ /^$dovecottag (?:lda|deliver)\((.*)\): sieve: msgid=.* forwarded to \<(.*)\>/)) { | 197 } elsif (($User, $Recip) = ($ThisLine =~ /^$dovecottag (?:lda|deliver)\((.*)\): sieve: msgid=.* forwarded to \<(.*)\>/)) { |
256 | 254 |
257 } elsif ($ThisLine =~ /Disconnected (\[|top)/) { | 255 } elsif ($ThisLine =~ /Disconnected (\[|top)/) { |
258 $Disconnected{"no reason"}++; | 256 $Disconnected{"no reason"}++; |
259 } elsif (($Reason) = ($ThisLine =~ /Disconnected: (.*) \[/) ) { | 257 } elsif (($Reason) = ($ThisLine =~ /Disconnected: (.*) \[/) ) { |
260 $Disconnected{$Reason}++; | 258 $Disconnected{$Reason}++; |
261 } elsif (($Reason) = ($ThisLine =~ /Disconnected: (.*) (bytes|top)=.*/) ) { | 259 } elsif (($Reason) = ($ThisLine =~ /Disconnected: (.*) (bytes|top|in)=.*/) ) { |
262 $Disconnected{$Reason}++; | 260 $Disconnected{$Reason}++; |
263 } elsif (($Reason) = ($ThisLine =~ /Disconnected \((.*)\):/) ) { | 261 } elsif (($Reason) = ($ThisLine =~ /Disconnected \((.*)\):/) ) { |
264 $Disconnected{$Reason}++; | 262 $Disconnected{$Reason}++; |
265 } elsif ($ThisLine =~ /Disconnected (bytes|top)=.*/) { | |
266 $Disconnected{"No reason"}++; | |
267 } elsif (($Reason, $Host) = ($ThisLine =~ /TLS initialization failed/) ) { | 263 } elsif (($Reason, $Host) = ($ThisLine =~ /TLS initialization failed/) ) { |
268 $TLSInitFail++; | 264 $TLSInitFail++; |
269 } elsif (($Host) = ($ThisLine =~ /Aborted login:.* rip=(.*),/) ) { | |
270 $Host = hostName($Host); | |
271 $Aborted{$Host}++; | |
272 } elsif (($Host) = ($ThisLine =~ /Aborted login \[(.*)\]/) ) { | 265 } elsif (($Host) = ($ThisLine =~ /Aborted login \[(.*)\]/) ) { |
273 $Host = hostName($Host); | 266 $Host = hostName($Host); |
274 $Aborted{$Host}++; | 267 $Aborted{$Host}++; |
275 } elsif (($Reason) = ($ThisLine =~ /Aborted login \((.*)\):/)) { | 268 } elsif (($Reason) = ($ThisLine =~ /Aborted login \((.*)\):/)) { |
276 $Aborted{$Reason}++; | 269 $Aborted{$Reason}++; |
289 $Disconnected{"in APPEND"}++; | 282 $Disconnected{"in APPEND"}++; |
290 } elsif (($ThisLine =~ /Disconnected$/) or | 283 } elsif (($ThisLine =~ /Disconnected$/) or |
291 ($ThisLine =~ /(IMAP|POP3)\(.+\): Disconnected (bytes|top|rip|user|method)=/) or | 284 ($ThisLine =~ /(IMAP|POP3)\(.+\): Disconnected (bytes|top|rip|user|method)=/) or |
292 ($ThisLine =~ /(imap\-login|pop3\-login): Disconnected: (bytes|top|rip|user|method)=/) ) { | 285 ($ThisLine =~ /(imap\-login|pop3\-login): Disconnected: (bytes|top|rip|user|method)=/) ) { |
293 $Disconnected{"no reason"}++; | 286 $Disconnected{"no reason"}++; |
294 } elsif ( (($Reason) = ($ThisLine =~ /(?:IMAP|POP3).+: Disconnected: (.+) (bytes|top)=/i)) or | 287 } elsif ( (($Reason) = ($ThisLine =~ /(?:IMAP|POP3).+: Disconnected: (.+) (bytes|top|in)=/i)) or |
295 (($Reason) = ($ThisLine =~ /(?:imap\-login|pop3\-login): Disconnected: \(?(.+)\)?: /)) or | 288 (($Reason) = ($ThisLine =~ /(?:imap\-login|pop3\-login): Disconnected: \(?(.+)\)?: /)) or |
296 #This one should go away also -mgt | 289 #This one should go away also -mgt |
297 (($Reason) = ($ThisLine =~ /IMAP.+: Disconnected: (.+)/i)) ) { | 290 (($Reason) = ($ThisLine =~ /IMAP.+: Disconnected: (.+)/i)) ) { |
298 $Disconnected{$Reason}++; | 291 $Disconnected{$Reason}++; |
299 } elsif ($ThisLine =~ /(IMAP|POP3).+: Connection closed (top|bytes)=/i) { | 292 } elsif ($ThisLine =~ /(IMAP|POP3).+: Connection closed (top|bytes)=/i) { |