# Copyright (c) 2010 Flowerfire, Inc. All Rights Reserved. qmail_tai64_n = { plugin_version = 1.1 # Initial creation - 1.0 # 2010-10-05 - 1.1 - MSG - Edited info lines. info.1.manfacturer = "Qmail" info.1.device = "Scanner (TAI64N dates)" info.1.version.1 = "1.06" # The name of the log format log.format.format_label = "qmail Log Format (TAI64N dates)" log.miscellaneous.log_data_type = "mail_server" log.miscellaneous.log_format_type = "mail_server" # The log is in this format if any of the first ten lines match this regular expression log.format.autodetect_regular_expression = "^@[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f] " # All log field parsing will be done using the parsing filters log.format.parse_only_with_filters = "true" # The format of dates and times in this log log.format.date_format = "TAI64N" log.format.time_format = "TAI64N" # Log fields log.fields = { date_time = { label = "$lang_stats.field_labels.date_time" type = "date_time" index = 0 subindex = 0 hierarchy_dividers = "" left_to_right = false leading_divider = "false" } # date_time from = { label = "$lang_stats.field_labels.from" type = "hierarchical" index = 0 subindex = 0 hierarchy_dividers = "@" left_to_right = false leading_divider = false } # from to = { label = "$lang_stats.field_labels.to" type = "hierarchical" index = 0 subindex = 0 hierarchy_dividers = "@" left_to_right = false leading_divider = false } # to qp = { label = "$lang_stats.field_labels.qp" type = "flat" index = 0 subindex = 0 } # qp uid = { label = "$lang_stats.field_labels.uid" type = "flat" index = 0 subindex = 0 } # uid side = { label = "$lang_stats.field_labels.side" type = "flat" index = 0 subindex = 0 } # side size = { label = "$lang_stats.field_labels.size" type = "size" index = 0 subindex = 0 hierarchy_dividers = "" left_to_right = false leading_divider = "false" } # size } # log.fields # # Log Parsing Filters log.parsing_filters = { # Parse out all the beginning fields from an end msg line 1 = { label = "1" comment = "" value = "collect_fields_using_regexp('^@([0-9a-f]*) end msg ([0-9]*)$', 'date_time,*KEY*')" } # 1 # Parse info msg lines 2 = { label = "2" comment = "" value = "collect_fields_using_regexp('^@[0-9a-f]* info msg ([0-9]*): bytes ([0-9]*) from <([^>]*)> qp ([0-9]*) uid ([0-9]*)$', '*KEY*,size,from,qp,uid')" } # 2 # Parse starting delivery lines 3 = { label = "3" comment = "" value = "collect_fields_using_regexp('^@[0-9a-f]* starting delivery [0-9]*: msg ([0-9]*) to (local|remote) (.*)$', '*KEY*,side,to')" } # 3 # Accept this log entry 4 = { label = "4" comment = "" value = "accept_collected_entry_using_regexp(' end msg ([0-9]*)', false)" } # 4 } # log.parsing_filters # Database fields database.fields = { date_time = { label = "$lang_stats.field_labels.date_time" log_field = "date_time" type = "string" suppress_top = 0 suppress_bottom = 3 display_format_type = "date_time" } # date_time day_of_week = { label = "$lang_stats.field_labels.day_of_week" log_field = "day_of_week" type = "string" suppress_top = 0 suppress_bottom = 2 display_format_type = "day_of_week" } # day_of_week hour_of_day = { label = "$lang_stats.field_labels.hour_of_day" log_field = "hour_of_day" type = "string" suppress_top = 0 suppress_bottom = 2 display_format_type = "hour_of_day" } # hour_of_day from = { label = "$lang_stats.field_labels.from" log_field = "from" type = "string" suppress_top = 0 suppress_bottom = 2 } # from to = { label = "$lang_stats.field_labels.to" log_field = "to" type = "string" suppress_top = 0 suppress_bottom = 2 } # to uid = { label = "$lang_stats.field_labels.uid" log_field = "uid" type = "string" suppress_top = 0 suppress_bottom = 2 } # uid qp = { label = "$lang_stats.field_labels.qp" log_field = "qp" type = "string" suppress_top = 0 suppress_bottom = 2 } # qp } # database.fields database.numerical_fields = { hits = { label = "$lang_stats.field_labels.hits" default = true requires_log_field = false type = "int" display_format_type = "integer" entries_field = true } # hits size = { label = "$lang_stats.field_labels.size" default = false requires_log_field = true log_field = "size" type = "float" display_format_type = "bandwidth" } # size } # database.numerical_fields log.filters = { mark_entry = { label = '$lang_admin.log_filters.mark_entry_label' comment = '$lang_admin.log_filters.mark_entry_comment' value = 'hits = 1;' } # mark_entry } # log.filters create_profile_wizard_options = { date_time_tracking = true # How the reports should be grouped in the report menu report_groups = { date_time_group = "" from = true to = true uid = true qp = true } # report_groups } # create_profile_wizard_options not_supported = { visitors = true sessions = true pageviews = true individualhosts = true } # not_supported } # qmail_tai64_n