# Copyright (c) 2010 Flowerfire, Inc. All Rights Reserved. bind_update_log = { plugin_version = "1.0.1" # Initial creation - 1.0 # 2010-10-13 - 1.0.1 - MSG - Edited info lines. info.1.manufacturer = "ISC" info.1.device = "Bind9 Update (with timestamp)" info.1.version.1 = "" # The name of the log format log.format.format_label = "Bind 9 Update Log Format (with timestamp)" log.miscellaneous.log_data_type = "generic" log.miscellaneous.log_format_type = "network_device" # The log is in this format if any of the first ten lines match this regular expression log.format.autodetect_regular_expression = "^[0-9][0-9]-[A-Z][a-z][a-z]-[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] update: info: client " # This regular expression is used to parse the log fields out of the log entry log.format.parsing_regular_expression = "^([0-9][0-9]-[A-Z][a-z][a-z]-[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] update: info: client ([0-9.]+)#[0-9]+: updating zone '([^']*)': (.*$)" # The format of dates and times in this log log.format.date_format = "auto" log.format.time_format = "auto" statistics.miscellaneous.entry_name = "update" # Log fields log.fields = { date = "" time = "" client_ip = "" zone = "" message = "" operation = "" s_dns = "" message_info = "" record_type = "" } # log.fields # Database fields database.fields = { date_time = "" day_of_week = "" hour_of_day = "" client_ip = "" zone = "" operation = "" s_dns = "" message_info = "" record_type = "" } # database.fields # log parsing filters log.parsing_filters = { filter = ` if (matches_regular_expression(message, "^(adding|deleting) [^']+'([^']+)' ([A-Z]*)$")) then ( operation = $1; s_dns = $2; record_type = $3; ) else if (matches_regular_expression(message, "^(update unsuccessful): ([^:]+): (.*)$")) then ( operation = $1; s_dns = $2; message_info = $3; ); ` } # log.parsing_filters # Log Filters log.filters = { 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 = { unique_clients = { label = "unique clients" requires_log_field = true log_field = "client_ip" type = "unique" default = true } # unique_clients events = { requires_log_field = false default = true } } # 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 = "" client = true zone = true operation = true s_dns = true record_type = true message_info = true } # report_groups } # create_profile_wizard_options not_supported = { individualhosts = true bandwidth = true sessions = true pageviews = true } # not_supported } # bind_update_log