# Copyright (c) 2010 Flowerfire, Inc. All Rights Reserved. net_cache_net_app55 = { plugin_version = "2.1.3" info.1.manufacturer = "NetApp" info.1.device = "NetCache 5.5+" info.1.version.1 = "5.5" info.1.version.2 = "6.x" info.2.manufacturer = "BlueCoat" info.2.device = "NetCache 5.5+" info.2.version.1 = "5.5" info.2.version.2 = "6.x" # 2007-09-19 - gas - 2.0.0: Current plug-in # 2007-09-19 - gas - 2.1.0.: Added support for some new fields and removed the page_views field # 2007-12-07 - GMF - 2.1.1: Fixed a bug with date/time parsing (bracket quotes should be ignored). # 2009-11-17 - gas - 2.1.2: Fixed search_phrase_by_search_engine report menu for v8 format # 2010-10-01 - MSG - 2.1.3: Edited info lines. # 2010-12-07 - MSG - 2.1.4: Changed the numerical fields x_play_time_per_request and x_connect_time_per_request # to require the x_play_time log field in order to avoid an error when that field # doesn't exist. # The name of the log format log.format.format_label = "NetApp NetCache 5.5+ Log Format" log.miscellaneous.log_data_type = "firewall" log.miscellaneous.log_format_type = "internet_device" # The log is in this format if any of the first ten lines match this regular expression log.format.autodetect_regular_expression = "^#Software: NetCache NetApp/[56]\\.[056]" # 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" # A log entry is a request statistics.miscellaneous.entry_name = "requests" # We can't ignore quotes : date/time appears in bracketed quotes. #ignore_quotes true log.format.ignore_quotes = "false" # 2007-12-06 - GMF - This has to be false, because the C++ W3C parser treats "x-localtime" as two fields, # e.g., index5/subindex0 and index6/subindex0, for a field like "[20/Jan/2007:01:00:04 +0100]" # If we treat brackets as quotes, that field will be treated as index5/subindex1 and index5/subindex2, # and parsing will fail. So, I changed this back to false. But...why was it true? # log.format.treat_brackets_as_quotes = "true" log.format.treat_brackets_as_quotes = "false" # Don't truncate long fields statistics.sizes.table_cell.maximum_text_length = 0 log.field_options = { # sessions_page_field = "cs_uri" sessions_visitor_id_field = "c_ip" sessions_event_field = "requests" } # log.field_options # Log Filters log.filters = { remove_query = { label = "$lang_admin.log_filters.remove_query_label" comment = "$lang_admin.log_filters.remove_query_comment" value = "if (contains(cs_uri, '?')) then cs_uri = substr(cs_uri, 0, index(cs_uri, '?') + 1) . '(parameters)';" requires_fields = { cs_uri = true } } # remove_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 simplify_url = { label = "$lang_admin.log_filters.simplify_url_label" comment = "$lang_admin.log_filters.simplify_url_comment" value = ` if (matches_regular_expression(cs_uri, '^([^:]+://[^/]+)(/.*)')) then cs_uri = $2; else if (matches_regular_expression(cs_uri, '^([^:]+://[^$]+)$')) then cs_uri = '/'; else if (cs_uri eq '-') then cs_uri = '(empty)'; ` requires_fields = { cs_uri = true } } # simplify_url 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 cs_uri = substr(cs_uri, 0, last_index(cs_uri, '/') + 1) . '(nonpage)';" requires_fields = { cs_uri = true } } # strip_non_page_views mark_entry = { label = '$lang_admin.log_filters.mark_entry_label' comment = '$lang_admin.log_filters.mark_entry_comment' value = 'requests = 1;' } # mark_entry } # log.filters database.numerical_fields = { requests = { label = "$lang_stats.field_labels.requests" default = true requires_log_field = false type = "int" display_format_type = "integer" entries_field = true } # requests # page_views = { # label = "$lang_stats.field_labels.page_views" # default = false # requires_log_field = false # type = "int" # display_format_type = "integer" # } # page_views visitors = { label = "$lang_stats.field_labels.visitors" default = false requires_log_field = true log_field = "c_ip" type = "unique" display_format_type = "integer" } # visitors x_play_time.display_format_type = "duration_compact" x_play_time_per_visitor = { default = false type = "int" integer_bits = 64 display_format_type = "duration_compact" log_field = "x_play_time" aggregation_method = "average" average_denominator_field = "visitors" } x_play_time_per_request = { default = false requires_log_field = true type = "int" integer_bits = 64 log_field = "x_play_time" display_format_type = "duration_compact" aggregation_method = "average" average_denominator_field = "requests" } x_connect_time.display_format_type = "duration_compact" x_connect_time_per_visitor = { default = false type = "int" integer_bits = 64 display_format_type = "duration_compact" log_field = "x_connect_time" aggregation_method = "average" average_denominator_field = "visitors" } x_connect_time_per_request = { default = false requires_log_field = true type = "int" integer_bits = 64 log_field = "x_connect_time" display_format_type = "duration_compact" aggregation_method = "average" average_denominator_field = "requests" } filelength.display_format_type = "duration_compact" bytes = { label = "$lang_stats.field_labels.bytes" default = false log_field = "bytes" requires_log_field = true type = "int" integer_bits = 64 display_format_type = "bandwidth" } x_dropped_bytes.display_format_type = "bandwidth" x_packets = "" x_dropped_packets = "" x_sc_contentlength = { label = "$lang_stats.field_labels.x_sc_contentlength" default = false log_field = "x_sc_contentlength" requires_log_field = true type = "int" integer_bits = 64 display_format_type = "bandwidth" } x_rs_contentlength = { label = "$lang_stats.field_labels.x_rs_contentlength" default = false log_field = "x_rs_contentlength" requires_log_field = true type = "int" integer_bits = 64 display_format_type = "bandwidth" } x_cs_bodylength = { label = "$lang_stats.field_labels.x_cs_bodylength" default = false log_field = "x_cs_bodylength" requires_log_field = true type = "int" integer_bits = 64 display_format_type = "bandwidth" } x_sr_bodylength = { label = "$lang_stats.field_labels.x_sr_bodylength" default = false log_field = "x_sr_bodylength" requires_log_field = true type = "int" integer_bits = 64 display_format_type = "bandwidth" } x_cs_headerlength = { label = "$lang_stats.field_labels.x_cs_headerlength" default = false log_field = "x_cs_headerlength" requires_log_field = true type = "int" integer_bits = 64 display_format_type = "bandwidth" } x_sc_headerlength = { label = "$lang_stats.field_labels.x_sc_headerlength" default = false log_field = "x_sc_headerlength" requires_log_field = true type = "int" integer_bits = 64 display_format_type = "bandwidth" } x_sr_headerlength = { label = "$lang_stats.field_labels.x_sr_headerlength" default = false log_field = "x_sr_headerlength" requires_log_field = true type = "int" integer_bits = 64 display_format_type = "bandwidth" } x_rs_headerlength = { label = "$lang_stats.field_labels.x_rs_headerlength" default = false log_field = "x_rs_headerlength" requires_log_field = true type = "int" integer_bits = 64 display_format_type = "bandwidth" } time_taken = { label = $lang_stats.field_labels.time_taken default = false requires_log_field = true type = int display_format_type = duration_milliseconds } # time_taken x_elapsed_seconds = { label = $lang_stats.field_labels.x_elapsed_seconds default = false requires_log_field = true type = int display_format_type = duration_milliseconds } # x_elapsed_seconds x_elapsed_milliseconds = { label = $lang_stats.field_labels.x_elapsed_milliseconds default = false requires_log_field = true type = int display_format_type = duration_milliseconds } # x_elapsed_milliseconds } # database.numerical_fields create_profile_wizard_options = { # How the reports should be grouped in the report menu report_groups = { date_time_group = "" content_group = { cs_uri = true file_type = true rs_content_type = true } user_demographics_group = { c_ip = true domain_description = true location = true x_username = true } user_systems_group = { screen_dimensions = true screen_depth = true web_browser = true operating_system = true cs_version = true c_playerversion = true } referrer_group = { referrer = true search_engine = true search_phrase = true referrer_description = true search_phrase_by_search_engine = true } filtering_group = { x_wwfilter_categories = true x_wwfilter_result = true } other_group = { x_remote_id = true cs_method = true sc_status = true rs_status = true worm = true spider = true cs_x_forwarded_for = true x_transaction = true x_hiercode = true x_note = true x_age = true x_max_age = true x_rs_date = true x_last_verify = true x_last_modified = true x_rs_expires = true x_ims_time = true x_cache_action = true x_cs_cache_control = true x_rs_cache_control = true x_cacheable_cookie_match = true x_rs_header_modified = true x_client_port = true x_action = true x_protocol = true x_transport = true x_product = true } # other } # report_groups } # create_profile_wizard_options } # net_cache_net_app55