# Copyright (c) 2014 Flowerfire, Inc. All Rights Reserved. elastic_load_balancer = { plugin_version = "1.1" info.1.manufacturer = "Amazon Web Services" info.1.device = "Elasic Load Balancer" info.1.version.1 = "" # 2014-05-01 - 1.0 - GMF - Initial creation # 2014-05-05 - 1.0os - GMF - Reimplemented in "old school" format since 8.7.3 doesn't support some of the snapon functionality used in the "real" version of this plug-in # 2014-05-05 - 1.1 - GMF - Added Geographic information # The name of the log format log.format.format_label = "Amazon Web Services Elasic Load Balancer" log.miscellaneous.log_data_type = "network_device" 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][0-9][0-9]-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9][.][0-9][0-9][0-9][0-9][0-9][0-9]Z ([^ ]+) [0-9.a-f:]+:[0-9]+ [0-9.a-f:]+:[0-9]+ [0-9.]+ [0-9.]+ [0-9.]+ [0-9]+ [0-9]+ [0-9]+ [0-9]+ "[^"]*"' # Log fields log.fields = { date = "" time = "" elb = "" client_ip = "" client_port = "" backend_ip = "" backend_port = "" request_processing_time = "" backend_processing_time = "" response_processing_time = "" elb_status_code = "" backend_status_code = "" received_bytes = "" sent_bytes = "" operation = "" url = "" protocol = "" } # log.fields log.parsing_filters.parse = ` if (matches_regular_expression(current_log_line(), '^([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9])T([0-9][0-9]:[0-9][0-9]:[0-9][0-9])[.][0-9][0-9][0-9][0-9][0-9][0-9]Z ([^ ]+) ([0-9.a-f:]+):([0-9]+) ([0-9.a-f:]+):([0-9]+) ([0-9.]+) ([0-9.]+) ([0-9.]+) ([0-9]+) ([0-9]+) ([0-9]+) ([0-9]+) "([^ ]+) ([^ ]+) ([^"]+)"')) then ( date = $1; time = $2; elb = $3; client_ip = $4; client_port = $5; backend_ip = $6; backend_port = $7; request_processing_time = $8 * 1000000.0; backend_processing_time = $9 * 1000000.0; response_processing_time = $10 * 1000000.0; elb_status_code = $11; backend_status_code = $12; received_bytes = $13; sent_bytes = $14; operation = $15; url = $16; protocol = $17; ); ` # 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 # Log fields database.fields = { date_time = "" day_of_week = "" hour_of_day = "" elb = "" client_ip = "" client_port = "" backend_ip = "" backend_port = "" elb_status_code = "" backend_status_code = "" operation = "" url = "" protocol = "" } # database.fields database.numerical_fields = { events = { default = true requires_log_field = false entries_field = true } # events received_bytes = { integer_bits = 64 display_format_type = "bandwidth" } # received_bytes sent_bytes = { integer_bits = 64 display_format_type = "bandwidth" } # sent_bytes request_processing_time = { integer_bits = 64 display_format_type = duration_microseconds } # request_processing_time backend_processing_time = { integer_bits = 64 display_format_type = duration_microseconds } # backend_processing_time response_processing_time = { integer_bits = 64 display_format_type = duration_microseconds } # response_processing_time } # database.numerical_fields create_profile_wizard_options = { # How the reports should be grouped in the report menu report_groups = { date_time_group = "" } # report_groups snapons = { # Add the standard reports add_standard_reports = { name = "add_standard_reports" label = "add_standard_reports" snapon = "add_standard_reports" } # add_standard_reports geo_location = { snapon = "geo_location" name = "geo_location" label = "$lang_admin.snapons.geo_location.label" parameters = { ip_address_field.parameter_value = "client_ip" } # parameters } # geo_location } # snapons } # create_profile_wizard_options } # elastic_load_balancer