# Copyright (c) 2010 Flowerfire, Inc. All Rights Reserved. critical_path_pop_imap = { plugin_version = "1.1" info.1.manufacturer = "Critical Path" info.1.device = "Mail Server (POP/IMAP)" info.1.version.1 = "" # 2008-04-03 - GMF - Fixed broken references to lang_stats; updated fields to compact format. # 2010-10-29 - 1.1 # 2010-10-29 - 1.0.1 - MSG - Edited info lines..1 - MSG - Edited info lines. # Critical Path mail server # The name of this format log.format.format_label = "Critical Path Mail Server POP/IMAP Log Format" # This log is the following type log.miscellaneous.log_data_type = "mail_server" log.miscellaneous.log_format_type = "mail_server" # if there are square brackets around some fields (date/time) # you can specify to have this treated as one field log.format.treat_brackets_as_quotes = "false" # The format of dates in this log log.format.date_format = "yyyymmdd" # The format of times in this log log.format.time_format = "hh:mm:ss" # The name of an entry in this log statistics.miscellaneous.entry_name = "events" # We use this to recognise the format and "auto-detect". log.format.autodetect_regular_expression = "^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9] [A-F0-9]+" # If the lines are all in the same format we can use one regex string to parse the log log.format.parsing_regular_expression = "" # when we need to use parsing filters only, we set this to true log.format.parse_only_with_filters = "true" # Log fields log.fields = { date = "" time = "" sender = { type = "hierarchical" hierarchy_dividers = "@" left_to_right = false leading_divider = "false" } # sender recipient = { type = "hierarchical" hierarchy_dividers = "@" left_to_right = false leading_divider = "false" } # recipient relay = "" size = "" message_id = "" subject = "" protocol = "" operation = "" user = "" capacity = "" commands = "" mailboxsize = "" msgsretr = "" nfetched = "" nstored = "" rxbytes = "" sessiontime = "" txave = "" txbytes = "" txtime = "" } # log.fields # Log Parsing Filters log.parsing_filters = { # date/time 1 = { label = "1" comment = "" value = "collect_fields_using_regexp('^([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]) ([0-9][0-9]:[0-9][0-9]:[0-9][0-9]) ([-A-F0-9]+) ([^ ]+) ([A-Z]+ *[A-Z]*) ', 'date,time,*KEY*,protocol,operation')" } # 1 # these are for the mail server access logs (logs POP3/IMAP etc) 6 = { label = "6" comment = "" value = "collect_listed_fields_using_regexp('^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9] ([-A-F0-9]+) [^ ]+ DISCONNECT (.*)$', ' ', '=', '')" } # 6 7 = { label = "7" comment = "" value = "collect_fields_using_regexp('^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9] ([-A-F0-9]+) [^ ]+ (LOGIN|LOGOUT) user \\'([^\\']+)\\'', '*KEY*,operation,user')" } # 7 # Accept this log entry (non-keyed entries) accept_non_keyed = { label = "parsing filter accept" comment = "accept this log entry" value = "accept_collected_entry_using_regexp('() Response=\\'2[0-9]* [^ ]* Message accepted for delivery\\'', false)" } # accept_non_keyed # Accept this log entry (keyed entries) accept_keyed = { label = "parsing filter accept" comment = "accept this log entry" value = "accept_collected_entry_using_regexp('^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9] ([-A-F0-9]+) [^ ]+ DISCONNECT ', false)" } # accept_keyed } # log.parsing_filters # Database fields database.fields = { date_time = "" day_of_week = "" hour_of_day = "" sender = { suppress_top = 0 suppress_bottom = 3 } # sender recipient = { suppress_top = 0 suppress_bottom = 3 } # recipient relay = "" subject = "" protocol = "" user = "" } # database.fields # Log Filters log.filters = { add_nfetched_to_msgsretr = { label = 'add nfetched to msgsretr' comment = 'add nfetched to msgsretr' value = "msgsretr = msgsretr + nfetched;" } # add_nfetched_to_msgsretr create_ttbytes = { label = 'create total bandwidth figure from tx and rx' comment = 'create total bandwidth figure from tx and rx' value = 'ttbytes = txbytes + rxbytes;' } # create_ttbytes mark_entry = { label = '$lang_admin.log_filters.mark_entry_label' comment = '$lang_admin.log_filters.mark_entry_comment' value = 'events = 1;' } # mark_entry } # log.filters database.numerical_fields = { msgsretr = { default = true requires_log_field = true log_field = "msgsretr" type = "int" display_format_type = "integer" } # msgsretr events = { default = false requires_log_field = false type = "int" display_format_type = "integer" entries_field = true } # events ttbytes = { default = false requires_log_field = false type = "float" display_format_type = "bandwidth" } # ttbytes txbytes = { requires_log_field = true log_field = "txbytes" type = "float" display_format_type = "bandwidth" } # txbytes rxbytes = { requires_log_field = true log_field = "rxbytes" type = "float" display_format_type = "bandwidth" } # rxbytes } # database.numerical_fields create_profile_wizard_options = { date_time_tracking = true # How the reports should be grouped in the report menu report_groups = { date_time_group = "" } # report_groups } # create_profile_wizard_options not_supported = { individualhosts = true sessions = true pageviews = true visitors = true } # not_supported } # critical_path_pop_imap