# Copyright (c) 2010 Flowerfire, Inc. All Rights Reserved. iis_odbc = { plugin_version = "1.0.1" # Initial creation - 1.0 # 2010-12-23 - 1.0.1 - MSG - Edited info lines. info.1.manufacturer = "Microsoft" info.1.device = "IIS (ODBC log source)" info.1.version.1 = "" # The name of the log format log.format.format_label = "IIS (ODBC log source) Log Format" log.miscellaneous.log_data_type = "generic_w3c" log.miscellaneous.log_format_type = "web_server" # The log is in this format if any of the first ten lines match this regular expression log.format.autodetect_regular_expression = "^#Software: Sawmill ODBC Query Exporter" # The format of dates and times in this log log.format.date_format = "seconds_since_jan1_1970" log.format.time_format = "seconds_since_jan1_1970" log.fields = { # target.type = "page" date = "" time = "" # time = "" parameters = "" logtime = "" } database.fields = { date_time = "" day_of_week = "" hour_of_day = "" parameters = "" logtime = "" } log.parsing_filters.parse = ` # date_time = logtime; date = normalize_date(logtime, 'seconds_since_jan1_1970'); time = normalize_time(logtime, 'seconds_since_jan1_1970'); ` # Log Filters log.filters = { set_page_for_worm = { label = "$lang_admin.log_filters.set_page_for_worm_label" comment = "$lang_admin.log_filters.set_page_for_worm_comment" value = "if (starts_with(worm, '(')) then '' else target = '(worm)';" requires_fields = { worm = true } } # set_page_for_worm # This filter tacks the page parameters onto the end of the page field empty_uri_query = { label = "$lang_admin.log_filters.empty_uri_query_label" comment = "$lang_admin.log_filters.empty_uri_query_comment" value = "if (parameters eq '-') then parameters = '(empty)';" disabled = true requires_fields = { parameters = true } } # empty_uri_query add_cs_uri_query = { label = "$lang_admin.log_filters.add_cs_uri_query_label" comment = "$lang_admin.log_filters.add_cs_uri_query_comment" value = "target = target . '?' . parameters" disabled = true requires_fields = { target = true parameters = true } } # add_cs_uri_query detect_page_views = { label = '$lang_admin.log_filters.detect_page_views_label' comment = '$lang_admin.log_filters.detect_page_views_comment' value = "if ((file_type eq 'JPEG') or (file_type eq 'JPG') or (file_type eq 'GIF') or (file_type eq 'ICO') or (file_type eq 'PNG') or (file_type eq 'CSS') or (file_type eq 'SWF') or (file_type eq 'JS')) then page_views = 0; else page_views = 1;" requires_fields = { file_type = true } } # detect_page_views screen_info_not_page_view = { label = '$lang_admin.log_filters.screen_info_not_page_view_label' comment = '$lang_admin.log_filters.screen_info_not_page_view_comment' value = "if (starts_with(parameters, '(')) then page_views = 0" requires_fields = { parameters = true } } # screen_info_not_page_view strip_non_page_views = { label = '$lang_admin.log_filters.strip_non_page_views_label' comment = '$lang_admin.log_filters.strip_non_page_views_comment' value = "if (page_views == 0) then target = substr(target, 0, last_index(target, '/') + 1) . '(nonpage)';" requires_fields = { target = true } } # strip_non_page_views 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 database.numerical_fields = { hits = { requires_log_field = false entries_field = true } # hits page_views = { default = true requires_log_field = false } # page_views visitors = { log_field = "clienthost" type = "unique" } # visitors bytesrecvd = { type = "int" integer_bits = 64 display_format_type = "bandwidth" } bytessent = { type = "int" integer_bits = 64 display_format_type = "bandwidth" } processingtime = { type = float display_format_type = duration_milliseconds } # processingtime } # database.numerical_fields create_profile_wizard_options = { # How the reports should be grouped in the report menu report_groups = { date_time_group = "" content_group = { file_type = true target = true parameters = true } visitor_demographics_group = { clienthost = true domain_description = true location = true username = true } visitor_systems_group = { screen_dimensions = true screen_depth = true } server_group = { serverip = true service = true machine = true } other_group = { servicestatus = true win32status = true operation = true worm = true } } # report_groups final_step = ` include "lib.profile_setup.profile_setup"; string profile = "profiles." . volatile.new_profile_name; # Remove parameters and logtime from the database fields delete_database_field(profile, 'parameters'); delete_database_field(profile, 'logtime'); # Create the standard reports add_standard_reports(profile); ` } # create_profile_wizard_options log.field_options = { sessions_page_field = "target" sessions_visitor_id_field = "clienthost" sessions_event_field = "page_views" } # log.field_options } # iis_odbc