### grok-postfix ### https://github.com/padusumilli/postfix-grok/blob/master/postfix-grok-patterns # Syslog stuff PROCESS ([\w._\/%-]+) COMPID postfix\/%{PROCESS:process}(?:\[%{NUMBER:pid}\])? POSTFIX (?:%{SYSLOGTIMESTAMP:timestamp}|%{TIMESTAMP_ISO8601:timestamp8601}) (?:%{SYSLOGFACILITY} )?%{SYSLOGHOST:logsource} %{COMPID}: # Postfix stuff HELO (?:\[%{IP:helo}\]|%{HOSTNAME:helo}|%{DATA:helo}) QUEUEID (?:[A-F0-9]+|NOQUEUE) EMAILADDRESSPART [a-zA-Z0-9_.+-=:~]+ EMAILADDRESS %{EMAILADDRESSPART:local}@%{EMAILADDRESSPART:remote} RELAY (?:%{HOSTNAME:relayhost}(?:\[%{IP:relayip}\](?::%{BASE10NUM:relayport}?)?)?) POSREAL [0-9]+(.[0-9]+)? DSN %{NONNEGINT}.%{NONNEGINT}.%{NONNEGINT} STATUS sent|deferred|bounced|expired PERMERROR 5[0-9]{2} MESSAGELEVEL reject|warning|error|fatal|panic POSTFIXSMTPMESSAGE %{MESSAGELEVEL}: %{GREEDYDATA:reason} POSTFIXACTION discard|dunno|filter|hold|ignore|info|prepend|redirect|replace|reject|warn # postfix/smtp and postfix/lmtp, postfix/local and postfix/error POSTFIXSMTP %{POSTFIXSMTPRELAY}|%{POSTFIXSMTPCONNECT}|%{POSTFIXSMTP5XX}|%{POSTFIXSMTPREFUSAL}|%{POSTFIXSMTPLOSTCONNECTION}|%{POSTFIXSMTPTIMEOUT} POSTFIXSMTPRELAY %{QUEUEID:qid}: to=<%{DATA:to}>,(?:\sorig_to=<%{DATA:orig_to}>,)? relay=%{RELAY},(?: delay=%{POSREAL:delay},)?(?: delays=%{DATA:delays}?,)?(?: conn_use=%{POSREAL:conn_use},)?( %{WORD}=%{DATA},)+? dsn=%{DSN:dsn}, status=%{STATUS:status} (?:\(connect to %{POSTFIXSMTPCONNECTDEFERRED}|%{GREEDYDATA:reason}) POSTFIXSMTPCONNECT connect to %{RELAY}: %{GREEDYDATA:reason} POSTFIXSMTPCONNECTDEFERRED %{RELAY}: %{GREEDYDATA:reason}\) POSTFIXSMTP5XX %{QUEUEID:qid}: to=<%{EMAILADDRESS:to}>,(?:\sorig_to=<%{EMAILADDRESS:orig_to}>,)? relay=%{RELAY}, (%{WORD}=%{DATA},)+ dsn=%{DSN:dsn}, status=%{STATUS:status} \(host %{HOSTNAME}\[%{IP}\] said: %{PERMERROR:responsecode} %{DATA:smtp_response} \(in reply to %{DATA:command} command\)\) POSTFIXSMTPREFUSAL %{QUEUEID:qid}: host %{RELAY} refused to talk to me: %{GREEDYDATA:reason} POSTFIXSMTPLOSTCONNECTION %{QUEUEID:qid}: lost connection with %{RELAY} while %{GREEDYDATA:reason} POSTFIXSMTPTIMEOUT %{QUEUEID:qid}: conversation with %{RELAY} timed out while %{GREEDYDATA:reason} # postfix/smtpd POSTFIXSMTPD %{POSTFIXSMTPDCONNECTS}|%{POSTFIXSMTPDACTIONS}|%{POSTFIXSMTPDTIMEOUTS}|%{POSTFIXSMTPDLOGIN}|%{POSTFIXSMTPDCLIENT}|%{POSTFIXSMTPDNOQUEUE}|%{POSTFIXSMTPDWARNING}|%{POSTFIXSMTPDLOSTCONNECTION} POSTFIXSMTPDCONNECTS (?:dis)?connect from %{RELAY} POSTFIXSMTPDACTIONS %{QUEUEID:qid}: %{POSTFIXACTION:postfix_action}: %{DATA:command} from %{RELAY}: %{PERMERROR:responsecode} %{DSN:dsn} %{DATA}: %{DATA:reason}; from=<%{EMAILADDRESS:from}> to=<%{EMAILADDRESS:to}> proto=%{DATA:proto} helo=<%{HELO}> POSTFIXSMTPDTIMEOUTS timeout after %{DATA:command} from %{RELAY} POSTFIXSMTPDLOGIN %{QUEUEID:qid}: client=%{DATA:client}, sasl_method=%{DATA:saslmethod}, sasl_username=%{GREEDYDATA:saslusername} POSTFIXSMTPDCLIENT %{QUEUEID:qid}: client=%{GREEDYDATA:client} POSTFIXSMTPDNOQUEUE NOQUEUE: %{POSTFIXACTION:postfix_action}: %{DATA:command} from %{RELAY}: %{GREEDYDATA:reason} POSTFIXSMTPDWARNING warning:( %{IP}: | hostname %{HOSTNAME} )?%{GREEDYDATA:reason} POSTFIXSMTPDLOSTCONNECTION (?:lost connection after %{DATA:smtp_response} from %{RELAY}|improper command pipelining after HELO from %{GREEDYDATA:reason}) # postfix/cleanup POSTFIXCLEANUP %{POSTFIXCLEANUPMESSAGE} POSTFIXCLEANUPMESSAGE %{QUEUEID:qid}: (resent-)?message-id=%{GREEDYDATA:messageid} # postfix/bounce POSTFIXBOUNCE %{QUEUEID:qid}: sender (non-)?delivery( status)? notification: %{QUEUEID:bouncequeueid} # postfix/qmgr and postfix/pickup POSTFIXQMGR %{QUEUEID:qid}: (?:removed|(?:uid=%{NUMBER:uid} )?from=<(?:%{DATA:from})?>(?:, size=%{NUMBER:size}, nrcpt=%{NUMBER:nrcpt} \(%{GREEDYDATA:queuestatus}\))?) # postfix/anvil POSTFIXANVIL statistics: %{GREEDYDATA:reason} # postfix/trivial-rewrite POSTFIXREWRITE warning: do not list domain %{DATA:domain} in BOTH mydestination and virtual_alias_domains # Postfix wrap em up PF %{POSTFIX} (?:%{POSTFIXSMTP}|%{POSTFIXANVIL}|%{POSTFIXQMGR}|%{POSTFIXBOUNCE}|%{POSTFIXCLEANUP}|%{POSTFIXSMTPD}|%{POSTFIXREWRITE}) ### PLURA PLURAPOSTFIXSMTP %{POSTFIXSMTPRELAY}|%{POSTFIXSMTP5XX} PLURAPF %{POSTFIX} %{PLURAPOSTFIXSMTP}