From ec31a017cecc59e882460c2848bb1ef68e09089c Mon Sep 17 00:00:00 2001 From: thibaults-centreon Date: Wed, 30 Oct 2024 10:20:36 +0100 Subject: [PATCH 1/9] intial version --- .../bmc/helix/discovery/restapi/custom/api.pm | 215 ++++++++++++++++++ .../helix/discovery/restapi/mode/discovery.pm | 121 ++++++++++ .../bmc/helix/discovery/restapi/plugin.pm | 49 ++++ 3 files changed, 385 insertions(+) create mode 100644 src/apps/bmc/helix/discovery/restapi/custom/api.pm create mode 100644 src/apps/bmc/helix/discovery/restapi/mode/discovery.pm create mode 100644 src/apps/bmc/helix/discovery/restapi/plugin.pm diff --git a/src/apps/bmc/helix/discovery/restapi/custom/api.pm b/src/apps/bmc/helix/discovery/restapi/custom/api.pm new file mode 100644 index 0000000000..b003dbd934 --- /dev/null +++ b/src/apps/bmc/helix/discovery/restapi/custom/api.pm @@ -0,0 +1,215 @@ +# +# Copyright 2024 Centreon (http://www.centreon.com/) +# +# Centreon is a full-fledged industry-strength solution that meets +# the needs in IT infrastructure and application monitoring for +# service performance. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +package apps::bmc::helix::discovery::restapi::custom::api; + +use strict; +use warnings; +use centreon::plugins::http; +use JSON::XS; + +sub new { + my ($class, %options) = @_; + my $self = {}; + bless $self, $class; + + if (!defined($options{output})) { + print "Class Custom: Need to specify 'output' argument.\n"; + exit 3; + } + if (!defined($options{options})) { + $options{output}->add_option_msg(short_msg => "Class Custom: Need to specify 'options' argument."); + $options{output}->option_exit(); + } + + if (!defined($options{noptions})) { + $options{options}->add_options(arguments => { + 'api-path:s' => { name => 'api_path' }, + 'api-token:s' => { name => 'api_token' }, + 'hostname:s' => { name => 'hostname' }, + 'port:s' => { name => 'port' }, + 'proto:s' => { name => 'proto' }, + 'timeout:s' => { name => 'timeout' } + }); + } + $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); + + $self->{output} = $options{output}; + $self->{http} = centreon::plugins::http->new(%options, default_backend => 'curl'); + + return $self; +} + +sub set_options { + my ($self, %options) = @_; + + $self->{option_results} = $options{option_results}; +} + +sub set_defaults {} + +sub check_options { + my ($self, %options) = @_; + + $self->{api_path} = (defined($self->{option_results}->{api_path})) ? $self->{option_results}->{api_path} : '/api/v1.13'; + $self->{api_token} = (defined($self->{option_results}->{api_token})) ? $self->{option_results}->{api_token} : undef; + $self->{hostname} = (defined($self->{option_results}->{hostname})) ? $self->{option_results}->{hostname} : undef; + $self->{port} = (defined($self->{option_results}->{port})) ? $self->{option_results}->{port} : 443; + $self->{proto} = (defined($self->{option_results}->{proto})) ? $self->{option_results}->{proto} : 'https'; + $self->{timeout} = (defined($self->{option_results}->{timeout}) && $self->{option_results}->{timeout} =~ /(\d+)/) ? $1 : 10; + + if (!defined($self->{hostname}) || $self->{hostname} eq '') { + $self->{output}->add_option_msg(short_msg => "Need to specify --hostname option."); + $self->{output}->option_exit(); + } + if (!defined($self->{api_token}) || $self->{api_token} eq '') { + $self->{output}->add_option_msg(short_msg => "Need to specify --api-token option."); + $self->{output}->option_exit(); + } + + return 0; +} + +sub build_options_for_httplib { + my ($self, %options) = @_; + + $self->{option_results}->{hostname} = $self->{hostname}; + $self->{option_results}->{timeout} = $self->{timeout}; + $self->{option_results}->{port} = $self->{port}; + $self->{option_results}->{proto} = $self->{proto}; + $self->{option_results}->{timeout} = $self->{timeout}; + $self->{option_results}->{warning_status} = ''; + $self->{option_results}->{critical_status} = ''; + $self->{option_results}->{unknown_status} = '%{http_code} < 200 or %{http_code} > 400'; +} + +sub settings { + my ($self, %options) = @_; + + $self->build_options_for_httplib(); + $self->{http}->add_header(key => 'Content-Type', value => 'application/x-www-form-urlencoded'); + $self->{http}->add_header(key => 'Accept', value => 'application/json'); + $self->{http}->add_header(key => 'Authorization', value => 'Bearer ' . $self->{api_token}); + $self->{http}->set_options(%{$self->{option_results}}); +} + +sub request_api { + my ($self, %options) = @_; + + $self->settings(); + my $url_path = $self->{api_path} . $options{endpoint}; + + my $response = $self->{http}->request( + method => $options{method}, + get_param => $options{get_param}, + url_path => $url_path + ); + + if (!defined($response) || $response eq '') { + $self->{output}->add_option_msg(short_msg => "API returns empty content [code: '" . $self->{http}->get_code() . "'] [message: '" . $self->{http}->get_message() . "']"); + $self->{output}->option_exit(); + } + + my $decoded; + eval { + $decoded = JSON::XS->new->decode($response); + }; + + if ($@) { + $self->{output}->add_option_msg(short_msg => "Cannot decode response (add --debug option to display returned content)"); + $self->{output}->option_exit(); + } + + if ($self->{http}->get_code() < 200 || $self->{http}->get_code() >= 300) { + $self->{output}->add_option_msg(short_msg => 'API request error (add --debug option to display returned content)'); + $self->{output}->option_exit(); + } + + return $decoded; +} + +sub data_search { + my ($self, %options) = @_; + + my $results; + my $initial_params = [ 'query=' . $options{query}, 'limit=' . $options{limit} ]; + my $offset_params = undef; + + while (1) { + my $content = $self->request_api( + method => 'GET', + endpoint => '/data/search', + get_param => defined($offset_params) ? $offset_params : $initial_params + ); + push @$results, @$content; + if (defined($content->[0]->{next_offset}) && $content->[0]->{next_offset} > 0) { + $offset_params = [ @$initial_params, "offset=" . $content->[0]->{next_offset}, "results_id=" . $content->[0]->{results_id} ]; + next; + } + return $results; + } +} + +1; + +__END__ + +=head1 NAME + +BMC Helix Discovery RestAPI + +=head1 REST API OPTIONS + +BMC Helix Discovery RestAPI + +=over 8 + +=item B<--hostname> + +BMX Discovery server API hostname (mandatory). + +=item B<--port> + +Port used (default: 443) + +=item B<--proto> + +Specify https if needed (default: 'https') + +=item B<--api-path> + +BMX Discovery server API path (default: '/api/v1.13') + +=item B<--api-token> + +Set the API Authentication token (mandatory). +Example: --api-token='abcd1234' + +=item B<--timeout> + +Set timeout in seconds (default: 10). + +=back + +=head1 DESCRIPTION + +B. + +=cut diff --git a/src/apps/bmc/helix/discovery/restapi/mode/discovery.pm b/src/apps/bmc/helix/discovery/restapi/mode/discovery.pm new file mode 100644 index 0000000000..1fa30a8703 --- /dev/null +++ b/src/apps/bmc/helix/discovery/restapi/mode/discovery.pm @@ -0,0 +1,121 @@ +# +# Copyright 2024 Centreon (http://www.centreon.com/) +# +# Centreon is a full-fledged industry-strength solution that meets +# the needs in IT infrastructure and application monitoring for +# service performance. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +package apps::bmc::helix::discovery::restapi::mode::discovery; + +use base qw(centreon::plugins::mode); + +use strict; +use warnings; +use JSON::XS; + +sub new { + my ($class, %options) = @_; + my $self = $class->SUPER::new(package => __PACKAGE__, %options); + bless $self, $class; + + $options{options}->add_options(arguments => { + 'prettify' => { name => 'prettify' }, + 'query:s' => { name => 'query' }, + 'limit:s' => { name => 'limit', default => '100' } + }); + + return $self; +} + +sub check_options { + my ($self, %options) = @_; + $self->SUPER::init(%options); + + $self->{query} = (defined($self->{option_results}->{query})) ? $self->{option_results}->{query} : undef; + + if (!defined($self->{query}) || $self->{query} eq '') { + $self->{output}->add_option_msg(short_msg => "Need to specify --query option."); + $self->{output}->option_exit(); + } +} + +sub run { + my ($self, %options) = @_; + + my $disco_stats; + $disco_stats->{start_time} = time(); + + my $results = $options{custom}->data_search(query => $self->{option_results}->{query}, limit => $self->{option_results}->{limit}); + + $disco_stats->{end_time} = time(); + $disco_stats->{duration} = $disco_stats->{end_time} - $disco_stats->{start_time}; + + if (defined($results->[0]->{headings})) { + my $new_data; + my @headings = @{$results->[0]->{'headings'}}; + foreach my $dataset (@{$results}) { + $disco_stats->{discovered_items} += scalar (@{$dataset->{'results'}}); + foreach my $result (@{$dataset->{'results'}}) { + my $entry; + foreach my $i (0..(scalar @headings -1)) { + $entry->{$headings[$i]} = $result->[$i]; + } + push @$new_data, $entry; + } + } + $disco_stats->{results} = $new_data; + } + + my $encoded_data; + eval { + if (defined($self->{option_results}->{prettify})) { + $encoded_data = JSON::XS->new->utf8->pretty->encode($disco_stats); + } else { + $encoded_data = JSON::XS->new->utf8->encode($disco_stats); + } + }; + if ($@) { + $encoded_data = '{"code":"encode_error","message":"Cannot encode discovered data into JSON format"}'; + } + + $self->{output}->output_add(short_msg => $encoded_data); + $self->{output}->display(nolabel => 1, force_ignore_perfdata => 1); + $self->{output}->exit(); +} + +1; + +__END__ + +=head1 MODE + +BMC Helix Discovery assets discovery. + +=over 8 + +=item B<--query> + +Set the search query (mandatory). +Example: --query='SEARCH Host' + +=item B<--limit> + +Limit the number of results per API query for performance purposes (default: 100). +Example: --limit='50' + +=back + +=cut diff --git a/src/apps/bmc/helix/discovery/restapi/plugin.pm b/src/apps/bmc/helix/discovery/restapi/plugin.pm new file mode 100644 index 0000000000..08c18c6ff4 --- /dev/null +++ b/src/apps/bmc/helix/discovery/restapi/plugin.pm @@ -0,0 +1,49 @@ +# +# Copyright 2024 Centreon (http://www.centreon.com/) +# +# Centreon is a full-fledged industry-strength solution that meets +# the needs in IT infrastructure and application monitoring for +# service performance. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +package apps::bmc::helix::discovery::restapi::plugin; + +use strict; +use warnings; +use base qw(centreon::plugins::script_custom); + +sub new { + my ($class, %options) = @_; + my $self = $class->SUPER::new(package => __PACKAGE__, %options); + bless $self, $class; + + $self->{version} = '1.0'; + $self->{modes} = { + 'discovery' => 'apps::bmc::helix::discovery::restapi::mode::discovery' + }; + + $self->{custom_modes}->{restapi} = 'apps::bmc::helix::discovery::restapi::custom::api'; + return $self; +} + +1; + +__END__ + +=head1 PLUGIN DESCRIPTION + +Discover BMX Helix Discovery assets using the RestAPI. + +=cut From 2a73b4673f81376adcda40a46b851102d11f7fd4 Mon Sep 17 00:00:00 2001 From: thibaults-centreon Date: Fri, 13 Dec 2024 14:22:22 +0100 Subject: [PATCH 2/9] initial commit --- src/apps/haproxy/web/custom/api.pm | 212 +++++++++++++ src/apps/haproxy/web/mode/backendusage.pm | 344 +++++++++++++++++++++ src/apps/haproxy/web/mode/frontendusage.pm | 337 ++++++++++++++++++++ src/apps/haproxy/web/mode/listobjects.pm | 117 +++++++ src/apps/haproxy/web/plugin.pm | 51 +++ 5 files changed, 1061 insertions(+) create mode 100644 src/apps/haproxy/web/custom/api.pm create mode 100644 src/apps/haproxy/web/mode/backendusage.pm create mode 100644 src/apps/haproxy/web/mode/frontendusage.pm create mode 100644 src/apps/haproxy/web/mode/listobjects.pm create mode 100644 src/apps/haproxy/web/plugin.pm diff --git a/src/apps/haproxy/web/custom/api.pm b/src/apps/haproxy/web/custom/api.pm new file mode 100644 index 0000000000..a27a2fe78e --- /dev/null +++ b/src/apps/haproxy/web/custom/api.pm @@ -0,0 +1,212 @@ +# +# Copyright 2024 Centreon (http://www.centreon.com/) +# +# Centreon is a full-fledged industry-strength solution that meets +# the needs in IT infrastructure and application monitoring for +# service performance. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +package apps::haproxy::web::custom::api; + +use strict; +use warnings; +use centreon::plugins::http; +use JSON::XS; + +sub new { + my ($class, %options) = @_; + my $self = {}; + bless $self, $class; + + if (!defined($options{output})) { + print "Class Custom: Need to specify 'output' argument.\n"; + exit 3; + } + if (!defined($options{options})) { + $options{output}->add_option_msg(short_msg => "Class Custom: Need to specify 'options' argument."); + $options{output}->option_exit(); + } + + if (!defined($options{noptions})) { + $options{options}->add_options(arguments => { + 'hostname:s' => { name => 'hostname' }, + 'port:s' => { name => 'port', }, + 'proto:s' => { name => 'proto' }, + 'urlpath:s' => { name => 'url_path' }, + 'credentials' => { name => 'credentials' }, + 'basic' => { name => 'basic' }, + 'ntlmv2' => { name => 'ntlmv2' }, + 'username:s' => { name => 'username' }, + 'password:s' => { name => 'password' }, + 'timeout:s' => { name => 'timeout' }, + 'unknown-http-status:s' => { name => 'unknown_http_status' }, + 'warning-http-status:s' => { name => 'warning_http_status' }, + 'critical-http-status:s' => { name => 'critical_http_status' } + }); + } + + $options{options}->add_help(package => __PACKAGE__, sections => 'API OPTIONS', once => 1); + + $self->{output} = $options{output}; + $self->{http} = centreon::plugins::http->new(%options, default_backend => 'curl'); + + return $self; +} + +sub set_options { + my ($self, %options) = @_; + + $self->{option_results} = $options{option_results}; +} + +sub set_defaults {} + +sub check_options { + my ($self, %options) = @_; + + $self->{hostname} = (defined($self->{option_results}->{hostname})) ? $self->{option_results}->{hostname} : undef; + $self->{port} = (defined($self->{option_results}->{port})) ? $self->{option_results}->{port} : 8404; + $self->{proto} = (defined($self->{option_results}->{proto})) ? $self->{option_results}->{proto} : 'http'; + $self->{timeout} = (defined($self->{option_results}->{timeout})) ? $self->{option_results}->{timeout} : 10; + $self->{url_path} = (defined($self->{option_results}->{url_path})) ? $self->{option_results}->{url_path} : '/stats;json;'; + $self->{unknown_http_status} = (defined($self->{option_results}->{unknown_http_status})) ? $self->{option_results}->{unknown_http_status} : '(%{http_code} < 200 or %{http_code} >= 300) and %{http_code} != 424'; + $self->{warning_http_status} = (defined($self->{option_results}->{warning_http_status})) ? $self->{option_results}->{warning_http_status} : ''; + $self->{critical_http_status} = (defined($self->{option_results}->{critical_http_status})) ? $self->{option_results}->{critical_http_status} : ''; + + if (!defined($self->{hostname}) || $self->{hostname} eq '') { + $self->{output}->add_option_msg(short_msg => "Need to specify --hostname option."); + $self->{output}->option_exit(); + } + return 0; +} + +sub build_options_for_httplib { + my ($self, %options) = @_; + + $self->{option_results}->{hostname} = $self->{hostname}; + $self->{option_results}->{timeout} = $self->{timeout}; + $self->{option_results}->{port} = $self->{port}; + $self->{option_results}->{proto} = $self->{proto}; + $self->{option_results}->{timeout} = $self->{timeout}; + +} + +sub settings { + my ($self, %options) = @_; + + return if (defined($self->{settings_done})); + $self->build_options_for_httplib(); + $self->{http}->add_header(key => 'Accept', value => 'application/json'); + $self->{http}->add_header(key => 'Content-Type', value => 'application/json'); + $self->{http}->set_options(%{$self->{option_results}}); + $self->{settings_done} = 1; +} + +sub get_hostname { + my ($self, %options) = @_; + + return $self->{hostname}; +} + +sub get_stats { + my ($self, %options) = @_; + $self->settings(); + my $response = $self->{http}->request(method => 'GET', url_path => $self->{url_path}); + + if (!defined($response) || $response eq '') { + $self->{output}->add_option_msg(short_msg => "API returns empty content [code: '" . $self->{http}->get_code() . "'] [message: '" . $self->{http}->get_message() . "']"); + $self->{output}->option_exit(); + } + + my $decoded; + eval { + $decoded = JSON::XS->new->decode($response); + }; + + if ($@) { + $self->{output}->add_option_msg(short_msg => "Cannot decode response (add --debug option to display returned content)"); + $self->{output}->option_exit(); + } + + if ($self->{http}->get_code() < 200 || $self->{http}->get_code() >= 300) { + $self->{output}->add_option_msg(short_msg => 'API request error (add --debug option to display returned content)'); + $self->{output}->option_exit(); + } + + return $decoded; +} + +1; + +__END__ + +=head1 NAME + +HAProxy HTTP custom Mode + +=head1 API OPTIONS + +HAProxy HTTP + +=over 8 + +=item B<--hostname> + +IP Addr/FQDN of the web server host + +=item B<--port> + +Port used by web server + +=item B<--proto> + +Specify https if needed (default: 'http') + +=item B<--urlpath> + +Define the path of the web page to get (default: '/stats;json;'). + +=item B<--credentials> + +Specify this option if you are accessing a web page using authentication. + +=item B<--username> + +Specify the username for authentication (mandatory if --credentials is specified). + +=item B<--password> + +Specify the password for authentication (mandatory if --credentials is specified). + +=item B<--basic> + +Specify this option if you are accessing a web page using basic authentication and don't want a '401 UNAUTHORIZED' error to be logged on your web server. + +Specify this option if you are accessing a web page using hidden basic authentication or you'll get a '404 NOT FOUND' error. + +(use with --credentials) + +=item B<--ntlmv2> + +Specify this option if you are accessing a web page using ntlmv2 authentication (use with --credentials and --port options). + +=item B<--timeout> + +Define the timeout in seconds (default: 5). + + +=back + +=cut diff --git a/src/apps/haproxy/web/mode/backendusage.pm b/src/apps/haproxy/web/mode/backendusage.pm new file mode 100644 index 0000000000..d49e22adac --- /dev/null +++ b/src/apps/haproxy/web/mode/backendusage.pm @@ -0,0 +1,344 @@ +# +# Copyright 2024 Centreon (http://www.centreon.com/) +# +# Centreon is a full-fledged industry-strength solution that meets +# the needs in IT infrastructure and application monitoring for +# service performance. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +package apps::haproxy::web::mode::backendusage; + +use base qw(centreon::plugins::templates::counter); + +use strict; +use warnings; +use Digest::MD5 qw(md5_hex); +use centreon::plugins::templates::catalog_functions qw(catalog_status_threshold_ng); + +sub prefix_backend_output { + my ($self, %options) = @_; + + return "Backend '" . $options{instance_value}->{display} . "' "; +} + +sub prefix_server_output { + my ($self, %options) = @_; + + return "Server '" . $options{instance_value}->{svname} . "' "; +} + +sub prefix_global_backend_output { + my ($self, %options) = @_; + + return 'backend '; +} + +sub backend_long_output { + my ($self, %options) = @_; + + return "Backend '" . $options{instance_value}->{display} . "':"; +} + +sub custom_status_output { + my ($self, %options) = @_; + + return sprintf("status: %s", $self->{result_values}->{status}); +} + +sub set_counters { + my ($self, %options) = @_; + + $self->{maps_counters_type} = [ + { name => 'backends', type => 3, cb_prefix_output => 'prefix_backend_output', cb_long_output => 'backend_long_output', message_multiple => 'All Backends are ok', indent_long_output => ' ', skipped_code => { -10 => 1 }, + group => [ + { name => 'backend', type => 0, cb_prefix_output => 'prefix_global_backend_output' }, + { name => 'servers', type => 1, display_long => 1, cb_prefix_output => 'prefix_server_output', message_multiple => 'Servers are ok', skipped_code => { -10 => 1 } } + ] + } + ]; + + $self->{maps_counters}->{backend} = [ + { + label => 'backend-status', + type => 2, + critical_default => '%{status} !~ /UP/i', + set => { + key_values => [ { name => 'status' }, { name => 'pxname' } ], + closure_custom_output => $self->can('custom_status_output'), + closure_custom_perfdata => sub { return 0; }, + closure_custom_threshold_check => \&catalog_status_threshold_ng + } + }, + { label => 'backend-current-queue', nlabel => 'backend.queue.current.count', set => { + key_values => [ { name => 'qcur' }, { name => 'pxname' } ], + output_template => 'current queue: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'pxname' } + ] + } + }, + { label => 'backend-current-session-rate', nlabel => 'backend.session.current.rate.countpersecond', set => { + key_values => [ { name => 'rate' }, { name => 'pxname' } ], + output_template => 'current session rate: %s/s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'pxname' } + ] + } + }, + { label => 'backend-max-session-rate', nlabel => 'backend.session.max.rate.countpersecond', set => { + key_values => [ { name => 'rate_max' }, { name => 'pxname' } ], + output_template => 'max session rate: %s/s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'pxname' } + ] + } + }, + { label => 'backend-current-sessions', nlabel => 'backend.sessions.current.count', set => { + key_values => [ { name => 'scur' }, { name => 'pxname' } ], + output_template => 'current sessions: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'pxname' } + ] + } + }, + { label => 'backend-total-sessions', nlabel => 'backend.sessions.total.count', set => { + key_values => [ { name => 'stot', diff => 1 }, { name => 'pxname' } ], + output_template => 'total sessions: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'pxname' } + ] + } + }, + { label => 'backend-traffic-in', nlabel => 'backend.traffic.in.bitpersecond', set => { + key_values => [ { name => 'bin', per_second => 1 }, { name => 'pxname' } ], + output_template => 'traffic in: %s %s/s', + output_change_bytes => 2, + perfdatas => [ + { template => '%.2f', min => 0, unit => 'b/s', label_extra_instance => 1, instance_use => 'pxname' } + ] + } + }, + { label => 'backend-traffic-out', nlabel => 'backend.traffic.out.bitpersecond', set => { + key_values => [ { name => 'bout', per_second => 1 }, { name => 'pxname' } ], + output_template => 'traffic out: %s %s/s', + output_change_bytes => 2, + perfdatas => [ + { template => '%.2f', min => 0, unit => 'b/s', label_extra_instance => 1, instance_use => 'pxname' } + ] + } + }, + { label => 'backend-denied-requests', nlabel => 'backend.requests.denied.count', set => { + key_values => [ { name => 'dreq' }, { name => 'pxname' } ], + output_template => 'denied requests: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'pxname' } + ] + } + }, + { label => 'backend-denied-responses', nlabel => 'backend.responses.denied.count', set => { + key_values => [ { name => 'dresp' }, { name => 'pxname' } ], + output_template => 'denied responses: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'pxname' } + ] + } + }, + { label => 'backend-connections-errors', nlabel => 'backend.connections.error.count', set => { + key_values => [ { name => 'econ' }, { name => 'pxname' } ], + output_template => 'connection errors: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'pxname' } + ] + } + }, + { label => 'backend-responses-errors', nlabel => 'backend.responses.error.count', set => { + key_values => [ { name => 'eresp' }, { name => 'pxname' } ], + output_template => 'responses errors: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'pxname' } + ] + } + } + ]; + $self->{maps_counters}->{servers} = [ + { + label => 'server-status', + type => 2, + critical_default => '%{status} !~ /UP/i', + set => { + key_values => [ { name => 'status' }, { name => 'svname' } ], + closure_custom_output => $self->can('custom_status_output'), + closure_custom_perfdata => sub { return 0; }, + closure_custom_threshold_check => \&catalog_status_threshold_ng + } + }, + { label => 'server-current-sessions', nlabel => 'server.sessions.current.count', set => { + key_values => [ { name => 'scur' }, { name => 'svname' } ], + output_template => 'current sessions: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'svname'} + ] + } + }, + { label => 'server-current-session-rate', nlabel => 'server.session.current.rate.countpersecond', set => { + key_values => [ { name => 'rate' }, { name => 'svname' } ], + output_template => 'current session rate: %s/s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'svname' } + ] + } + }, + { label => 'server-max-session-rate', nlabel => 'server.session.max.rate.countpersecond', set => { + key_values => [ { name => 'rate_max' }, { name => 'svname' } ], + output_template => 'max session rate: %s/s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'svname' } + ] + } + }, + { label => 'server-denied-responses', nlabel => 'server.responses.denied.count', set => { + key_values => [ { name => 'dresp' }, { name => 'svname' } ], + output_template => 'denied responses: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'svname' } + ] + } + }, + { label => 'server-connections-errors', nlabel => 'server.connections.error.count', set => { + key_values => [ { name => 'econ' }, { name => 'svname' } ], + output_template => 'connection errors: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'svname' } + ] + } + }, + { label => 'server-responses-errors', nlabel => 'server.responses.error.count', set => { + key_values => [ { name => 'eresp' }, { name => 'svname' } ], + output_template => 'responses errors: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'svname' } + ] + } + } + ]; +} + +sub new { + my ($class, %options) = @_; + my $self = $class->SUPER::new(package => __PACKAGE__, %options, statefile => 1, force_new_perfdata => 1); + bless $self, $class; + + $options{options}->add_options(arguments => { + 'add-servers' => { name => 'add_servers' }, + 'filter-name:s' => { name => 'filter_name' } + }); + + return $self; +} + +sub manage_selection { + my ($self, %options) = @_; + + my $result = $options{custom}->get_stats(); + my $stats; + foreach (@$result) { + foreach my $entry (@$_) { + if ($entry->{objType} eq 'Backend') { + $stats->{$entry->{proxyId}}->{$entry->{field}->{name}} = $entry->{value}->{value}; + } + if ($entry->{objType} eq 'Server') { + $stats->{$entry->{proxyId}}->{servers}->{$entry->{id}}->{$entry->{field}->{name}} = $entry->{value}->{value}; + } + } + } + foreach (keys %$stats) { + my $name; + $name = $stats->{$_}->{pxname}; + + if (defined($self->{option_results}->{filter_name}) && $self->{option_results}->{filter_name} ne '' && + $name !~ /$self->{option_results}->{filter_name}/) { + $self->{output}->output_add(long_msg => "skipping Backend '" . $name . "'.", debug => 1); + next; + } + if (defined($self->{option_results}->{add_servers})) { + $self->{backends}->{$_}->{servers} = $stats->{$_}->{servers}; + } + + $self->{backends}->{$_}->{backend} = $stats->{$_}; + $self->{backends}->{$_}->{display} = $name; + } + + if (scalar(keys %{$self->{backends}}) <= 0) { + $self->{output}->add_option_msg(short_msg => "No Backend found."); + $self->{output}->option_exit(); + } + + $self->{cache_name} = 'haproxy_' . $self->{mode} . '_' . $options{custom}->get_hostname() . '_' . + (defined($self->{option_results}->{filter_counters}) ? md5_hex($self->{option_results}->{filter_counters}) : md5_hex('all')) . '_' . + (defined($self->{option_results}->{filter_name}) ? md5_hex($self->{option_results}->{filter_name}) : md5_hex('all')); + +} + +1; + +__END__ + +=head1 MODE + +Check backend usage. + +=over 8 + +=item B<--add-servers> + +Also display and monitor Servers related to a given Backend. + +=item B<--filter-counters> + +Only display some counters (regexp can be used). +Example: --filter-counters='^total-connections$'. +Available counters: 'status', 'current-sessions', 'total-sessions', 'traffic-in', 'traffic-out' + +=item B<--filter-name> + +Filter Backend name (can be a regexp). + +=item B<--warning-*-status> + +Define the conditions to match for the status to be WARNING +where '*' can be: 'backend', 'server'. +You can use the following variables: %{status}. +Example: --warning-backend-status='%{status} !~ /UP/i' + +=item B<--critical-*-status> + +Define the conditions to match for the status to be CRITICAL (default: '%{status} !~ /UP/i') +where '*' can be: 'backend', 'server'. +You can use the following variables: %{status}. +Example: --critical-backend-status='%{status} !~ /UP/i' + +=item B<--warning-*> B<--critical-*> + +Thresholds. +Can be: 'backend-current-queue', 'backend-current-session-rate', +'backend-max-session-rate', 'backend-current-sessions', 'backend-total-sessions', +'backend-traffic-in' (b/s), 'backend-traffic-out' (b/s), 'backend-denied-requests', 'backend-denied-responses', +'backend-connections-errors', 'backend-responses-errors', 'server-current-sessions', +'server-current-session-rate', 'server-max-session-rate', 'server-denied-responses', +'server-connections-errors', 'server-responses-errors' + +=back + +=cut diff --git a/src/apps/haproxy/web/mode/frontendusage.pm b/src/apps/haproxy/web/mode/frontendusage.pm new file mode 100644 index 0000000000..e5a800a68d --- /dev/null +++ b/src/apps/haproxy/web/mode/frontendusage.pm @@ -0,0 +1,337 @@ +# +# Copyright 2024 Centreon (http://www.centreon.com/) +# +# Centreon is a full-fledged industry-strength solution that meets +# the needs in IT infrastructure and application monitoring for +# service performance. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +package apps::haproxy::web::mode::frontendusage; + +use base qw(centreon::plugins::templates::counter); + +use strict; +use warnings; +use Digest::MD5 qw(md5_hex); +use centreon::plugins::templates::catalog_functions qw(catalog_status_threshold_ng); + +sub prefix_frontend_output { + my ($self, %options) = @_; + + return "Frontend '" . $options{instance_value}->{display} . "' "; +} + +sub prefix_listener_output { + my ($self, %options) = @_; + + return "Listener '" . $options{instance_value}->{svname} . "' "; +} + +sub prefix_global_frontend_output { + my ($self, %options) = @_; + + return 'frontend '; +} + +sub frontend_long_output { + my ($self, %options) = @_; + + return "Frontend '" . $options{instance_value}->{display} . "':"; +} + +sub custom_status_output { + my ($self, %options) = @_; + + return sprintf("status: %s", $self->{result_values}->{status}); +} + +sub set_counters { + my ($self, %options) = @_; + + $self->{maps_counters_type} = [ + { name => 'frontends', type => 3, cb_prefix_output => 'prefix_frontend_output', cb_long_output => 'frontend_long_output', message_multiple => 'All frontends are ok', indent_long_output => ' ', skipped_code => { -10 => 1 }, + group => [ + { name => 'frontend', type => 0, cb_prefix_output => 'prefix_global_frontend_output' }, + { name => 'listeners', type => 1, display_long => 1, cb_prefix_output => 'prefix_listener_output', message_multiple => 'listeners are ok', skipped_code => { -10 => 1 } } + ] + } + ]; + + $self->{maps_counters}->{frontend} = [ + { + label => 'frontend-status', + type => 2, + critical_default => '%{status} !~ /OPEN/i', + set => { + key_values => [ { name => 'status' }, { name => 'pxname' } ], + closure_custom_output => $self->can('custom_status_output'), + closure_custom_perfdata => sub { return 0; }, + closure_custom_threshold_check => \&catalog_status_threshold_ng + } + }, + { label => 'frontend-current-session-rate', nlabel => 'frontend.session.current.rate.countpersecond', set => { + key_values => [ { name => 'rate' }, { name => 'pxname' } ], + output_template => 'current session rate: %s/s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'pxname' } + ] + } + }, + { label => 'frontend-max-session-rate', nlabel => 'frontend.session.max.rate.countpersecond', set => { + key_values => [ { name => 'rate_max' }, { name => 'pxname' } ], + output_template => 'max session rate: %s/s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'pxname' } + ] + } + }, + { label => 'frontend-current-sessions', nlabel => 'frontend.sessions.current.count', set => { + key_values => [ { name => 'scur' }, { name => 'pxname' } ], + output_template => 'current sessions: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'pxname' } + ] + } + }, + { label => 'frontend-total-sessions', nlabel => 'frontend.sessions.total.count', set => { + key_values => [ { name => 'stot' }, { name => 'pxname' } ], + output_template => 'total sessions: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'pxname' } + ] + } + }, + { label => 'frontend-max-sessions', nlabel => 'frontend.sessions.maximum.count', set => { + key_values => [ { name => 'smax' }, { name => 'pxname' } ], + output_template => 'max sessions: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'pxname' } + ] + } + }, + { label => 'frontend-traffic-in', nlabel => 'frontend.traffic.in.bitpersecond', set => { + key_values => [ { name => 'bin', per_second => 1 }, { name => 'pxname' } ], + output_template => 'traffic in: %s %s/s', + output_change_bytes => 2, + perfdatas => [ + { template => '%.2f', min => 0, unit => 'b/s', label_extra_instance => 1, instance_use => 'pxname' } + ] + } + }, + { label => 'frontend-traffic-out', nlabel => 'frontend.traffic.out.bitpersecond', set => { + key_values => [ { name => 'bout', per_second => 1 }, { name => 'pxname' } ], + output_template => 'traffic out: %s %s/s', + output_change_bytes => 2, + perfdatas => [ + { template => '%.2f', min => 0, unit => 'b/s', label_extra_instance => 1, instance_use => 'pxname' } + ] + } + }, + { label => 'frontend-denied-requests', nlabel => 'frontend.requests.denied.count', set => { + key_values => [ { name => 'dreq' }, { name => 'pxname' } ], + output_template => 'denied requests: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'pxname' } + ] + } + }, + { label => 'frontend-denied-responses', nlabel => 'frontend.responses.denied.count', set => { + key_values => [ { name => 'dresp' }, { name => 'pxname' } ], + output_template => 'denied responses: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'pxname' } + ] + } + }, + { label => 'frontend-errors-requests', nlabel => 'frontend.requests.error.count', set => { + key_values => [ { name => 'ereq' }, { name => 'pxname' } ], + output_template => 'error requests: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'pxname' } + ] + } + } + ]; + $self->{maps_counters}->{listeners} = [ + { + label => 'listener-status', + type => 2, + critical_default => '%{status} !~ /OPEN/i', + set => { + key_values => [ { name => 'status' }, { name => 'pxname' } ], + closure_custom_output => $self->can('custom_status_output'), + closure_custom_perfdata => sub { return 0; }, + closure_custom_threshold_check => \&catalog_status_threshold_ng + } + }, + { label => 'listener-current-sessions', nlabel => 'listener.sessions.current.count', set => { + key_values => [ { name => 'scur' }, { name => 'svname' } ], + output_template => 'current sessions: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'svname' } + ] + } + }, + { label => 'listener-denied-requests', nlabel => 'listener.requests.denied.count', set => { + key_values => [ { name => 'dreq' }, { name => 'svname' } ], + output_template => 'denied requests: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'svname' } + ] + } + }, + { label => 'listener-denied-responses', nlabel => 'listener.responses.denied.count', set => { + key_values => [ { name => 'dresp' }, { name => 'svname' } ], + output_template => 'denied responses: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'svname' } + ] + } + }, + { label => 'listener-errors-requests', nlabel => 'listener.requests.error.count', set => { + key_values => [ { name => 'ereq' }, { name => 'svname' } ], + output_template => 'error requests: %s', + perfdatas => [ + { template => '%s', min => 0, label_extra_instance => 1, instance_use => 'svname' } + ] + } + }, + { label => 'listener-traffic-in', nlabel => 'listener.traffic.in.bitpersecond', set => { + key_values => [ { name => 'bin', per_second => 1 }, { name => 'pxname' } ], + output_template => 'traffic in: %s %s/s', + output_change_bytes => 2, + perfdatas => [ + { template => '%.2f', min => 0, unit => 'b/s', label_extra_instance => 1, instance_use => 'svname' } + ] + } + }, + { label => 'listener-traffic-out', nlabel => 'listener.traffic.out.bitpersecond', set => { + key_values => [ { name => 'bout', per_second => 1 }, { name => 'svname' } ], + output_template => 'traffic out: %s %s/s', + output_change_bytes => 2, + perfdatas => [ + { template => '%.2f', min => 0, unit => 'b/s', label_extra_instance => 1, instance_use => 'svname' } + ] + } + } + ]; +} + +sub new { + my ($class, %options) = @_; + my $self = $class->SUPER::new(package => __PACKAGE__, %options, statefile => 1, force_new_perfdata => 1); + bless $self, $class; + + $options{options}->add_options(arguments => { + 'add-listeners' => { name => 'add_listeners' }, + 'filter-name:s' => { name => 'filter_name' } + }); + + return $self; +} + +sub manage_selection { + my ($self, %options) = @_; + + my $result = $options{custom}->get_stats(); + my $stats; + foreach (@$result) { + foreach my $entry (@$_) { + if ($entry->{objType} eq 'Frontend') { + $stats->{$entry->{proxyId}}->{$entry->{field}->{name}} = $entry->{value}->{value}; + } + if ($entry->{objType} eq 'Listener') { + $stats->{$entry->{proxyId}}->{listeners}->{$entry->{id}}->{$entry->{field}->{name}} = $entry->{value}->{value}; + } + } + } + foreach (keys %$stats) { + my $name; + $name = $stats->{$_}->{pxname}; + + if (defined($self->{option_results}->{filter_name}) && $self->{option_results}->{filter_name} ne '' && + $name !~ /$self->{option_results}->{filter_name}/) { + $self->{output}->output_add(long_msg => "skipping frontend '" . $name . "'.", debug => 1); + next; + } + + if (defined($self->{option_results}->{add_listeners})) { + $self->{frontends}->{$_}->{listeners} = $stats->{$_}->{listeners}; + } + $self->{frontends}->{$_}->{frontend} = $stats->{$_}; + $self->{frontends}->{$_}->{display} = $name; + } + + if (scalar(keys %{$self->{frontends}}) <= 0) { + $self->{output}->add_option_msg(short_msg => "No Frontend found."); + $self->{output}->option_exit(); + } + + $self->{cache_name} = 'haproxy_' . $self->{mode} . '_' . $options{custom}->get_hostname() . '_' . + (defined($self->{option_results}->{filter_counters}) ? md5_hex($self->{option_results}->{filter_counters}) : md5_hex('all')) . '_' . + (defined($self->{option_results}->{filter_name}) ? md5_hex($self->{option_results}->{filter_name}) : md5_hex('all')); +#use Data::Dumper; print Dumper($self->{frontends}); exit 0; +} + +1; + +__END__ + +=head1 MODE + +Check frontend usage. + +=over 8 + +=item B<--add-listeners> + +Also display and monitor listeners related to a given Frontend. + +=item B<--filter-counters> + +Only display some counters (regexp can be used). +Example: --filter-counters='^total-connections$'. +Available counters: 'status', 'current-sessions', 'total-sessions', 'traffic-in', 'traffic-out' + +=item B<--filter-name> + +Filter Frontend name (can be a regexp). + +=item B<--warning-*-status> + +Define the conditions to match for the status to be WARNING +where '*' can be: 'frontend', 'listener'. +You can use the following variables: %{status}. +Example: --warning-frontend-status='%{status} !~ /UP/i' + +=item B<--critical-*-status> + +Define the conditions to match for the status to be CRITICAL (default: '%{status} !~ /OPEN/i') +where '*' can be: 'frontend', 'listener'. +You can use the following variables: %{status}. +Example: --critical-frontend-status='%{status} !~ /UP/i' + +=item B<--warning-*> B<--critical-*> + +Thresholds. +Can be: 'frontend-current-session-rate', 'frontend-max-session-rate', 'frontend-current-sessions', +'frontend-total-sessions', 'frontend-max-sessions', 'frontend-traffic-in' (b/s), 'frontend-traffic-out' (b/s), +'frontend-denied-requests', 'frontend-denied-responses', 'frontend-errors-requests', 'listener-current-sessions', +'listener-denied-requests', 'listener-denied-responses', 'listener-errors-requests', +'listener-traffic-in' (b/s), 'listener-traffic-out' (b/s) + +=back + +=cut diff --git a/src/apps/haproxy/web/mode/listobjects.pm b/src/apps/haproxy/web/mode/listobjects.pm new file mode 100644 index 0000000000..85bb78db4f --- /dev/null +++ b/src/apps/haproxy/web/mode/listobjects.pm @@ -0,0 +1,117 @@ +# +# Copyright 2024 Centreon (http://www.centreon.com/) +# +# Centreon is a full-fledged industry-strength solution that meets +# the needs in IT infrastructure and application monitoring for +# service performance. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +package apps::haproxy::web::mode::listobjects; + +use base qw(centreon::plugins::mode); + +use strict; +use warnings; + +sub new { + my ($class, %options) = @_; + my $self = $class->SUPER::new(package => __PACKAGE__, %options, force_new_perfdata => 1); + bless $self, $class; + + $options{options}->add_options(arguments => { + 'filter-name:s' => { name => 'filter_name' }, + 'filter-object-type:s' => { name => 'filter_objtype', default => 'frontend|backend' } + }); + + return $self; +} + +sub check_options { + my ($self, %options) = @_; + $self->SUPER::init(%options); +} + +sub manage_selection { + my ($self, %options) = @_; + + my $results = $options{custom}->get_stats(); + my $backends; + foreach (@$results) { + foreach my $entry (@$_) { + next if (defined($self->{option_results}->{filter_objtype}) && $self->{option_results}->{filter_objtype} ne '' + && lc($entry->{objType}) !~ /$self->{option_results}->{filter_objtype}/); + + $backends->{$entry->{proxyId}}->{type} = lc($entry->{objType}); + next if ($entry->{field}->{name} !~ /^(pxname|status)$/); + $backends->{$entry->{proxyId}}->{$entry->{field}->{name}} = $entry->{value}->{value}; + } + } + return $backends; +} + +sub run { + my ($self, %options) = @_; + + my $backends = $self->manage_selection(%options); + foreach (sort keys %$backends) { + $self->{output}->output_add( + long_msg => sprintf("[name = %s][status = %s][type = %s]", $backends->{$_}->{pxname}, $backends->{$_}->{status}, $backends->{$_}->{type}) + ); + } + + $self->{output}->output_add(severity => 'OK', short_msg => 'HAProxy objects:'); + $self->{output}->display(nolabel => 1, force_ignore_perfdata => 1, force_long_output => 1); + $self->{output}->exit(); +} + +sub disco_format { + my ($self, %options) = @_; + + $self->{output}->add_disco_format(elements => ['name','status','type']); +} + +sub disco_show { + my ($self, %options) = @_; + + my $backends = $self->manage_selection(%options); + foreach (sort keys %$backends) { + $self->{output}->add_disco_entry( + name => $backends->{$_}->{pxname}, + status => $backends->{$_}->{status}, + type => $backends->{$_}->{type}, + ); + } +} +1; + +__END__ + +=head1 MODE + +List HAProxy objects (Backends & Frontends). + +=over 8 + +=item B<--filter-object-type> + +Filter object type (can be a regexp). + +=item B<--filter-name> + +Filter object name (can be a regexp). + +=back + +=cut \ No newline at end of file diff --git a/src/apps/haproxy/web/plugin.pm b/src/apps/haproxy/web/plugin.pm new file mode 100644 index 0000000000..4bc463bf29 --- /dev/null +++ b/src/apps/haproxy/web/plugin.pm @@ -0,0 +1,51 @@ +# +# Copyright 2024 Centreon (http://www.centreon.com/) +# +# Centreon is a full-fledged industry-strength solution that meets +# the needs in IT infrastructure and application monitoring for +# service performance. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +package apps::haproxy::web::plugin; + +use strict; +use warnings; +use base qw(centreon::plugins::script_custom); + +sub new { + my ($class, %options) = @_; + my $self = $class->SUPER::new(package => __PACKAGE__, %options); + bless $self, $class; + + $self->{version} = '1.0'; + $self->{modes} = { + 'backend-usage' => 'apps::haproxy::web::mode::backendusage', + 'frontend-usage' => 'apps::haproxy::web::mode::frontendusage', + 'list-objects' => 'apps::haproxy::web::mode::listobjects' + }; + + $self->{custom_modes}->{api} = 'apps::haproxy::web::custom::api'; + return $self; +} + +1; + +__END__ + +=head1 PLUGIN DESCRIPTION + +Check HAProxy stats using HTTP stats page. + +=cut From bb64ca55ea8ab970a1e92d658b340d6bfe6d2250 Mon Sep 17 00:00:00 2001 From: thibaults-centreon Date: Fri, 10 Jan 2025 14:50:16 +0100 Subject: [PATCH 3/9] polish & add packaging --- src/apps/haproxy/web/custom/api.pm | 28 +++++++++++----------- src/apps/haproxy/web/mode/backendusage.pm | 5 ++-- src/apps/haproxy/web/mode/frontendusage.pm | 9 ++++--- src/apps/haproxy/web/mode/listobjects.pm | 4 ++-- 4 files changed, 22 insertions(+), 24 deletions(-) diff --git a/src/apps/haproxy/web/custom/api.pm b/src/apps/haproxy/web/custom/api.pm index a27a2fe78e..4ec1e8262d 100644 --- a/src/apps/haproxy/web/custom/api.pm +++ b/src/apps/haproxy/web/custom/api.pm @@ -41,19 +41,19 @@ sub new { if (!defined($options{noptions})) { $options{options}->add_options(arguments => { - 'hostname:s' => { name => 'hostname' }, - 'port:s' => { name => 'port', }, - 'proto:s' => { name => 'proto' }, - 'urlpath:s' => { name => 'url_path' }, - 'credentials' => { name => 'credentials' }, - 'basic' => { name => 'basic' }, - 'ntlmv2' => { name => 'ntlmv2' }, - 'username:s' => { name => 'username' }, - 'password:s' => { name => 'password' }, - 'timeout:s' => { name => 'timeout' }, + 'basic' => { name => 'basic' }, + 'credentials' => { name => 'credentials' }, + 'hostname:s' => { name => 'hostname' }, + 'ntlmv2' => { name => 'ntlmv2' }, + 'password:s' => { name => 'password' }, + 'port:s' => { name => 'port' }, + 'proto:s' => { name => 'proto' }, + 'timeout:s' => { name => 'timeout' }, + 'urlpath:s' => { name => 'url_path' }, + 'username:s' => { name => 'username' }, + 'critical-http-status:s' => { name => 'critical_http_status' }, 'unknown-http-status:s' => { name => 'unknown_http_status' }, - 'warning-http-status:s' => { name => 'warning_http_status' }, - 'critical-http-status:s' => { name => 'critical_http_status' } + 'warning-http-status:s' => { name => 'warning_http_status' } }); } @@ -154,11 +154,11 @@ __END__ =head1 NAME -HAProxy HTTP custom Mode +HAProxy HTTP custom mode for web json stats =head1 API OPTIONS -HAProxy HTTP +HAProxy web stats =over 8 diff --git a/src/apps/haproxy/web/mode/backendusage.pm b/src/apps/haproxy/web/mode/backendusage.pm index d49e22adac..4ab2c18dbc 100644 --- a/src/apps/haproxy/web/mode/backendusage.pm +++ b/src/apps/haproxy/web/mode/backendusage.pm @@ -297,19 +297,18 @@ __END__ =head1 MODE -Check backend usage. +Check HAProxy backend usage. =over 8 =item B<--add-servers> -Also display and monitor Servers related to a given Backend. +Also display and monitor Servers related to a given backend. =item B<--filter-counters> Only display some counters (regexp can be used). Example: --filter-counters='^total-connections$'. -Available counters: 'status', 'current-sessions', 'total-sessions', 'traffic-in', 'traffic-out' =item B<--filter-name> diff --git a/src/apps/haproxy/web/mode/frontendusage.pm b/src/apps/haproxy/web/mode/frontendusage.pm index e5a800a68d..c1494a40e2 100644 --- a/src/apps/haproxy/web/mode/frontendusage.pm +++ b/src/apps/haproxy/web/mode/frontendusage.pm @@ -235,7 +235,7 @@ sub new { bless $self, $class; $options{options}->add_options(arguments => { - 'add-listeners' => { name => 'add_listeners' }, + 'add-listeners' => { name => 'add_listeners' }, 'filter-name:s' => { name => 'filter_name' } }); @@ -282,7 +282,7 @@ sub manage_selection { $self->{cache_name} = 'haproxy_' . $self->{mode} . '_' . $options{custom}->get_hostname() . '_' . (defined($self->{option_results}->{filter_counters}) ? md5_hex($self->{option_results}->{filter_counters}) : md5_hex('all')) . '_' . (defined($self->{option_results}->{filter_name}) ? md5_hex($self->{option_results}->{filter_name}) : md5_hex('all')); -#use Data::Dumper; print Dumper($self->{frontends}); exit 0; + } 1; @@ -291,19 +291,18 @@ __END__ =head1 MODE -Check frontend usage. +Check HAProxy frontend usage. =over 8 =item B<--add-listeners> -Also display and monitor listeners related to a given Frontend. +Also display and monitor listeners related to a given frontend. =item B<--filter-counters> Only display some counters (regexp can be used). Example: --filter-counters='^total-connections$'. -Available counters: 'status', 'current-sessions', 'total-sessions', 'traffic-in', 'traffic-out' =item B<--filter-name> diff --git a/src/apps/haproxy/web/mode/listobjects.pm b/src/apps/haproxy/web/mode/listobjects.pm index 85bb78db4f..a3960c2fde 100644 --- a/src/apps/haproxy/web/mode/listobjects.pm +++ b/src/apps/haproxy/web/mode/listobjects.pm @@ -88,9 +88,9 @@ sub disco_show { my $backends = $self->manage_selection(%options); foreach (sort keys %$backends) { $self->{output}->add_disco_entry( - name => $backends->{$_}->{pxname}, + name => $backends->{$_}->{pxname}, status => $backends->{$_}->{status}, - type => $backends->{$_}->{type}, + type => $backends->{$_}->{type}, ); } } From 9acf1f27941d15dfb8b9112715e150d8b161ea41 Mon Sep 17 00:00:00 2001 From: thibaults-centreon Date: Fri, 10 Jan 2025 14:51:36 +0100 Subject: [PATCH 4/9] packaging --- .../centreon-plugin-Applications-Haproxy-Web/deb.json | 5 +++++ .../centreon-plugin-Applications-Haproxy-Web/pkg.json | 9 +++++++++ .../centreon-plugin-Applications-Haproxy-Web/rpm.json | 5 +++++ 3 files changed, 19 insertions(+) create mode 100644 packaging/centreon-plugin-Applications-Haproxy-Web/deb.json create mode 100644 packaging/centreon-plugin-Applications-Haproxy-Web/pkg.json create mode 100644 packaging/centreon-plugin-Applications-Haproxy-Web/rpm.json diff --git a/packaging/centreon-plugin-Applications-Haproxy-Web/deb.json b/packaging/centreon-plugin-Applications-Haproxy-Web/deb.json new file mode 100644 index 0000000000..540c269f3b --- /dev/null +++ b/packaging/centreon-plugin-Applications-Haproxy-Web/deb.json @@ -0,0 +1,5 @@ +{ + "dependencies": [ + "libjson-perl" + ] +} diff --git a/packaging/centreon-plugin-Applications-Haproxy-Web/pkg.json b/packaging/centreon-plugin-Applications-Haproxy-Web/pkg.json new file mode 100644 index 0000000000..7dd3cd1662 --- /dev/null +++ b/packaging/centreon-plugin-Applications-Haproxy-Web/pkg.json @@ -0,0 +1,9 @@ +{ + "pkg_name": "centreon-plugin-Applications-Haproxy-Web", + "pkg_summary": "Centreon Plugin to monitor HAProxy through JSON web stats page", + "plugin_name": "centreon_haproxy_web.pl", + "files": [ + "centreon/plugins/script_custom.pm", + "apps/haproxy/web/" + ] +} \ No newline at end of file diff --git a/packaging/centreon-plugin-Applications-Haproxy-Web/rpm.json b/packaging/centreon-plugin-Applications-Haproxy-Web/rpm.json new file mode 100644 index 0000000000..40759f6e06 --- /dev/null +++ b/packaging/centreon-plugin-Applications-Haproxy-Web/rpm.json @@ -0,0 +1,5 @@ +{ + "dependencies": [ + "perl(JSON::XS)" + ] +} From d96c9ca25c824718fb5732d037ac1ceca6096b07 Mon Sep 17 00:00:00 2001 From: thibaults-centreon Date: Fri, 10 Jan 2025 14:54:52 +0100 Subject: [PATCH 5/9] branch mistake --- .../bmc/helix/discovery/restapi/custom/api.pm | 215 ------------------ .../helix/discovery/restapi/mode/discovery.pm | 121 ---------- .../bmc/helix/discovery/restapi/plugin.pm | 49 ---- 3 files changed, 385 deletions(-) delete mode 100644 src/apps/bmc/helix/discovery/restapi/custom/api.pm delete mode 100644 src/apps/bmc/helix/discovery/restapi/mode/discovery.pm delete mode 100644 src/apps/bmc/helix/discovery/restapi/plugin.pm diff --git a/src/apps/bmc/helix/discovery/restapi/custom/api.pm b/src/apps/bmc/helix/discovery/restapi/custom/api.pm deleted file mode 100644 index b003dbd934..0000000000 --- a/src/apps/bmc/helix/discovery/restapi/custom/api.pm +++ /dev/null @@ -1,215 +0,0 @@ -# -# Copyright 2024 Centreon (http://www.centreon.com/) -# -# Centreon is a full-fledged industry-strength solution that meets -# the needs in IT infrastructure and application monitoring for -# service performance. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -package apps::bmc::helix::discovery::restapi::custom::api; - -use strict; -use warnings; -use centreon::plugins::http; -use JSON::XS; - -sub new { - my ($class, %options) = @_; - my $self = {}; - bless $self, $class; - - if (!defined($options{output})) { - print "Class Custom: Need to specify 'output' argument.\n"; - exit 3; - } - if (!defined($options{options})) { - $options{output}->add_option_msg(short_msg => "Class Custom: Need to specify 'options' argument."); - $options{output}->option_exit(); - } - - if (!defined($options{noptions})) { - $options{options}->add_options(arguments => { - 'api-path:s' => { name => 'api_path' }, - 'api-token:s' => { name => 'api_token' }, - 'hostname:s' => { name => 'hostname' }, - 'port:s' => { name => 'port' }, - 'proto:s' => { name => 'proto' }, - 'timeout:s' => { name => 'timeout' } - }); - } - $options{options}->add_help(package => __PACKAGE__, sections => 'REST API OPTIONS', once => 1); - - $self->{output} = $options{output}; - $self->{http} = centreon::plugins::http->new(%options, default_backend => 'curl'); - - return $self; -} - -sub set_options { - my ($self, %options) = @_; - - $self->{option_results} = $options{option_results}; -} - -sub set_defaults {} - -sub check_options { - my ($self, %options) = @_; - - $self->{api_path} = (defined($self->{option_results}->{api_path})) ? $self->{option_results}->{api_path} : '/api/v1.13'; - $self->{api_token} = (defined($self->{option_results}->{api_token})) ? $self->{option_results}->{api_token} : undef; - $self->{hostname} = (defined($self->{option_results}->{hostname})) ? $self->{option_results}->{hostname} : undef; - $self->{port} = (defined($self->{option_results}->{port})) ? $self->{option_results}->{port} : 443; - $self->{proto} = (defined($self->{option_results}->{proto})) ? $self->{option_results}->{proto} : 'https'; - $self->{timeout} = (defined($self->{option_results}->{timeout}) && $self->{option_results}->{timeout} =~ /(\d+)/) ? $1 : 10; - - if (!defined($self->{hostname}) || $self->{hostname} eq '') { - $self->{output}->add_option_msg(short_msg => "Need to specify --hostname option."); - $self->{output}->option_exit(); - } - if (!defined($self->{api_token}) || $self->{api_token} eq '') { - $self->{output}->add_option_msg(short_msg => "Need to specify --api-token option."); - $self->{output}->option_exit(); - } - - return 0; -} - -sub build_options_for_httplib { - my ($self, %options) = @_; - - $self->{option_results}->{hostname} = $self->{hostname}; - $self->{option_results}->{timeout} = $self->{timeout}; - $self->{option_results}->{port} = $self->{port}; - $self->{option_results}->{proto} = $self->{proto}; - $self->{option_results}->{timeout} = $self->{timeout}; - $self->{option_results}->{warning_status} = ''; - $self->{option_results}->{critical_status} = ''; - $self->{option_results}->{unknown_status} = '%{http_code} < 200 or %{http_code} > 400'; -} - -sub settings { - my ($self, %options) = @_; - - $self->build_options_for_httplib(); - $self->{http}->add_header(key => 'Content-Type', value => 'application/x-www-form-urlencoded'); - $self->{http}->add_header(key => 'Accept', value => 'application/json'); - $self->{http}->add_header(key => 'Authorization', value => 'Bearer ' . $self->{api_token}); - $self->{http}->set_options(%{$self->{option_results}}); -} - -sub request_api { - my ($self, %options) = @_; - - $self->settings(); - my $url_path = $self->{api_path} . $options{endpoint}; - - my $response = $self->{http}->request( - method => $options{method}, - get_param => $options{get_param}, - url_path => $url_path - ); - - if (!defined($response) || $response eq '') { - $self->{output}->add_option_msg(short_msg => "API returns empty content [code: '" . $self->{http}->get_code() . "'] [message: '" . $self->{http}->get_message() . "']"); - $self->{output}->option_exit(); - } - - my $decoded; - eval { - $decoded = JSON::XS->new->decode($response); - }; - - if ($@) { - $self->{output}->add_option_msg(short_msg => "Cannot decode response (add --debug option to display returned content)"); - $self->{output}->option_exit(); - } - - if ($self->{http}->get_code() < 200 || $self->{http}->get_code() >= 300) { - $self->{output}->add_option_msg(short_msg => 'API request error (add --debug option to display returned content)'); - $self->{output}->option_exit(); - } - - return $decoded; -} - -sub data_search { - my ($self, %options) = @_; - - my $results; - my $initial_params = [ 'query=' . $options{query}, 'limit=' . $options{limit} ]; - my $offset_params = undef; - - while (1) { - my $content = $self->request_api( - method => 'GET', - endpoint => '/data/search', - get_param => defined($offset_params) ? $offset_params : $initial_params - ); - push @$results, @$content; - if (defined($content->[0]->{next_offset}) && $content->[0]->{next_offset} > 0) { - $offset_params = [ @$initial_params, "offset=" . $content->[0]->{next_offset}, "results_id=" . $content->[0]->{results_id} ]; - next; - } - return $results; - } -} - -1; - -__END__ - -=head1 NAME - -BMC Helix Discovery RestAPI - -=head1 REST API OPTIONS - -BMC Helix Discovery RestAPI - -=over 8 - -=item B<--hostname> - -BMX Discovery server API hostname (mandatory). - -=item B<--port> - -Port used (default: 443) - -=item B<--proto> - -Specify https if needed (default: 'https') - -=item B<--api-path> - -BMX Discovery server API path (default: '/api/v1.13') - -=item B<--api-token> - -Set the API Authentication token (mandatory). -Example: --api-token='abcd1234' - -=item B<--timeout> - -Set timeout in seconds (default: 10). - -=back - -=head1 DESCRIPTION - -B. - -=cut diff --git a/src/apps/bmc/helix/discovery/restapi/mode/discovery.pm b/src/apps/bmc/helix/discovery/restapi/mode/discovery.pm deleted file mode 100644 index 1fa30a8703..0000000000 --- a/src/apps/bmc/helix/discovery/restapi/mode/discovery.pm +++ /dev/null @@ -1,121 +0,0 @@ -# -# Copyright 2024 Centreon (http://www.centreon.com/) -# -# Centreon is a full-fledged industry-strength solution that meets -# the needs in IT infrastructure and application monitoring for -# service performance. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -package apps::bmc::helix::discovery::restapi::mode::discovery; - -use base qw(centreon::plugins::mode); - -use strict; -use warnings; -use JSON::XS; - -sub new { - my ($class, %options) = @_; - my $self = $class->SUPER::new(package => __PACKAGE__, %options); - bless $self, $class; - - $options{options}->add_options(arguments => { - 'prettify' => { name => 'prettify' }, - 'query:s' => { name => 'query' }, - 'limit:s' => { name => 'limit', default => '100' } - }); - - return $self; -} - -sub check_options { - my ($self, %options) = @_; - $self->SUPER::init(%options); - - $self->{query} = (defined($self->{option_results}->{query})) ? $self->{option_results}->{query} : undef; - - if (!defined($self->{query}) || $self->{query} eq '') { - $self->{output}->add_option_msg(short_msg => "Need to specify --query option."); - $self->{output}->option_exit(); - } -} - -sub run { - my ($self, %options) = @_; - - my $disco_stats; - $disco_stats->{start_time} = time(); - - my $results = $options{custom}->data_search(query => $self->{option_results}->{query}, limit => $self->{option_results}->{limit}); - - $disco_stats->{end_time} = time(); - $disco_stats->{duration} = $disco_stats->{end_time} - $disco_stats->{start_time}; - - if (defined($results->[0]->{headings})) { - my $new_data; - my @headings = @{$results->[0]->{'headings'}}; - foreach my $dataset (@{$results}) { - $disco_stats->{discovered_items} += scalar (@{$dataset->{'results'}}); - foreach my $result (@{$dataset->{'results'}}) { - my $entry; - foreach my $i (0..(scalar @headings -1)) { - $entry->{$headings[$i]} = $result->[$i]; - } - push @$new_data, $entry; - } - } - $disco_stats->{results} = $new_data; - } - - my $encoded_data; - eval { - if (defined($self->{option_results}->{prettify})) { - $encoded_data = JSON::XS->new->utf8->pretty->encode($disco_stats); - } else { - $encoded_data = JSON::XS->new->utf8->encode($disco_stats); - } - }; - if ($@) { - $encoded_data = '{"code":"encode_error","message":"Cannot encode discovered data into JSON format"}'; - } - - $self->{output}->output_add(short_msg => $encoded_data); - $self->{output}->display(nolabel => 1, force_ignore_perfdata => 1); - $self->{output}->exit(); -} - -1; - -__END__ - -=head1 MODE - -BMC Helix Discovery assets discovery. - -=over 8 - -=item B<--query> - -Set the search query (mandatory). -Example: --query='SEARCH Host' - -=item B<--limit> - -Limit the number of results per API query for performance purposes (default: 100). -Example: --limit='50' - -=back - -=cut diff --git a/src/apps/bmc/helix/discovery/restapi/plugin.pm b/src/apps/bmc/helix/discovery/restapi/plugin.pm deleted file mode 100644 index 08c18c6ff4..0000000000 --- a/src/apps/bmc/helix/discovery/restapi/plugin.pm +++ /dev/null @@ -1,49 +0,0 @@ -# -# Copyright 2024 Centreon (http://www.centreon.com/) -# -# Centreon is a full-fledged industry-strength solution that meets -# the needs in IT infrastructure and application monitoring for -# service performance. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -package apps::bmc::helix::discovery::restapi::plugin; - -use strict; -use warnings; -use base qw(centreon::plugins::script_custom); - -sub new { - my ($class, %options) = @_; - my $self = $class->SUPER::new(package => __PACKAGE__, %options); - bless $self, $class; - - $self->{version} = '1.0'; - $self->{modes} = { - 'discovery' => 'apps::bmc::helix::discovery::restapi::mode::discovery' - }; - - $self->{custom_modes}->{restapi} = 'apps::bmc::helix::discovery::restapi::custom::api'; - return $self; -} - -1; - -__END__ - -=head1 PLUGIN DESCRIPTION - -Discover BMX Helix Discovery assets using the RestAPI. - -=cut From d5236658dc61e2a3058e86997c7a65fa88c354f0 Mon Sep 17 00:00:00 2001 From: thibaults-centreon Date: Fri, 10 Jan 2025 15:12:02 +0100 Subject: [PATCH 6/9] happy new year --- src/apps/haproxy/web/custom/api.pm | 2 +- src/apps/haproxy/web/mode/backendusage.pm | 2 +- src/apps/haproxy/web/mode/frontendusage.pm | 2 +- src/apps/haproxy/web/mode/listobjects.pm | 2 +- src/apps/haproxy/web/plugin.pm | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/apps/haproxy/web/custom/api.pm b/src/apps/haproxy/web/custom/api.pm index 4ec1e8262d..68ec0cc8aa 100644 --- a/src/apps/haproxy/web/custom/api.pm +++ b/src/apps/haproxy/web/custom/api.pm @@ -1,5 +1,5 @@ # -# Copyright 2024 Centreon (http://www.centreon.com/) +# Copyright 2025 Centreon (http://www.centreon.com/) # # Centreon is a full-fledged industry-strength solution that meets # the needs in IT infrastructure and application monitoring for diff --git a/src/apps/haproxy/web/mode/backendusage.pm b/src/apps/haproxy/web/mode/backendusage.pm index 4ab2c18dbc..c32b065417 100644 --- a/src/apps/haproxy/web/mode/backendusage.pm +++ b/src/apps/haproxy/web/mode/backendusage.pm @@ -1,5 +1,5 @@ # -# Copyright 2024 Centreon (http://www.centreon.com/) +# Copyright 2025 Centreon (http://www.centreon.com/) # # Centreon is a full-fledged industry-strength solution that meets # the needs in IT infrastructure and application monitoring for diff --git a/src/apps/haproxy/web/mode/frontendusage.pm b/src/apps/haproxy/web/mode/frontendusage.pm index c1494a40e2..5a33c3b7c0 100644 --- a/src/apps/haproxy/web/mode/frontendusage.pm +++ b/src/apps/haproxy/web/mode/frontendusage.pm @@ -1,5 +1,5 @@ # -# Copyright 2024 Centreon (http://www.centreon.com/) +# Copyright 2025 Centreon (http://www.centreon.com/) # # Centreon is a full-fledged industry-strength solution that meets # the needs in IT infrastructure and application monitoring for diff --git a/src/apps/haproxy/web/mode/listobjects.pm b/src/apps/haproxy/web/mode/listobjects.pm index a3960c2fde..4966c90d5b 100644 --- a/src/apps/haproxy/web/mode/listobjects.pm +++ b/src/apps/haproxy/web/mode/listobjects.pm @@ -1,5 +1,5 @@ # -# Copyright 2024 Centreon (http://www.centreon.com/) +# Copyright 2025 Centreon (http://www.centreon.com/) # # Centreon is a full-fledged industry-strength solution that meets # the needs in IT infrastructure and application monitoring for diff --git a/src/apps/haproxy/web/plugin.pm b/src/apps/haproxy/web/plugin.pm index 4bc463bf29..94537011bc 100644 --- a/src/apps/haproxy/web/plugin.pm +++ b/src/apps/haproxy/web/plugin.pm @@ -1,5 +1,5 @@ # -# Copyright 2024 Centreon (http://www.centreon.com/) +# Copyright 2025 Centreon (http://www.centreon.com/) # # Centreon is a full-fledged industry-strength solution that meets # the needs in IT infrastructure and application monitoring for From 9a2d9fd58af40de475747b553bf1023f35caaa9d Mon Sep 17 00:00:00 2001 From: omercier <32134301+omercier@users.noreply.github.com> Date: Mon, 3 Feb 2025 10:57:31 +0100 Subject: [PATCH 7/9] Update src/apps/haproxy/web/mode/backendusage.pm --- src/apps/haproxy/web/mode/backendusage.pm | 24 ++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/apps/haproxy/web/mode/backendusage.pm b/src/apps/haproxy/web/mode/backendusage.pm index c32b065417..cccc6ae772 100644 --- a/src/apps/haproxy/web/mode/backendusage.pm +++ b/src/apps/haproxy/web/mode/backendusage.pm @@ -61,10 +61,28 @@ sub set_counters { my ($self, %options) = @_; $self->{maps_counters_type} = [ - { name => 'backends', type => 3, cb_prefix_output => 'prefix_backend_output', cb_long_output => 'backend_long_output', message_multiple => 'All Backends are ok', indent_long_output => ' ', skipped_code => { -10 => 1 }, + { + name => 'backends', + type => 3, + cb_prefix_output => 'prefix_backend_output', + cb_long_output => 'backend_long_output', + message_multiple => 'All Backends are ok', + indent_long_output => ' ', + skipped_code => { -10 => 1 }, group => [ - { name => 'backend', type => 0, cb_prefix_output => 'prefix_global_backend_output' }, - { name => 'servers', type => 1, display_long => 1, cb_prefix_output => 'prefix_server_output', message_multiple => 'Servers are ok', skipped_code => { -10 => 1 } } + { + name => 'backend', + type => 0, + cb_prefix_output => 'prefix_global_backend_output' + }, + { + name => 'servers', + type => 1, + display_long => 1, + cb_prefix_output => 'prefix_server_output', + message_multiple => 'Servers are ok', + skipped_code => { -10 => 1 } + } ] } ]; From 00bad54bb977f0d73c5efbc75555f97102e03785 Mon Sep 17 00:00:00 2001 From: omercier Date: Tue, 4 Feb 2025 09:33:10 +0100 Subject: [PATCH 8/9] added tests + improved help --- src/apps/haproxy/web/custom/api.pm | 6 +- src/apps/haproxy/web/mode/backendusage.pm | 182 ++++++++++++++++++--- src/apps/haproxy/web/mode/frontendusage.pm | 176 ++++++++++++++++++-- tests/apps/haproxy/web/backendusage.robot | 45 +++++ tests/apps/haproxy/web/frontendusage.robot | 50 ++++++ tests/apps/haproxy/web/mockoon.json | 154 +++++++++++++++++ tests/resources/spellcheck/stopwords.txt | 4 +- 7 files changed, 576 insertions(+), 41 deletions(-) create mode 100644 tests/apps/haproxy/web/backendusage.robot create mode 100644 tests/apps/haproxy/web/frontendusage.robot create mode 100644 tests/apps/haproxy/web/mockoon.json diff --git a/src/apps/haproxy/web/custom/api.pm b/src/apps/haproxy/web/custom/api.pm index 68ec0cc8aa..04a8d82258 100644 --- a/src/apps/haproxy/web/custom/api.pm +++ b/src/apps/haproxy/web/custom/api.pm @@ -164,11 +164,11 @@ HAProxy web stats =item B<--hostname> -IP Addr/FQDN of the web server host +IP address or FQDN of the HAProxy server. =item B<--port> -Port used by web server +Port used by the web server =item B<--proto> @@ -200,7 +200,7 @@ Specify this option if you are accessing a web page using hidden basic authentic =item B<--ntlmv2> -Specify this option if you are accessing a web page using ntlmv2 authentication (use with --credentials and --port options). +Specify this option if you are accessing a web page using NTLMv2 authentication (use with C<--credentials> and C<--port> options). =item B<--timeout> diff --git a/src/apps/haproxy/web/mode/backendusage.pm b/src/apps/haproxy/web/mode/backendusage.pm index cccc6ae772..de4c384bc2 100644 --- a/src/apps/haproxy/web/mode/backendusage.pm +++ b/src/apps/haproxy/web/mode/backendusage.pm @@ -325,36 +325,180 @@ Also display and monitor Servers related to a given backend. =item B<--filter-counters> -Only display some counters (regexp can be used). -Example: --filter-counters='^total-connections$'. +Define which counters should appear in the performance data (metrics). +This option will be treated as a regular expression. + +Example: C<--filter-counters='^total-connections$'>. =item B<--filter-name> -Filter Backend name (can be a regexp). +Define which backends should be monitored based on their names. +This option will be treated as a regular expression. -=item B<--warning-*-status> +=item B<--warning-backend-status> -Define the conditions to match for the status to be WARNING -where '*' can be: 'backend', 'server'. +Define the conditions to match for the backend status to be WARNING. You can use the following variables: %{status}. -Example: --warning-backend-status='%{status} !~ /UP/i' -=item B<--critical-*-status> +Example: C<--warning-backend-status='%{status} !~ /UP/i'> -Define the conditions to match for the status to be CRITICAL (default: '%{status} !~ /UP/i') -where '*' can be: 'backend', 'server'. -You can use the following variables: %{status}. -Example: --critical-backend-status='%{status} !~ /UP/i' +=item B<--critical-backend-status> + +Define the conditions to match for the backend status to be CRITICAL. +Default: C<'%{status} !~ /UP/i'>. +You can use the following variables: C<%{status}>. + +Example: C<--critical-backend-status='%{status} !~ /UP/i'> + +=item B<--warning-server-status> + +Define the conditions to match for the server status to be WARNING. +You can use the following variables: C<%{status}>. + +Example: C<--warning-backend-status='%{status} !~ /UP/i'> + +=item B<--critical-server-status> + +Define the conditions to match for the status to be CRITICAL. Default: C<'%{status} !~ /UP/i'>. +You can use the following variables: C<%{status}>. + +Example: C<--critical-backend-status='%{status} !~ /UP/i'> + +=item B<--warning-backend-current-queue> + +Thresholds. + +=item B<--critical-backend-current-queue> + +Thresholds. + +=item B<--warning-backend-current-session-rate> + +Thresholds. + +=item B<--critical-backend-current-session-rate> + +Thresholds. + +=item B<--warning-backend-max-session-rate> + +Thresholds. + +=item B<--critical-backend-max-session-rate> + +Thresholds. + +=item B<--warning-backend-current-sessions> + +Thresholds. + +=item B<--critical-backend-current-sessions> + +Thresholds. + +=item B<--warning-backend-total-sessions> + +Thresholds. + +=item B<--critical-backend-total-sessions> + +Thresholds. + +=item B<--warning-backend-traffic-in> + +Thresholds in b/s. + +=item B<--critical-backend-traffic-in> + +Thresholds in b/s. + +=item B<--warning-backend-traffic-out> + +Thresholds in b/s. + +=item B<--critical-backend-traffic-out> + +Thresholds in b/s. + +=item B<--warning-backend-denied-requests> + +Thresholds. + +=item B<--critical-backend-denied-requests> + +Thresholds. + +=item B<--warning-backend-denied-responses> + +Thresholds. + +=item B<--critical-backend-denied-responses> + +Thresholds. + +=item B<--warning-backend-connections-errors> + +Thresholds. + +=item B<--critical-backend-connections-errors> + +Thresholds. + +=item B<--warning-backend-responses-errors> + +Thresholds. + +=item B<--critical-backend-responses-errors> + +Thresholds. + +=item B<--warning-server-current-sessions> + +Thresholds. + +=item B<--critical-server-current-sessions> + +Thresholds. + +=item B<--warning-server-current-session-rate> + +Thresholds. + +=item B<--critical-server-current-session-rate> + +Thresholds. + +=item B<--warning-server-max-session-rate> + +Thresholds. + +=item B<--critical-server-max-session-rate> + +Thresholds. + +=item B<--warning-server-denied-responses> + +Thresholds. + +=item B<--critical-server-denied-responses> + +Thresholds. + +=item B<--warning-server-connections-errors> + +Thresholds. + +=item B<--critical-server-connections-errors> + +Thresholds. + +=item B<--warning-server-responses-errors> + +Thresholds. -=item B<--warning-*> B<--critical-*> +=item B<--critical-server-responses-errors> Thresholds. -Can be: 'backend-current-queue', 'backend-current-session-rate', -'backend-max-session-rate', 'backend-current-sessions', 'backend-total-sessions', -'backend-traffic-in' (b/s), 'backend-traffic-out' (b/s), 'backend-denied-requests', 'backend-denied-responses', -'backend-connections-errors', 'backend-responses-errors', 'server-current-sessions', -'server-current-session-rate', 'server-max-session-rate', 'server-denied-responses', -'server-connections-errors', 'server-responses-errors' =back diff --git a/src/apps/haproxy/web/mode/frontendusage.pm b/src/apps/haproxy/web/mode/frontendusage.pm index 5a33c3b7c0..0c4f39535d 100644 --- a/src/apps/haproxy/web/mode/frontendusage.pm +++ b/src/apps/haproxy/web/mode/frontendusage.pm @@ -301,35 +301,175 @@ Also display and monitor listeners related to a given frontend. =item B<--filter-counters> -Only display some counters (regexp can be used). +Define which counters should appear in the performance data (metrics). +This option will be treated as a regular expression. + Example: --filter-counters='^total-connections$'. =item B<--filter-name> -Filter Frontend name (can be a regexp). +Define which frontends should be monitored based on their names. +This option will be treated as a regular expression. + +=item B<--warning-frontend-status> + +Define the conditions to match for the status to be B. + +You can use the following variables: C<%{status}>. + +Example: C<--warning-frontend-status='%{status} !~ /UP/i'> + +=item B<--critical-frontend-status> + +Define the conditions to match for the status to be B. Default: C<%{status} !~ /OPEN/i>. + +You can use the following variables: C<%{status}>. + +Example: C<--critical-frontend-status='%{status} !~ /UP/i'> + +=item B<--warning-listener-status> + +Define the conditions to match for the status to be B + +You can use the following variables: C<%{status}>. + +Example: C<--warning-listener-status='%{status} !~ /UP/i'> + +=item B<--critical-listener-status> + +Define the conditions to match for the status to be B. Default: C<%{status} !~ /OPEN/i>. + +You can use the following variables: C<%{status}>. + +Example: C<--critical-listener-status='%{status} !~ /UP/i'> + +=item B<--warning-frontend-current-session-rate> + +Thresholds. + +=item B<--critical-frontend-current-session-rate> + +Thresholds. + +=item B<--warning-frontend-max-session-rate> + +Thresholds. + +=item B<--critical-frontend-max-session-rate> + +Thresholds. + +=item B<--warning-frontend-current-sessions> + +Thresholds. + +=item B<--critical-frontend-current-sessions> + +Thresholds. + +=item B<--warning-frontend-total-sessions> + +Thresholds. + +=item B<--critical-frontend-total-sessions> + +Thresholds. + +=item B<--warning-frontend-max-sessions> + +Thresholds. + +=item B<--critical-frontend-max-sessions> + +Thresholds. + +=item B<--warning-frontend-traffic-in> + +Thresholds in b/s. -=item B<--warning-*-status> +=item B<--critical-frontend-traffic-in> -Define the conditions to match for the status to be WARNING -where '*' can be: 'frontend', 'listener'. -You can use the following variables: %{status}. -Example: --warning-frontend-status='%{status} !~ /UP/i' +Thresholds in b/s. -=item B<--critical-*-status> +=item B<--warning-frontend-traffic-out> -Define the conditions to match for the status to be CRITICAL (default: '%{status} !~ /OPEN/i') -where '*' can be: 'frontend', 'listener'. -You can use the following variables: %{status}. -Example: --critical-frontend-status='%{status} !~ /UP/i' +Thresholds in b/s. -=item B<--warning-*> B<--critical-*> +=item B<--critical-frontend-traffic-out> + +Thresholds in b/s. + +=item B<--warning-frontend-denied-requests> Thresholds. -Can be: 'frontend-current-session-rate', 'frontend-max-session-rate', 'frontend-current-sessions', -'frontend-total-sessions', 'frontend-max-sessions', 'frontend-traffic-in' (b/s), 'frontend-traffic-out' (b/s), -'frontend-denied-requests', 'frontend-denied-responses', 'frontend-errors-requests', 'listener-current-sessions', -'listener-denied-requests', 'listener-denied-responses', 'listener-errors-requests', -'listener-traffic-in' (b/s), 'listener-traffic-out' (b/s) + +=item B<--critical-frontend-denied-requests> + +Thresholds. + +=item B<--warning-frontend-denied-responses> + +Thresholds. + +=item B<--critical-frontend-denied-responses> + +Thresholds. + +=item B<--warning-frontend-errors-requests> + +Thresholds. + +=item B<--critical-frontend-errors-requests> + +Thresholds. + +=item B<--warning-listener-current-sessions> + +Thresholds. + +=item B<--critical-listener-current-sessions> + +Thresholds. + +=item B<--warning-listener-denied-requests> + +Thresholds. + +=item B<--critical-listener-denied-requests> + +Thresholds. + +=item B<--warning-listener-denied-responses> + +Thresholds. + +=item B<--critical-listener-denied-responses> + +Thresholds. + +=item B<--warning-listener-errors-requests> + +Thresholds. + +=item B<--critical-listener-errors-requests> + +Thresholds. + +=item B<--warning-listener-traffic-in> + +Thresholds in b/s. + +=item B<--critical-listener-traffic-in> + +Thresholds in b/s. + +=item B<--warning-listener-traffic-out> + +Thresholds in b/s. + +=item B<--critical-listener-traffic-out> + +Thresholds in b/s. =back diff --git a/tests/apps/haproxy/web/backendusage.robot b/tests/apps/haproxy/web/backendusage.robot new file mode 100644 index 0000000000..4a53ce0d49 --- /dev/null +++ b/tests/apps/haproxy/web/backendusage.robot @@ -0,0 +1,45 @@ +*** Settings *** +Documentation HAProxy Backend Usage Monitoring + +Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource + +Suite Setup Start Mockoon ${MOCKOON_JSON} +Suite Teardown Stop Mockoon +Test Timeout 120s + + +*** Variables *** +${MOCKOON_JSON} ${CURDIR}${/}mockoon.json +${cmd} ${CENTREON_PLUGINS} +... --plugin=apps::haproxy::web::plugin +... --mode=backend-usage +... --hostname=${HOSTNAME} +... --username='username' +... --password='password' +... --proto='http' +... --port=${APIPORT} + + +*** Test Cases *** +backend-usage ${tc} + [Tags] mockoon restapi + ${command} Catenate + ... ${CMD} + ... --filter-name='${filter_name}' + ... ${extra_options} + + Ctn Run Command And Check Result As Strings ${command} ${expected_result} + + Examples: tc filter_name extra_options expected_result -- + ... 1 STATIC_BG_IMAGE ${EMPTY} OK: Backend 'STATIC_BG_IMAGE' backend status: UP, current queue: 0, current session rate: 0/s, max session rate: 1/s, current sessions: 0, total sessions: 0, traffic in: 0.00 b/s, traffic out: 0.00 b/s, denied requests: 0, denied responses: 0, connection errors: 0, responses errors: 0 | 'STATIC_BG_IMAGE#backend.queue.current.count'=0;;;0; 'STATIC_BG_IMAGE#backend.session.current.rate.countpersecond'=0;;;0; 'STATIC_BG_IMAGE#backend.session.max.rate.countpersecond'=1;;;0; 'STATIC_BG_IMAGE#backend.sessions.current.count'=0;;;0; 'STATIC_BG_IMAGE#backend.sessions.total.count'=0;;;0; 'STATIC_BG_IMAGE#backend.traffic.in.bitpersecond'=0.00b/s;;;0; 'STATIC_BG_IMAGE#backend.traffic.out.bitpersecond'=0.00b/s;;;0; 'STATIC_BG_IMAGE#backend.requests.denied.count'=0;;;0; 'STATIC_BG_IMAGE#backend.responses.denied.count'=0;;;0; 'STATIC_BG_IMAGE#backend.connections.error.count'=0;;;0; 'STATIC_BG_IMAGE#backend.responses.error.count'=0;;;0; + ... 2 STATIC_BG_IMAGE --warning-backend-max-session-rate=0:0 WARNING: Backend 'STATIC_BG_IMAGE' backend max session rate: 1/s | 'STATIC_BG_IMAGE#backend.queue.current.count'=0;;;0; 'STATIC_BG_IMAGE#backend.session.current.rate.countpersecond'=0;;;0; 'STATIC_BG_IMAGE#backend.session.max.rate.countpersecond'=1;0:0;;0; 'STATIC_BG_IMAGE#backend.sessions.current.count'=0;;;0; 'STATIC_BG_IMAGE#backend.sessions.total.count'=0;;;0; 'STATIC_BG_IMAGE#backend.traffic.in.bitpersecond'=0.00b/s;;;0; 'STATIC_BG_IMAGE#backend.traffic.out.bitpersecond'=0.00b/s;;;0; 'STATIC_BG_IMAGE#backend.requests.denied.count'=0;;;0; 'STATIC_BG_IMAGE#backend.responses.denied.count'=0;;;0; 'STATIC_BG_IMAGE#backend.connections.error.count'=0;;;0; 'STATIC_BG_IMAGE#backend.responses.error.count'=0;;;0; + ... 3 STATIC_BG_IMAGE --critical-backend-max-session-rate=0:0 CRITICAL: Backend 'STATIC_BG_IMAGE' backend max session rate: 1/s | 'STATIC_BG_IMAGE#backend.queue.current.count'=0;;;0; 'STATIC_BG_IMAGE#backend.session.current.rate.countpersecond'=0;;;0; 'STATIC_BG_IMAGE#backend.session.max.rate.countpersecond'=1;;0:0;0; 'STATIC_BG_IMAGE#backend.sessions.current.count'=0;;;0; 'STATIC_BG_IMAGE#backend.sessions.total.count'=0;;;0; 'STATIC_BG_IMAGE#backend.traffic.in.bitpersecond'=0.00b/s;;;0; 'STATIC_BG_IMAGE#backend.traffic.out.bitpersecond'=0.00b/s;;;0; 'STATIC_BG_IMAGE#backend.requests.denied.count'=0;;;0; 'STATIC_BG_IMAGE#backend.responses.denied.count'=0;;;0; 'STATIC_BG_IMAGE#backend.connections.error.count'=0;;;0; 'STATIC_BG_IMAGE#backend.responses.error.count'=0;;;0; + ... 4 APP-IHM ${EMPTY} OK: Backend 'APP-IHM' backend status: UP, current queue: 0, current session rate: 1/s, max session rate: 25/s, current sessions: 0, total sessions: 0, traffic in: 0.00 b/s, traffic out: 0.00 b/s, denied requests: 0, denied responses: 0, connection errors: 1, responses errors: 0 | 'APP-IHM#backend.queue.current.count'=0;;;0; 'APP-IHM#backend.session.current.rate.countpersecond'=1;;;0; 'APP-IHM#backend.session.max.rate.countpersecond'=25;;;0; 'APP-IHM#backend.sessions.current.count'=0;;;0; 'APP-IHM#backend.sessions.total.count'=0;;;0; 'APP-IHM#backend.traffic.in.bitpersecond'=0.00b/s;;;0; 'APP-IHM#backend.traffic.out.bitpersecond'=0.00b/s;;;0; 'APP-IHM#backend.requests.denied.count'=0;;;0; 'APP-IHM#backend.responses.denied.count'=0;;;0; 'APP-IHM#backend.connections.error.count'=1;;;0; 'APP-IHM#backend.responses.error.count'=0;;;0; + ... 5 APP-IHM --warning-backend-current-session-rate=0:0 WARNING: Backend 'APP-IHM' backend current session rate: 1/s | 'APP-IHM#backend.queue.current.count'=0;;;0; 'APP-IHM#backend.session.current.rate.countpersecond'=1;0:0;;0; 'APP-IHM#backend.session.max.rate.countpersecond'=25;;;0; 'APP-IHM#backend.sessions.current.count'=0;;;0; 'APP-IHM#backend.sessions.total.count'=0;;;0; 'APP-IHM#backend.traffic.in.bitpersecond'=0.00b/s;;;0; 'APP-IHM#backend.traffic.out.bitpersecond'=0.00b/s;;;0; 'APP-IHM#backend.requests.denied.count'=0;;;0; 'APP-IHM#backend.responses.denied.count'=0;;;0; 'APP-IHM#backend.connections.error.count'=1;;;0; 'APP-IHM#backend.responses.error.count'=0;;;0; + ... 6 APP-IHM --critical-backend-current-session-rate=0:0 CRITICAL: Backend 'APP-IHM' backend current session rate: 1/s | 'APP-IHM#backend.queue.current.count'=0;;;0; 'APP-IHM#backend.session.current.rate.countpersecond'=1;;0:0;0; 'APP-IHM#backend.session.max.rate.countpersecond'=25;;;0; 'APP-IHM#backend.sessions.current.count'=0;;;0; 'APP-IHM#backend.sessions.total.count'=0;;;0; 'APP-IHM#backend.traffic.in.bitpersecond'=0.00b/s;;;0; 'APP-IHM#backend.traffic.out.bitpersecond'=0.00b/s;;;0; 'APP-IHM#backend.requests.denied.count'=0;;;0; 'APP-IHM#backend.responses.denied.count'=0;;;0; 'APP-IHM#backend.connections.error.count'=1;;;0; 'APP-IHM#backend.responses.error.count'=0;;;0; + ... 7 APP-RIA ${EMPTY} OK: Backend 'APP-RIA' backend status: UP, current queue: 0, current session rate: 0/s, max session rate: 0/s, current sessions: 0, total sessions: 0, traffic in: 0.00 b/s, traffic out: 0.00 b/s, denied requests: 0, denied responses: 0, connection errors: 0, responses errors: 0 | 'APP-RIA#backend.queue.current.count'=0;;;0; 'APP-RIA#backend.session.current.rate.countpersecond'=0;;;0; 'APP-RIA#backend.session.max.rate.countpersecond'=0;;;0; 'APP-RIA#backend.sessions.current.count'=0;;;0; 'APP-RIA#backend.sessions.total.count'=0;;;0; 'APP-RIA#backend.traffic.in.bitpersecond'=0.00b/s;;;0; 'APP-RIA#backend.traffic.out.bitpersecond'=0.00b/s;;;0; 'APP-RIA#backend.requests.denied.count'=0;;;0; 'APP-RIA#backend.responses.denied.count'=0;;;0; 'APP-RIA#backend.connections.error.count'=0;;;0; 'APP-RIA#backend.responses.error.count'=0;;;0; + ... 8 APP-RIA --warning-backend-denied-requests=1:1 WARNING: Backend 'APP-RIA' backend denied requests: 0 | 'APP-RIA#backend.queue.current.count'=0;;;0; 'APP-RIA#backend.session.current.rate.countpersecond'=0;;;0; 'APP-RIA#backend.session.max.rate.countpersecond'=0;;;0; 'APP-RIA#backend.sessions.current.count'=0;;;0; 'APP-RIA#backend.sessions.total.count'=0;;;0; 'APP-RIA#backend.traffic.in.bitpersecond'=0.00b/s;;;0; 'APP-RIA#backend.traffic.out.bitpersecond'=0.00b/s;;;0; 'APP-RIA#backend.requests.denied.count'=0;1:1;;0; 'APP-RIA#backend.responses.denied.count'=0;;;0; 'APP-RIA#backend.connections.error.count'=0;;;0; 'APP-RIA#backend.responses.error.count'=0;;;0; + ... 9 APP-RIA --critical-backend-denied-requests=1:1 CRITICAL: Backend 'APP-RIA' backend denied requests: 0 | 'APP-RIA#backend.queue.current.count'=0;;;0; 'APP-RIA#backend.session.current.rate.countpersecond'=0;;;0; 'APP-RIA#backend.session.max.rate.countpersecond'=0;;;0; 'APP-RIA#backend.sessions.current.count'=0;;;0; 'APP-RIA#backend.sessions.total.count'=0;;;0; 'APP-RIA#backend.traffic.in.bitpersecond'=0.00b/s;;;0; 'APP-RIA#backend.traffic.out.bitpersecond'=0.00b/s;;;0; 'APP-RIA#backend.requests.denied.count'=0;;1:1;0; 'APP-RIA#backend.responses.denied.count'=0;;;0; 'APP-RIA#backend.connections.error.count'=0;;;0; 'APP-RIA#backend.responses.error.count'=0;;;0; + + + diff --git a/tests/apps/haproxy/web/frontendusage.robot b/tests/apps/haproxy/web/frontendusage.robot new file mode 100644 index 0000000000..6e499e3a41 --- /dev/null +++ b/tests/apps/haproxy/web/frontendusage.robot @@ -0,0 +1,50 @@ +*** Settings *** +Documentation HAProxy Frontend Usage Monitoring + +Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource + +Suite Setup Start Mockoon ${MOCKOON_JSON} +Suite Teardown Stop Mockoon +Test Timeout 120s + + +*** Variables *** +${MOCKOON_JSON} ${CURDIR}${/}mockoon.json +${cmd} ${CENTREON_PLUGINS} +... --plugin=apps::haproxy::web::plugin +... --mode=frontend-usage +... --hostname=${HOSTNAME} +... --username='username' +... --password='password' +... --proto='http' +... --port=${APIPORT} + + +*** Test Cases *** +frontend-usage ${tc} + [Tags] mockoon restapi + ${command} Catenate + ... ${CMD} + ... --filter-name='${filter_name}' + ... ${extra_options} + + Ctn Run Command And Check Result As Strings ${command} ${expected_result} + + Examples: tc filter_name extra_options expected_result -- + ... 1 ${EMPTY} ${EMPTY} OK: Frontend 'hafrontend' frontend status: OPEN, current session rate: 1/s, max session rate: 6/s, current sessions: 10, total sessions: 3980, max sessions: 16, traffic in: 0.00 b/s, traffic out: 0.00 b/s, denied requests: 0, denied responses: 0, error requests: 42 | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + ... 2 hafrontend ${EMPTY} OK: Frontend 'hafrontend' frontend status: OPEN, current session rate: 1/s, max session rate: 6/s, current sessions: 10, total sessions: 3980, max sessions: 16, traffic in: 0.00 b/s, traffic out: 0.00 b/s, denied requests: 0, denied responses: 0, error requests: 42 | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + ... 3 none ${EMPTY} UNKNOWN: No Frontend found. + ... 4 hafrontend --warning-frontend-current-session-rate=0:0 WARNING: Frontend 'hafrontend' frontend current session rate: 1/s | 'hafrontend#frontend.session.current.rate.countpersecond'=1;0:0;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + ... 5 hafrontend --critical-frontend-current-session-rate=0:0 CRITICAL: Frontend 'hafrontend' frontend current session rate: 1/s | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;0:0;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + ... 6 hafrontend --warning-frontend-max-session-rate=0:0 WARNING: Frontend 'hafrontend' frontend max session rate: 6/s | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;0:0;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + ... 7 hafrontend --critical-frontend-max-session-rate=0:0 CRITICAL: Frontend 'hafrontend' frontend max session rate: 6/s | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;0:0;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + ... 8 hafrontend --warning-frontend-current-sessions=0:0 WARNING: Frontend 'hafrontend' frontend current sessions: 10 | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;0:0;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + ... 9 hafrontend --critical-frontend-current-sessions=0:0 CRITICAL: Frontend 'hafrontend' frontend current sessions: 10 | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;0:0;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + ... 10 hafrontend --warning-frontend-total-sessions=0:0 WARNING: Frontend 'hafrontend' frontend total sessions: 3980 | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;0:0;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + ... 11 hafrontend --critical-frontend-total-sessions=0:0 CRITICAL: Frontend 'hafrontend' frontend total sessions: 3980 | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;0:0;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + + + + + + diff --git a/tests/apps/haproxy/web/mockoon.json b/tests/apps/haproxy/web/mockoon.json new file mode 100644 index 0000000000..73606fb0b3 --- /dev/null +++ b/tests/apps/haproxy/web/mockoon.json @@ -0,0 +1,154 @@ +{ + "uuid": "18c6b01d-a90c-4b23-b0b3-fe8373fce6dc", + "lastMigration": 33, + "name": "Mockoon", + "endpointPrefix": "", + "latency": 0, + "port": 3000, + "hostname": "", + "folders": [], + "routes": [ + { + "uuid": "843586f6-5ead-4ea3-bd48-3a4c8ec3272b", + "type": "http", + "documentation": "", + "method": "get", + "endpoint": "", + "responses": [ + { + "uuid": "420e43ce-824e-4e80-a9a8-d3ac257c0608", + "body": "{}", + "latency": 0, + "statusCode": 200, + "label": "", + "headers": [], + "bodyType": "INLINE", + "filePath": "", + "databucketID": "", + "sendFileAsBody": false, + "rules": [], + "rulesOperator": "OR", + "disableTemplating": false, + "fallbackTo404": false, + "default": true, + "crudKey": "id", + "callbacks": [] + } + ], + "responseMode": null, + "streamingMode": null, + "streamingInterval": 0 + }, + { + "uuid": "bf219176-5880-47ba-b32e-b51004cc32a5", + "type": "http", + "documentation": "", + "method": "get", + "endpoint": "stats;json;", + "responses": [ + { + "uuid": "bf12e240-4fc5-4117-b001-8898d49bafd1", + "body": "[\n [\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 0,\n \"name\": \"pxname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"hafrontend\"\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 1,\n \"name\": \"svname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"FRONTEND\"\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 4,\n \"name\": \"scur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 10\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 5,\n \"name\": \"smax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 16\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 6,\n \"name\": \"slim\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Limit\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2000\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 7,\n \"name\": \"stot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3980\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 8,\n \"name\": \"bin\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 190502571\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 9,\n \"name\": \"bout\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 155033362\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 10,\n \"name\": \"dreq\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 11,\n \"name\": \"dresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 12,\n \"name\": \"ereq\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 42\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 17,\n \"name\": \"status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"OPEN\"\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 26,\n \"name\": \"pid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 27,\n \"name\": \"iid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 28,\n \"name\": \"sid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 32,\n \"name\": \"type\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 33,\n \"name\": \"rate\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Rate\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 34,\n \"name\": \"rate_lim\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Limit\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 35,\n \"name\": \"rate_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 6\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 39,\n \"name\": \"hrsp_1xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 40,\n \"name\": \"hrsp_2xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 12182\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 41,\n \"name\": \"hrsp_3xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 494\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 42,\n \"name\": \"hrsp_4xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 163\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 43,\n \"name\": \"hrsp_5xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 44,\n \"name\": \"hrsp_other\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 46,\n \"name\": \"req_rate\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Rate\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 47,\n \"name\": \"req_rate_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 26\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 48,\n \"name\": \"req_tot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 12841\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 51,\n \"name\": \"comp_in\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 52,\n \"name\": \"comp_out\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 53,\n \"name\": \"comp_byp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 54,\n \"name\": \"comp_rsp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 75,\n \"name\": \"mode\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"http\"\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 77,\n \"name\": \"conn_rate\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Rate\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 78,\n \"name\": \"conn_rate_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 21\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 79,\n \"name\": \"conn_tot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 4271\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 80,\n \"name\": \"intercepted\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1511\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 81,\n \"name\": \"dcon\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 82,\n \"name\": \"dses\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 83,\n \"name\": \"wrew\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 86,\n \"name\": \"cache_lookups\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 87,\n \"name\": \"cache_hits\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 94,\n \"name\": \"eint\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 104,\n \"name\": \"sess_other\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 105,\n \"name\": \"h1sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3980\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 106,\n \"name\": \"h2sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 107,\n \"name\": \"h3sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 108,\n \"name\": \"req_other\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 109,\n \"name\": \"h1req\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 12841\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 110,\n \"name\": \"h2req\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 111,\n \"name\": \"h3req\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 113,\n \"name\": \"ssl_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3222\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 114,\n \"name\": \"ssl_reused_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 181\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 115,\n \"name\": \"ssl_failed_handshake\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 291\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 116,\n \"name\": \"h2_headers_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 117,\n \"name\": \"h2_data_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 118,\n \"name\": \"h2_settings_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 119,\n \"name\": \"h2_rst_stream_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 120,\n \"name\": \"h2_goaway_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 121,\n \"name\": \"h2_detected_conn_protocol_errors\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 122,\n \"name\": \"h2_detected_strm_protocol_errors\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 123,\n \"name\": \"h2_rst_stream_resp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 124,\n \"name\": \"h2_goaway_resp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 125,\n \"name\": \"h2_open_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 126,\n \"name\": \"h2_backend_open_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 127,\n \"name\": \"h2_total_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 128,\n \"name\": \"h2_backend_total_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 129,\n \"name\": \"h1_open_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 10\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 130,\n \"name\": \"h1_open_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 131,\n \"name\": \"h1_total_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3980\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 132,\n \"name\": \"h1_total_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 12799\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 133,\n \"name\": \"h1_bytes_in\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 191110148\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 134,\n \"name\": \"h1_bytes_out\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 155351981\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 135,\n \"name\": \"h1_spliced_bytes_in\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Frontend\",\n \"proxyId\": 2,\n \"id\": 0,\n \"field\": {\n \"pos\": 136,\n \"name\": \"h1_spliced_bytes_out\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n }\n ],\n [\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 0,\n \"name\": \"pxname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"APP-RIA\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 1,\n \"name\": \"svname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"DCERPWEB49\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 2,\n \"name\": \"qcur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 3,\n \"name\": \"qmax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 4,\n \"name\": \"scur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 5,\n \"name\": \"smax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 7,\n \"name\": \"stot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 8,\n \"name\": \"bin\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 9,\n \"name\": \"bout\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 11,\n \"name\": \"dresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 13,\n \"name\": \"econ\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 14,\n \"name\": \"eresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 15,\n \"name\": \"wretr\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 16,\n \"name\": \"wredis\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 17,\n \"name\": \"status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"UP\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 18,\n \"name\": \"weight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 19,\n \"name\": \"act\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 20,\n \"name\": \"bck\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 21,\n \"name\": \"chkfail\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 22,\n \"name\": \"chkdown\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 23,\n \"name\": \"lastchg\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 75315\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 24,\n \"name\": \"downtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 26,\n \"name\": \"pid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 27,\n \"name\": \"iid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 28,\n \"name\": \"sid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 30,\n \"name\": \"lbtot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 32,\n \"name\": \"type\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 33,\n \"name\": \"rate\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Rate\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 35,\n \"name\": \"rate_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 36,\n \"name\": \"check_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"L7OK\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 37,\n \"name\": \"check_code\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 200\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 38,\n \"name\": \"check_duration\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Duration\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 39,\n \"name\": \"hrsp_1xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 40,\n \"name\": \"hrsp_2xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 41,\n \"name\": \"hrsp_3xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 42,\n \"name\": \"hrsp_4xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 43,\n \"name\": \"hrsp_5xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 44,\n \"name\": \"hrsp_other\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 48,\n \"name\": \"req_tot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 49,\n \"name\": \"cli_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 50,\n \"name\": \"srv_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 55,\n \"name\": \"lastsess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"s32\",\n \"value\": -1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 56,\n \"name\": \"last_chk\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 58,\n \"name\": \"qtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 59,\n \"name\": \"ctime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 60,\n \"name\": \"rtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 61,\n \"name\": \"ttime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 65,\n \"name\": \"check_desc\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"Layer7 check passed\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 67,\n \"name\": \"check_rise\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 68,\n \"name\": \"check_fall\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 69,\n \"name\": \"check_health\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 75,\n \"name\": \"mode\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"http\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 83,\n \"name\": \"wrew\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 84,\n \"name\": \"connect\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 85,\n \"name\": \"reuse\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 88,\n \"name\": \"srv_icur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 90,\n \"name\": \"qtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 91,\n \"name\": \"ctime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 92,\n \"name\": \"rtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 93,\n \"name\": \"ttime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 94,\n \"name\": \"eint\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 95,\n \"name\": \"idle_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 96,\n \"name\": \"safe_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 97,\n \"name\": \"used_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 98,\n \"name\": \"need_conn_est\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 99,\n \"name\": \"uweight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 103,\n \"name\": \"srid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 113,\n \"name\": \"ssl_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 114,\n \"name\": \"ssl_reused_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 3,\n \"id\": 1,\n \"field\": {\n \"pos\": 115,\n \"name\": \"ssl_failed_handshake\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n }\n ],\n [\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 0,\n \"name\": \"pxname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"APP-RIA\"\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 1,\n \"name\": \"svname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"BACKEND\"\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 2,\n \"name\": \"qcur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 3,\n \"name\": \"qmax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 4,\n \"name\": \"scur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 5,\n \"name\": \"smax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 6,\n \"name\": \"slim\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Limit\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 200\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 7,\n \"name\": \"stot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 8,\n \"name\": \"bin\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 9,\n \"name\": \"bout\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 10,\n \"name\": \"dreq\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 11,\n \"name\": \"dresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 13,\n \"name\": \"econ\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 14,\n \"name\": \"eresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 15,\n \"name\": \"wretr\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 16,\n \"name\": \"wredis\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 17,\n \"name\": \"status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"UP\"\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 18,\n \"name\": \"weight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 19,\n \"name\": \"act\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 20,\n \"name\": \"bck\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 22,\n \"name\": \"chkdown\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 23,\n \"name\": \"lastchg\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 75315\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 24,\n \"name\": \"downtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 26,\n \"name\": \"pid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 27,\n \"name\": \"iid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 28,\n \"name\": \"sid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 30,\n \"name\": \"lbtot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 32,\n \"name\": \"type\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 33,\n \"name\": \"rate\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 35,\n \"name\": \"rate_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 39,\n \"name\": \"hrsp_1xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 40,\n \"name\": \"hrsp_2xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 41,\n \"name\": \"hrsp_3xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 42,\n \"name\": \"hrsp_4xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 43,\n \"name\": \"hrsp_5xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 44,\n \"name\": \"hrsp_other\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 48,\n \"name\": \"req_tot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 49,\n \"name\": \"cli_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 50,\n \"name\": \"srv_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 51,\n \"name\": \"comp_in\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 52,\n \"name\": \"comp_out\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 53,\n \"name\": \"comp_byp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 54,\n \"name\": \"comp_rsp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 55,\n \"name\": \"lastsess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"s32\",\n \"value\": -1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 58,\n \"name\": \"qtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 59,\n \"name\": \"ctime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 60,\n \"name\": \"rtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 61,\n \"name\": \"ttime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 75,\n \"name\": \"mode\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"http\"\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 83,\n \"name\": \"wrew\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 84,\n \"name\": \"connect\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 85,\n \"name\": \"reuse\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 86,\n \"name\": \"cache_lookups\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 87,\n \"name\": \"cache_hits\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 90,\n \"name\": \"qtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 91,\n \"name\": \"ctime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 92,\n \"name\": \"rtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 93,\n \"name\": \"ttime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 94,\n \"name\": \"eint\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 99,\n \"name\": \"uweight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 100,\n \"name\": \"agg_server_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 101,\n \"name\": \"agg_server_check_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 102,\n \"name\": \"agg_check_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 113,\n \"name\": \"ssl_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 114,\n \"name\": \"ssl_reused_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 115,\n \"name\": \"ssl_failed_handshake\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 116,\n \"name\": \"h2_headers_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 117,\n \"name\": \"h2_data_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 118,\n \"name\": \"h2_settings_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 119,\n \"name\": \"h2_rst_stream_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 120,\n \"name\": \"h2_goaway_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 121,\n \"name\": \"h2_detected_conn_protocol_errors\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 122,\n \"name\": \"h2_detected_strm_protocol_errors\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 123,\n \"name\": \"h2_rst_stream_resp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 124,\n \"name\": \"h2_goaway_resp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 125,\n \"name\": \"h2_open_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 126,\n \"name\": \"h2_backend_open_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 127,\n \"name\": \"h2_total_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 128,\n \"name\": \"h2_backend_total_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 129,\n \"name\": \"h1_open_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 130,\n \"name\": \"h1_open_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 131,\n \"name\": \"h1_total_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3765\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 132,\n \"name\": \"h1_total_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3765\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 133,\n \"name\": \"h1_bytes_in\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 4661070\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 134,\n \"name\": \"h1_bytes_out\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 143070\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 135,\n \"name\": \"h1_spliced_bytes_in\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 3,\n \"id\": 0,\n \"field\": {\n \"pos\": 136,\n \"name\": \"h1_spliced_bytes_out\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n }\n ],\n [\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 0,\n \"name\": \"pxname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"APP-IHM\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 1,\n \"name\": \"svname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"DCERPWEB41_tomcat1\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 2,\n \"name\": \"qcur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 3,\n \"name\": \"qmax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 4,\n \"name\": \"scur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 5,\n \"name\": \"smax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 7,\n \"name\": \"stot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1211\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 8,\n \"name\": \"bin\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 28092816\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 9,\n \"name\": \"bout\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 24317266\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 11,\n \"name\": \"dresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 13,\n \"name\": \"econ\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 14,\n \"name\": \"eresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 15,\n \"name\": \"wretr\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 16,\n \"name\": \"wredis\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 17,\n \"name\": \"status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"UP\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 18,\n \"name\": \"weight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 19,\n \"name\": \"act\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 20,\n \"name\": \"bck\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 21,\n \"name\": \"chkfail\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 22,\n \"name\": \"chkdown\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 23,\n \"name\": \"lastchg\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 75315\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 24,\n \"name\": \"downtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 26,\n \"name\": \"pid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 27,\n \"name\": \"iid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 28,\n \"name\": \"sid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 30,\n \"name\": \"lbtot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1211\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 32,\n \"name\": \"type\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 33,\n \"name\": \"rate\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Rate\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 35,\n \"name\": \"rate_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 36,\n \"name\": \"check_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"L7OK\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 37,\n \"name\": \"check_code\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 200\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 38,\n \"name\": \"check_duration\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Duration\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 39,\n \"name\": \"hrsp_1xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 40,\n \"name\": \"hrsp_2xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1163\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 41,\n \"name\": \"hrsp_3xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 44\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 42,\n \"name\": \"hrsp_4xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 43,\n \"name\": \"hrsp_5xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 44,\n \"name\": \"hrsp_other\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 48,\n \"name\": \"req_tot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1211\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 49,\n \"name\": \"cli_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 50,\n \"name\": \"srv_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 55,\n \"name\": \"lastsess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"s32\",\n \"value\": 12\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 56,\n \"name\": \"last_chk\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 58,\n \"name\": \"qtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 59,\n \"name\": \"ctime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 60,\n \"name\": \"rtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 120\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 61,\n \"name\": \"ttime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 7146\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 65,\n \"name\": \"check_desc\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"Layer7 check passed\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 67,\n \"name\": \"check_rise\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 68,\n \"name\": \"check_fall\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 69,\n \"name\": \"check_health\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 75,\n \"name\": \"mode\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"http\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 83,\n \"name\": \"wrew\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 84,\n \"name\": \"connect\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 558\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 85,\n \"name\": \"reuse\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 653\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 88,\n \"name\": \"srv_icur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 90,\n \"name\": \"qtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 91,\n \"name\": \"ctime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 17\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 92,\n \"name\": \"rtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 25401\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 93,\n \"name\": \"ttime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 286985\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 94,\n \"name\": \"eint\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 95,\n \"name\": \"idle_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 96,\n \"name\": \"safe_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 97,\n \"name\": \"used_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 98,\n \"name\": \"need_conn_est\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 99,\n \"name\": \"uweight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 103,\n \"name\": \"srid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 113,\n \"name\": \"ssl_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 114,\n \"name\": \"ssl_reused_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 1,\n \"field\": {\n \"pos\": 115,\n \"name\": \"ssl_failed_handshake\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n }\n ],\n [\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 0,\n \"name\": \"pxname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"APP-IHM\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 1,\n \"name\": \"svname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"DCERPWEB41_tomcat2\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 2,\n \"name\": \"qcur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 3,\n \"name\": \"qmax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 4,\n \"name\": \"scur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 5,\n \"name\": \"smax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 7,\n \"name\": \"stot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1211\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 8,\n \"name\": \"bin\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 28223007\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 9,\n \"name\": \"bout\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 24289689\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 11,\n \"name\": \"dresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 13,\n \"name\": \"econ\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 14,\n \"name\": \"eresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 15,\n \"name\": \"wretr\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 16,\n \"name\": \"wredis\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 17,\n \"name\": \"status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"UP\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 18,\n \"name\": \"weight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 19,\n \"name\": \"act\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 20,\n \"name\": \"bck\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 21,\n \"name\": \"chkfail\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 22,\n \"name\": \"chkdown\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 23,\n \"name\": \"lastchg\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 75315\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 24,\n \"name\": \"downtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 26,\n \"name\": \"pid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 27,\n \"name\": \"iid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 28,\n \"name\": \"sid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 30,\n \"name\": \"lbtot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1211\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 32,\n \"name\": \"type\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 33,\n \"name\": \"rate\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Rate\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 35,\n \"name\": \"rate_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 5\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 36,\n \"name\": \"check_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"L7OK\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 37,\n \"name\": \"check_code\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 200\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 38,\n \"name\": \"check_duration\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Duration\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 39,\n \"name\": \"hrsp_1xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 40,\n \"name\": \"hrsp_2xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1170\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 41,\n \"name\": \"hrsp_3xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 36\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 42,\n \"name\": \"hrsp_4xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 5\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 43,\n \"name\": \"hrsp_5xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 44,\n \"name\": \"hrsp_other\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 48,\n \"name\": \"req_tot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1211\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 49,\n \"name\": \"cli_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 50,\n \"name\": \"srv_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 55,\n \"name\": \"lastsess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"s32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 56,\n \"name\": \"last_chk\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 58,\n \"name\": \"qtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 59,\n \"name\": \"ctime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 60,\n \"name\": \"rtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 102\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 61,\n \"name\": \"ttime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 7319\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 65,\n \"name\": \"check_desc\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"Layer7 check passed\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 67,\n \"name\": \"check_rise\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 68,\n \"name\": \"check_fall\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 69,\n \"name\": \"check_health\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 75,\n \"name\": \"mode\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"http\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 83,\n \"name\": \"wrew\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 84,\n \"name\": \"connect\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 557\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 85,\n \"name\": \"reuse\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 654\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 88,\n \"name\": \"srv_icur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 90,\n \"name\": \"qtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 91,\n \"name\": \"ctime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 6\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 92,\n \"name\": \"rtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 8749\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 93,\n \"name\": \"ttime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 283296\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 94,\n \"name\": \"eint\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 95,\n \"name\": \"idle_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 96,\n \"name\": \"safe_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 97,\n \"name\": \"used_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 98,\n \"name\": \"need_conn_est\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 99,\n \"name\": \"uweight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 103,\n \"name\": \"srid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 113,\n \"name\": \"ssl_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 114,\n \"name\": \"ssl_reused_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 2,\n \"field\": {\n \"pos\": 115,\n \"name\": \"ssl_failed_handshake\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n }\n ],\n [\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 0,\n \"name\": \"pxname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"APP-IHM\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 1,\n \"name\": \"svname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"DCERPWEB42_tomcat1\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 2,\n \"name\": \"qcur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 3,\n \"name\": \"qmax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 4,\n \"name\": \"scur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 5,\n \"name\": \"smax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 7,\n \"name\": \"stot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1210\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 8,\n \"name\": \"bin\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 28567593\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 9,\n \"name\": \"bout\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 21667124\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 11,\n \"name\": \"dresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 13,\n \"name\": \"econ\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 14,\n \"name\": \"eresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 15,\n \"name\": \"wretr\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 16,\n \"name\": \"wredis\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 17,\n \"name\": \"status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"UP\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 18,\n \"name\": \"weight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 19,\n \"name\": \"act\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 20,\n \"name\": \"bck\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 21,\n \"name\": \"chkfail\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 22,\n \"name\": \"chkdown\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 23,\n \"name\": \"lastchg\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 75315\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 24,\n \"name\": \"downtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 26,\n \"name\": \"pid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 27,\n \"name\": \"iid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 28,\n \"name\": \"sid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 30,\n \"name\": \"lbtot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1210\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 32,\n \"name\": \"type\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 33,\n \"name\": \"rate\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Rate\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 35,\n \"name\": \"rate_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 36,\n \"name\": \"check_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"L7OK\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 37,\n \"name\": \"check_code\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 200\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 38,\n \"name\": \"check_duration\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Duration\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 39,\n \"name\": \"hrsp_1xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 40,\n \"name\": \"hrsp_2xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1168\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 41,\n \"name\": \"hrsp_3xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 39\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 42,\n \"name\": \"hrsp_4xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 43,\n \"name\": \"hrsp_5xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 44,\n \"name\": \"hrsp_other\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 48,\n \"name\": \"req_tot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1210\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 49,\n \"name\": \"cli_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 50,\n \"name\": \"srv_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 55,\n \"name\": \"lastsess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"s32\",\n \"value\": 13\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 56,\n \"name\": \"last_chk\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 58,\n \"name\": \"qtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 59,\n \"name\": \"ctime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 60,\n \"name\": \"rtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 101\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 61,\n \"name\": \"ttime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 8624\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 65,\n \"name\": \"check_desc\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"Layer7 check passed\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 67,\n \"name\": \"check_rise\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 68,\n \"name\": \"check_fall\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 69,\n \"name\": \"check_health\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 75,\n \"name\": \"mode\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"http\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 83,\n \"name\": \"wrew\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 84,\n \"name\": \"connect\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 568\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 85,\n \"name\": \"reuse\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 642\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 88,\n \"name\": \"srv_icur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 90,\n \"name\": \"qtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 91,\n \"name\": \"ctime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 16\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 92,\n \"name\": \"rtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 5800\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 93,\n \"name\": \"ttime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 275924\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 94,\n \"name\": \"eint\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 95,\n \"name\": \"idle_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 96,\n \"name\": \"safe_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 97,\n \"name\": \"used_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 98,\n \"name\": \"need_conn_est\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 99,\n \"name\": \"uweight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 103,\n \"name\": \"srid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 113,\n \"name\": \"ssl_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 114,\n \"name\": \"ssl_reused_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 3,\n \"field\": {\n \"pos\": 115,\n \"name\": \"ssl_failed_handshake\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n }\n ],\n [\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 0,\n \"name\": \"pxname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"APP-IHM\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 1,\n \"name\": \"svname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"DCERPWEB42_tomcat2\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 2,\n \"name\": \"qcur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 3,\n \"name\": \"qmax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 4,\n \"name\": \"scur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 5,\n \"name\": \"smax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 7,\n \"name\": \"stot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1210\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 8,\n \"name\": \"bin\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 38865031\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 9,\n \"name\": \"bout\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 26650593\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 11,\n \"name\": \"dresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 13,\n \"name\": \"econ\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 14,\n \"name\": \"eresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 15,\n \"name\": \"wretr\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 16,\n \"name\": \"wredis\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 17,\n \"name\": \"status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"UP\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 18,\n \"name\": \"weight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 19,\n \"name\": \"act\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 20,\n \"name\": \"bck\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 21,\n \"name\": \"chkfail\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 22,\n \"name\": \"chkdown\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 23,\n \"name\": \"lastchg\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 75315\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 24,\n \"name\": \"downtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 26,\n \"name\": \"pid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 27,\n \"name\": \"iid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 28,\n \"name\": \"sid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 30,\n \"name\": \"lbtot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1210\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 32,\n \"name\": \"type\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 33,\n \"name\": \"rate\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Rate\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 35,\n \"name\": \"rate_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 36,\n \"name\": \"check_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"L7OK\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 37,\n \"name\": \"check_code\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 200\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 38,\n \"name\": \"check_duration\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Duration\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 39,\n \"name\": \"hrsp_1xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 40,\n \"name\": \"hrsp_2xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1171\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 41,\n \"name\": \"hrsp_3xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 35\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 42,\n \"name\": \"hrsp_4xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 43,\n \"name\": \"hrsp_5xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 44,\n \"name\": \"hrsp_other\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 48,\n \"name\": \"req_tot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1210\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 49,\n \"name\": \"cli_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 50,\n \"name\": \"srv_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 55,\n \"name\": \"lastsess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"s32\",\n \"value\": 13\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 56,\n \"name\": \"last_chk\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 58,\n \"name\": \"qtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 59,\n \"name\": \"ctime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 60,\n \"name\": \"rtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 308\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 61,\n \"name\": \"ttime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 6966\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 65,\n \"name\": \"check_desc\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"Layer7 check passed\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 67,\n \"name\": \"check_rise\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 68,\n \"name\": \"check_fall\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 69,\n \"name\": \"check_health\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 75,\n \"name\": \"mode\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"http\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 83,\n \"name\": \"wrew\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 84,\n \"name\": \"connect\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 542\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 85,\n \"name\": \"reuse\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 668\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 88,\n \"name\": \"srv_icur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 90,\n \"name\": \"qtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 91,\n \"name\": \"ctime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 10\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 92,\n \"name\": \"rtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 189754\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 93,\n \"name\": \"ttime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 276231\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 94,\n \"name\": \"eint\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 95,\n \"name\": \"idle_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 96,\n \"name\": \"safe_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 97,\n \"name\": \"used_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 98,\n \"name\": \"need_conn_est\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 99,\n \"name\": \"uweight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 103,\n \"name\": \"srid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 113,\n \"name\": \"ssl_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 114,\n \"name\": \"ssl_reused_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 4,\n \"field\": {\n \"pos\": 115,\n \"name\": \"ssl_failed_handshake\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n }\n ],\n [\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 0,\n \"name\": \"pxname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"APP-IHM\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 1,\n \"name\": \"svname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"DCERPWEB43_tomcat1\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 2,\n \"name\": \"qcur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 3,\n \"name\": \"qmax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 4,\n \"name\": \"scur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 5,\n \"name\": \"smax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 7,\n \"name\": \"stot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1209\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 8,\n \"name\": \"bin\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 28697028\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 9,\n \"name\": \"bout\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 20995655\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 11,\n \"name\": \"dresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 13,\n \"name\": \"econ\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 14,\n \"name\": \"eresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 15,\n \"name\": \"wretr\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 16,\n \"name\": \"wredis\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 17,\n \"name\": \"status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"UP\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 18,\n \"name\": \"weight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 19,\n \"name\": \"act\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 20,\n \"name\": \"bck\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 21,\n \"name\": \"chkfail\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 22,\n \"name\": \"chkdown\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 23,\n \"name\": \"lastchg\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 33988\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 24,\n \"name\": \"downtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 40\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 26,\n \"name\": \"pid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 27,\n \"name\": \"iid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 28,\n \"name\": \"sid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 5\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 30,\n \"name\": \"lbtot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1209\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 32,\n \"name\": \"type\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 33,\n \"name\": \"rate\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Rate\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 35,\n \"name\": \"rate_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 36,\n \"name\": \"check_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"L7OK\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 37,\n \"name\": \"check_code\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 200\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 38,\n \"name\": \"check_duration\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Duration\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 39,\n \"name\": \"hrsp_1xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 40,\n \"name\": \"hrsp_2xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1171\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 41,\n \"name\": \"hrsp_3xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 33\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 42,\n \"name\": \"hrsp_4xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 5\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 43,\n \"name\": \"hrsp_5xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 44,\n \"name\": \"hrsp_other\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 48,\n \"name\": \"req_tot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1209\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 49,\n \"name\": \"cli_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 50,\n \"name\": \"srv_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 55,\n \"name\": \"lastsess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"s32\",\n \"value\": 13\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 56,\n \"name\": \"last_chk\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 58,\n \"name\": \"qtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 59,\n \"name\": \"ctime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 60,\n \"name\": \"rtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 98\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 61,\n \"name\": \"ttime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 6761\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 65,\n \"name\": \"check_desc\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"Layer7 check passed\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 67,\n \"name\": \"check_rise\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 68,\n \"name\": \"check_fall\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 69,\n \"name\": \"check_health\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 75,\n \"name\": \"mode\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"http\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 83,\n \"name\": \"wrew\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 84,\n \"name\": \"connect\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 561\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 85,\n \"name\": \"reuse\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 648\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 88,\n \"name\": \"srv_icur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 90,\n \"name\": \"qtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 91,\n \"name\": \"ctime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 12\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 92,\n \"name\": \"rtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 7302\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 93,\n \"name\": \"ttime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 275874\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 94,\n \"name\": \"eint\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 95,\n \"name\": \"idle_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 96,\n \"name\": \"safe_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 97,\n \"name\": \"used_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 98,\n \"name\": \"need_conn_est\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 99,\n \"name\": \"uweight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 103,\n \"name\": \"srid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 113,\n \"name\": \"ssl_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 114,\n \"name\": \"ssl_reused_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 5,\n \"field\": {\n \"pos\": 115,\n \"name\": \"ssl_failed_handshake\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n }\n ],\n [\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 0,\n \"name\": \"pxname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"APP-IHM\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 1,\n \"name\": \"svname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"DCERPWEB43_tomcat2\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 2,\n \"name\": \"qcur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 3,\n \"name\": \"qmax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 4,\n \"name\": \"scur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 5,\n \"name\": \"smax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 7,\n \"name\": \"stot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1213\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 8,\n \"name\": \"bin\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 29405088\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 9,\n \"name\": \"bout\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 21627009\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 11,\n \"name\": \"dresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 13,\n \"name\": \"econ\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 14,\n \"name\": \"eresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 15,\n \"name\": \"wretr\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 16,\n \"name\": \"wredis\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 17,\n \"name\": \"status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"UP\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 18,\n \"name\": \"weight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 19,\n \"name\": \"act\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 20,\n \"name\": \"bck\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 21,\n \"name\": \"chkfail\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 22,\n \"name\": \"chkdown\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 23,\n \"name\": \"lastchg\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 75315\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 24,\n \"name\": \"downtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 26,\n \"name\": \"pid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 27,\n \"name\": \"iid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 28,\n \"name\": \"sid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 6\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 30,\n \"name\": \"lbtot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1210\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 32,\n \"name\": \"type\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 33,\n \"name\": \"rate\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Rate\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 35,\n \"name\": \"rate_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 5\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 36,\n \"name\": \"check_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"L7OK\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 37,\n \"name\": \"check_code\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 200\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 38,\n \"name\": \"check_duration\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Duration\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 39,\n \"name\": \"hrsp_1xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 40,\n \"name\": \"hrsp_2xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1169\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 41,\n \"name\": \"hrsp_3xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 40\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 42,\n \"name\": \"hrsp_4xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 43,\n \"name\": \"hrsp_5xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 44,\n \"name\": \"hrsp_other\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 48,\n \"name\": \"req_tot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1209\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 49,\n \"name\": \"cli_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 50,\n \"name\": \"srv_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 55,\n \"name\": \"lastsess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"s32\",\n \"value\": 13\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 56,\n \"name\": \"last_chk\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 58,\n \"name\": \"qtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 59,\n \"name\": \"ctime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 60,\n \"name\": \"rtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 111\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 61,\n \"name\": \"ttime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 8429\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 65,\n \"name\": \"check_desc\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"Layer7 check passed\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 67,\n \"name\": \"check_rise\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 68,\n \"name\": \"check_fall\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 69,\n \"name\": \"check_health\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 75,\n \"name\": \"mode\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"http\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 83,\n \"name\": \"wrew\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 84,\n \"name\": \"connect\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 571\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 85,\n \"name\": \"reuse\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 642\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 88,\n \"name\": \"srv_icur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 90,\n \"name\": \"qtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 91,\n \"name\": \"ctime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 10\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 92,\n \"name\": \"rtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 11366\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 93,\n \"name\": \"ttime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 279021\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 94,\n \"name\": \"eint\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 95,\n \"name\": \"idle_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 96,\n \"name\": \"safe_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 97,\n \"name\": \"used_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 98,\n \"name\": \"need_conn_est\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 99,\n \"name\": \"uweight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 103,\n \"name\": \"srid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 113,\n \"name\": \"ssl_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 114,\n \"name\": \"ssl_reused_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 4,\n \"id\": 6,\n \"field\": {\n \"pos\": 115,\n \"name\": \"ssl_failed_handshake\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n }\n ],\n [\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 0,\n \"name\": \"pxname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"APP-IHM\"\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 1,\n \"name\": \"svname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"BACKEND\"\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 2,\n \"name\": \"qcur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 3,\n \"name\": \"qmax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 4,\n \"name\": \"scur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 5,\n \"name\": \"smax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 7\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 6,\n \"name\": \"slim\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Limit\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 200\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 7,\n \"name\": \"stot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 7527\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 8,\n \"name\": \"bin\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 181894863\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 9,\n \"name\": \"bout\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 139584782\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 10,\n \"name\": \"dreq\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 11,\n \"name\": \"dresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 13,\n \"name\": \"econ\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 14,\n \"name\": \"eresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 15,\n \"name\": \"wretr\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 16,\n \"name\": \"wredis\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 17,\n \"name\": \"status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"UP\"\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 18,\n \"name\": \"weight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 6\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 19,\n \"name\": \"act\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 6\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 20,\n \"name\": \"bck\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 22,\n \"name\": \"chkdown\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 23,\n \"name\": \"lastchg\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 75315\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 24,\n \"name\": \"downtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 26,\n \"name\": \"pid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 27,\n \"name\": \"iid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 28,\n \"name\": \"sid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 30,\n \"name\": \"lbtot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 7261\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 32,\n \"name\": \"type\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 33,\n \"name\": \"rate\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 35,\n \"name\": \"rate_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 25\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 39,\n \"name\": \"hrsp_1xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 40,\n \"name\": \"hrsp_2xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 7012\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 41,\n \"name\": \"hrsp_3xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 493\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 42,\n \"name\": \"hrsp_4xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 21\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 43,\n \"name\": \"hrsp_5xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 44,\n \"name\": \"hrsp_other\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 48,\n \"name\": \"req_tot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 7527\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 49,\n \"name\": \"cli_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 7\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 50,\n \"name\": \"srv_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 51,\n \"name\": \"comp_in\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 52,\n \"name\": \"comp_out\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 53,\n \"name\": \"comp_byp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 54,\n \"name\": \"comp_rsp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 55,\n \"name\": \"lastsess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"s32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 58,\n \"name\": \"qtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 59,\n \"name\": \"ctime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 60,\n \"name\": \"rtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 122\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 61,\n \"name\": \"ttime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 9842\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 75,\n \"name\": \"mode\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"http\"\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 83,\n \"name\": \"wrew\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 84,\n \"name\": \"connect\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3357\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 85,\n \"name\": \"reuse\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3907\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 86,\n \"name\": \"cache_lookups\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 87,\n \"name\": \"cache_hits\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 90,\n \"name\": \"qtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 91,\n \"name\": \"ctime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 17\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 92,\n \"name\": \"rtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 189754\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 93,\n \"name\": \"ttime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 286985\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 94,\n \"name\": \"eint\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 99,\n \"name\": \"uweight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 6\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 100,\n \"name\": \"agg_server_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 101,\n \"name\": \"agg_server_check_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 102,\n \"name\": \"agg_check_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 113,\n \"name\": \"ssl_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 114,\n \"name\": \"ssl_reused_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 115,\n \"name\": \"ssl_failed_handshake\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 116,\n \"name\": \"h2_headers_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 117,\n \"name\": \"h2_data_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 118,\n \"name\": \"h2_settings_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 119,\n \"name\": \"h2_rst_stream_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 120,\n \"name\": \"h2_goaway_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 121,\n \"name\": \"h2_detected_conn_protocol_errors\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 122,\n \"name\": \"h2_detected_strm_protocol_errors\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 123,\n \"name\": \"h2_rst_stream_resp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 124,\n \"name\": \"h2_goaway_resp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 125,\n \"name\": \"h2_open_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 126,\n \"name\": \"h2_backend_open_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 127,\n \"name\": \"h2_total_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 128,\n \"name\": \"h2_backend_total_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 129,\n \"name\": \"h1_open_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 5\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 130,\n \"name\": \"h1_open_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 131,\n \"name\": \"h1_total_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 25940\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 132,\n \"name\": \"h1_total_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 29847\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 133,\n \"name\": \"h1_bytes_in\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 147113881\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 134,\n \"name\": \"h1_bytes_out\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 183368341\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 135,\n \"name\": \"h1_spliced_bytes_in\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 4,\n \"id\": 0,\n \"field\": {\n \"pos\": 136,\n \"name\": \"h1_spliced_bytes_out\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n }\n ],\n [\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 0,\n \"name\": \"pxname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"APP-BATCH\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 1,\n \"name\": \"svname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"DCERPWEB41_tomcat3\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 2,\n \"name\": \"qcur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 3,\n \"name\": \"qmax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 4,\n \"name\": \"scur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 5,\n \"name\": \"smax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 7,\n \"name\": \"stot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1251\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 8,\n \"name\": \"bin\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 2849646\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 9,\n \"name\": \"bout\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1965661\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 11,\n \"name\": \"dresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 13,\n \"name\": \"econ\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 14,\n \"name\": \"eresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 15,\n \"name\": \"wretr\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 16,\n \"name\": \"wredis\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 17,\n \"name\": \"status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"UP\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 18,\n \"name\": \"weight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 19,\n \"name\": \"act\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 20,\n \"name\": \"bck\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 21,\n \"name\": \"chkfail\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 22,\n \"name\": \"chkdown\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 23,\n \"name\": \"lastchg\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 75315\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 24,\n \"name\": \"downtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 26,\n \"name\": \"pid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 27,\n \"name\": \"iid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 5\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 28,\n \"name\": \"sid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 30,\n \"name\": \"lbtot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1251\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 32,\n \"name\": \"type\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 33,\n \"name\": \"rate\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Rate\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 35,\n \"name\": \"rate_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 36,\n \"name\": \"check_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"L7OK\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 37,\n \"name\": \"check_code\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 200\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 38,\n \"name\": \"check_duration\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Duration\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 39,\n \"name\": \"hrsp_1xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 40,\n \"name\": \"hrsp_2xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1217\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 41,\n \"name\": \"hrsp_3xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 42,\n \"name\": \"hrsp_4xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 34\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 43,\n \"name\": \"hrsp_5xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 44,\n \"name\": \"hrsp_other\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 48,\n \"name\": \"req_tot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1251\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 49,\n \"name\": \"cli_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 50,\n \"name\": \"srv_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 55,\n \"name\": \"lastsess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"s32\",\n \"value\": 9\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 56,\n \"name\": \"last_chk\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 58,\n \"name\": \"qtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 59,\n \"name\": \"ctime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 60,\n \"name\": \"rtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 678\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 61,\n \"name\": \"ttime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 28150\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 65,\n \"name\": \"check_desc\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"Layer7 check passed\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 67,\n \"name\": \"check_rise\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 68,\n \"name\": \"check_fall\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 69,\n \"name\": \"check_health\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 75,\n \"name\": \"mode\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"http\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 83,\n \"name\": \"wrew\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 84,\n \"name\": \"connect\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 987\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 85,\n \"name\": \"reuse\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 264\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 88,\n \"name\": \"srv_icur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 90,\n \"name\": \"qtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 91,\n \"name\": \"ctime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 92,\n \"name\": \"rtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 9348\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 93,\n \"name\": \"ttime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 275377\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 94,\n \"name\": \"eint\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 95,\n \"name\": \"idle_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 96,\n \"name\": \"safe_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 97,\n \"name\": \"used_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 98,\n \"name\": \"need_conn_est\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 99,\n \"name\": \"uweight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 103,\n \"name\": \"srid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 113,\n \"name\": \"ssl_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 114,\n \"name\": \"ssl_reused_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 1,\n \"field\": {\n \"pos\": 115,\n \"name\": \"ssl_failed_handshake\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n }\n ],\n [\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 0,\n \"name\": \"pxname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"APP-BATCH\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 1,\n \"name\": \"svname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"DCERPWEB42_tomcat3\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 2,\n \"name\": \"qcur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 3,\n \"name\": \"qmax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 4,\n \"name\": \"scur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 5,\n \"name\": \"smax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 7,\n \"name\": \"stot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1251\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 8,\n \"name\": \"bin\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 2724055\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 9,\n \"name\": \"bout\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1911164\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 11,\n \"name\": \"dresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 13,\n \"name\": \"econ\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 14,\n \"name\": \"eresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 15,\n \"name\": \"wretr\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 16,\n \"name\": \"wredis\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 17,\n \"name\": \"status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"UP\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 18,\n \"name\": \"weight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 19,\n \"name\": \"act\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 20,\n \"name\": \"bck\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 21,\n \"name\": \"chkfail\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 22,\n \"name\": \"chkdown\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 23,\n \"name\": \"lastchg\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 75315\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 24,\n \"name\": \"downtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 26,\n \"name\": \"pid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 27,\n \"name\": \"iid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 5\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 28,\n \"name\": \"sid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 30,\n \"name\": \"lbtot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1251\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 32,\n \"name\": \"type\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 33,\n \"name\": \"rate\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Rate\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 35,\n \"name\": \"rate_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 36,\n \"name\": \"check_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"L7OK\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 37,\n \"name\": \"check_code\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 200\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 38,\n \"name\": \"check_duration\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Duration\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 39,\n \"name\": \"hrsp_1xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 40,\n \"name\": \"hrsp_2xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1222\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 41,\n \"name\": \"hrsp_3xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 42,\n \"name\": \"hrsp_4xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 29\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 43,\n \"name\": \"hrsp_5xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 44,\n \"name\": \"hrsp_other\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 48,\n \"name\": \"req_tot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1251\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 49,\n \"name\": \"cli_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 50,\n \"name\": \"srv_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 55,\n \"name\": \"lastsess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"s32\",\n \"value\": 5\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 56,\n \"name\": \"last_chk\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 58,\n \"name\": \"qtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 59,\n \"name\": \"ctime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 60,\n \"name\": \"rtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 620\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 61,\n \"name\": \"ttime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 27330\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 65,\n \"name\": \"check_desc\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"Layer7 check passed\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 67,\n \"name\": \"check_rise\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 68,\n \"name\": \"check_fall\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 69,\n \"name\": \"check_health\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 75,\n \"name\": \"mode\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"http\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 83,\n \"name\": \"wrew\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 84,\n \"name\": \"connect\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 973\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 85,\n \"name\": \"reuse\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 278\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 88,\n \"name\": \"srv_icur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 90,\n \"name\": \"qtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 91,\n \"name\": \"ctime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 92,\n \"name\": \"rtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 6084\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 93,\n \"name\": \"ttime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 138000\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 94,\n \"name\": \"eint\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 95,\n \"name\": \"idle_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 96,\n \"name\": \"safe_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 97,\n \"name\": \"used_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 98,\n \"name\": \"need_conn_est\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 99,\n \"name\": \"uweight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 103,\n \"name\": \"srid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 113,\n \"name\": \"ssl_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 114,\n \"name\": \"ssl_reused_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 2,\n \"field\": {\n \"pos\": 115,\n \"name\": \"ssl_failed_handshake\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n }\n ],\n [\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 0,\n \"name\": \"pxname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"APP-BATCH\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 1,\n \"name\": \"svname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"DCERPWEB43_tomcat3\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 2,\n \"name\": \"qcur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 3,\n \"name\": \"qmax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 4,\n \"name\": \"scur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 5,\n \"name\": \"smax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 7,\n \"name\": \"stot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1250\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 8,\n \"name\": \"bin\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 2731720\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 9,\n \"name\": \"bout\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1980660\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 11,\n \"name\": \"dresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 13,\n \"name\": \"econ\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 14,\n \"name\": \"eresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 15,\n \"name\": \"wretr\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 16,\n \"name\": \"wredis\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 17,\n \"name\": \"status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"UP\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 18,\n \"name\": \"weight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 19,\n \"name\": \"act\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 20,\n \"name\": \"bck\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 21,\n \"name\": \"chkfail\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 22,\n \"name\": \"chkdown\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 23,\n \"name\": \"lastchg\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 75315\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 24,\n \"name\": \"downtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 26,\n \"name\": \"pid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 27,\n \"name\": \"iid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 5\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 28,\n \"name\": \"sid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 30,\n \"name\": \"lbtot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1250\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 32,\n \"name\": \"type\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 33,\n \"name\": \"rate\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Rate\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 35,\n \"name\": \"rate_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 36,\n \"name\": \"check_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"L7OK\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 37,\n \"name\": \"check_code\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 200\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 38,\n \"name\": \"check_duration\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Duration\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 39,\n \"name\": \"hrsp_1xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 40,\n \"name\": \"hrsp_2xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1214\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 41,\n \"name\": \"hrsp_3xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 42,\n \"name\": \"hrsp_4xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 36\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 43,\n \"name\": \"hrsp_5xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 44,\n \"name\": \"hrsp_other\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 48,\n \"name\": \"req_tot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 1250\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 49,\n \"name\": \"cli_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 50,\n \"name\": \"srv_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 55,\n \"name\": \"lastsess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"s32\",\n \"value\": 12\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 56,\n \"name\": \"last_chk\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 58,\n \"name\": \"qtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 59,\n \"name\": \"ctime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 60,\n \"name\": \"rtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 653\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 61,\n \"name\": \"ttime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 26148\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 65,\n \"name\": \"check_desc\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Output\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"Layer7 check passed\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 67,\n \"name\": \"check_rise\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 68,\n \"name\": \"check_fall\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 69,\n \"name\": \"check_health\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 75,\n \"name\": \"mode\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"http\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 83,\n \"name\": \"wrew\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 84,\n \"name\": \"connect\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 985\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 85,\n \"name\": \"reuse\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 265\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 88,\n \"name\": \"srv_icur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 90,\n \"name\": \"qtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 91,\n \"name\": \"ctime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 92,\n \"name\": \"rtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 10046\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 93,\n \"name\": \"ttime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 241642\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 94,\n \"name\": \"eint\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 95,\n \"name\": \"idle_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 96,\n \"name\": \"safe_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 97,\n \"name\": \"used_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 98,\n \"name\": \"need_conn_est\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 99,\n \"name\": \"uweight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 103,\n \"name\": \"srid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 113,\n \"name\": \"ssl_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 114,\n \"name\": \"ssl_reused_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 5,\n \"id\": 3,\n \"field\": {\n \"pos\": 115,\n \"name\": \"ssl_failed_handshake\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n }\n ],\n [\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 0,\n \"name\": \"pxname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"APP-BATCH\"\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 1,\n \"name\": \"svname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"BACKEND\"\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 2,\n \"name\": \"qcur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 3,\n \"name\": \"qmax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 4,\n \"name\": \"scur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 5,\n \"name\": \"smax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 6,\n \"name\": \"slim\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Limit\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 200\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 7,\n \"name\": \"stot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3752\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 8,\n \"name\": \"bin\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 8305421\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 9,\n \"name\": \"bout\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 5857485\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 10,\n \"name\": \"dreq\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 11,\n \"name\": \"dresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 13,\n \"name\": \"econ\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 14,\n \"name\": \"eresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 15,\n \"name\": \"wretr\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 16,\n \"name\": \"wredis\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 17,\n \"name\": \"status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"UP\"\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 18,\n \"name\": \"weight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 19,\n \"name\": \"act\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 20,\n \"name\": \"bck\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 22,\n \"name\": \"chkdown\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 23,\n \"name\": \"lastchg\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 75315\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 24,\n \"name\": \"downtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 26,\n \"name\": \"pid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 27,\n \"name\": \"iid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 5\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 28,\n \"name\": \"sid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 30,\n \"name\": \"lbtot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3752\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 32,\n \"name\": \"type\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 33,\n \"name\": \"rate\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 35,\n \"name\": \"rate_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 4\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 39,\n \"name\": \"hrsp_1xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 40,\n \"name\": \"hrsp_2xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3653\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 41,\n \"name\": \"hrsp_3xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 42,\n \"name\": \"hrsp_4xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 99\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 43,\n \"name\": \"hrsp_5xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 44,\n \"name\": \"hrsp_other\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 48,\n \"name\": \"req_tot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3752\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 49,\n \"name\": \"cli_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 50,\n \"name\": \"srv_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 51,\n \"name\": \"comp_in\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 52,\n \"name\": \"comp_out\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 53,\n \"name\": \"comp_byp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 54,\n \"name\": \"comp_rsp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 55,\n \"name\": \"lastsess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"s32\",\n \"value\": 5\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 58,\n \"name\": \"qtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 59,\n \"name\": \"ctime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 60,\n \"name\": \"rtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 410\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 61,\n \"name\": \"ttime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 30609\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 75,\n \"name\": \"mode\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"http\"\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 83,\n \"name\": \"wrew\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 84,\n \"name\": \"connect\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 2945\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 85,\n \"name\": \"reuse\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 807\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 86,\n \"name\": \"cache_lookups\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 87,\n \"name\": \"cache_hits\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 90,\n \"name\": \"qtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 91,\n \"name\": \"ctime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 92,\n \"name\": \"rtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 10046\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 93,\n \"name\": \"ttime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 275377\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 94,\n \"name\": \"eint\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 99,\n \"name\": \"uweight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 100,\n \"name\": \"agg_server_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 101,\n \"name\": \"agg_server_check_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 102,\n \"name\": \"agg_check_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 113,\n \"name\": \"ssl_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 114,\n \"name\": \"ssl_reused_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 115,\n \"name\": \"ssl_failed_handshake\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 116,\n \"name\": \"h2_headers_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 117,\n \"name\": \"h2_data_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 118,\n \"name\": \"h2_settings_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 119,\n \"name\": \"h2_rst_stream_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 120,\n \"name\": \"h2_goaway_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 121,\n \"name\": \"h2_detected_conn_protocol_errors\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 122,\n \"name\": \"h2_detected_strm_protocol_errors\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 123,\n \"name\": \"h2_rst_stream_resp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 124,\n \"name\": \"h2_goaway_resp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 125,\n \"name\": \"h2_open_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 126,\n \"name\": \"h2_backend_open_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 127,\n \"name\": \"h2_total_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 128,\n \"name\": \"h2_backend_total_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 129,\n \"name\": \"h1_open_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 130,\n \"name\": \"h1_open_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 131,\n \"name\": \"h1_total_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 14236\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 132,\n \"name\": \"h1_total_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 15043\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 133,\n \"name\": \"h1_bytes_in\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 9403968\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 134,\n \"name\": \"h1_bytes_out\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 9059621\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 135,\n \"name\": \"h1_spliced_bytes_in\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 5,\n \"id\": 0,\n \"field\": {\n \"pos\": 136,\n \"name\": \"h1_spliced_bytes_out\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n }\n ],\n [\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 0,\n \"name\": \"pxname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"STATIC_BG_IMAGE\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 1,\n \"name\": \"svname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"NGINX_BG_IMAGE\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 2,\n \"name\": \"qcur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 3,\n \"name\": \"qmax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 4,\n \"name\": \"scur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 5,\n \"name\": \"smax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 7,\n \"name\": \"stot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 9\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 8,\n \"name\": \"bin\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 22693\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 9,\n \"name\": \"bout\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 2934\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 11,\n \"name\": \"dresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 13,\n \"name\": \"econ\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 14,\n \"name\": \"eresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 15,\n \"name\": \"wretr\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 16,\n \"name\": \"wredis\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 17,\n \"name\": \"status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"no check\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 18,\n \"name\": \"weight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 19,\n \"name\": \"act\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 20,\n \"name\": \"bck\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 23,\n \"name\": \"lastchg\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 75315\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 26,\n \"name\": \"pid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 27,\n \"name\": \"iid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 6\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 28,\n \"name\": \"sid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 30,\n \"name\": \"lbtot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 9\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 32,\n \"name\": \"type\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 2\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 33,\n \"name\": \"rate\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Rate\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 35,\n \"name\": \"rate_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 39,\n \"name\": \"hrsp_1xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 40,\n \"name\": \"hrsp_2xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 9\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 41,\n \"name\": \"hrsp_3xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 42,\n \"name\": \"hrsp_4xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 43,\n \"name\": \"hrsp_5xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 44,\n \"name\": \"hrsp_other\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 48,\n \"name\": \"req_tot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 9\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 49,\n \"name\": \"cli_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 50,\n \"name\": \"srv_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 55,\n \"name\": \"lastsess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"s32\",\n \"value\": 2048\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 58,\n \"name\": \"qtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 59,\n \"name\": \"ctime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 60,\n \"name\": \"rtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 61,\n \"name\": \"ttime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 90\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 75,\n \"name\": \"mode\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"http\"\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 83,\n \"name\": \"wrew\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 84,\n \"name\": \"connect\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 9\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 85,\n \"name\": \"reuse\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 88,\n \"name\": \"srv_icur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 90,\n \"name\": \"qtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 91,\n \"name\": \"ctime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 92,\n \"name\": \"rtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 93,\n \"name\": \"ttime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 248\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 94,\n \"name\": \"eint\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 95,\n \"name\": \"idle_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 96,\n \"name\": \"safe_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 97,\n \"name\": \"used_conn_cur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 98,\n \"name\": \"need_conn_est\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 99,\n \"name\": \"uweight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 103,\n \"name\": \"srid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 113,\n \"name\": \"ssl_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 114,\n \"name\": \"ssl_reused_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Server\",\n \"proxyId\": 6,\n \"id\": 1,\n \"field\": {\n \"pos\": 115,\n \"name\": \"ssl_failed_handshake\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n }\n ],\n [\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 0,\n \"name\": \"pxname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"STATIC_BG_IMAGE\"\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 1,\n \"name\": \"svname\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Name\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"BACKEND\"\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 2,\n \"name\": \"qcur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 3,\n \"name\": \"qmax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 4,\n \"name\": \"scur\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 5,\n \"name\": \"smax\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 6,\n \"name\": \"slim\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Limit\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 200\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 7,\n \"name\": \"stot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 9\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 8,\n \"name\": \"bin\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 22693\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 9,\n \"name\": \"bout\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 2934\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 10,\n \"name\": \"dreq\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 11,\n \"name\": \"dresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 13,\n \"name\": \"econ\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 14,\n \"name\": \"eresp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 15,\n \"name\": \"wretr\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 16,\n \"name\": \"wredis\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 17,\n \"name\": \"status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Status\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"UP\"\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 18,\n \"name\": \"weight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 19,\n \"name\": \"act\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 20,\n \"name\": \"bck\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 22,\n \"name\": \"chkdown\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 23,\n \"name\": \"lastchg\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 75315\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 24,\n \"name\": \"downtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 26,\n \"name\": \"pid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 27,\n \"name\": \"iid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 6\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 28,\n \"name\": \"sid\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Key\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 30,\n \"name\": \"lbtot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 9\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 32,\n \"name\": \"type\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 33,\n \"name\": \"rate\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 35,\n \"name\": \"rate_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 39,\n \"name\": \"hrsp_1xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 40,\n \"name\": \"hrsp_2xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 9\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 41,\n \"name\": \"hrsp_3xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 42,\n \"name\": \"hrsp_4xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 43,\n \"name\": \"hrsp_5xx\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 44,\n \"name\": \"hrsp_other\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 48,\n \"name\": \"req_tot\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 9\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 49,\n \"name\": \"cli_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 50,\n \"name\": \"srv_abrt\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 51,\n \"name\": \"comp_in\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 52,\n \"name\": \"comp_out\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 53,\n \"name\": \"comp_byp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 54,\n \"name\": \"comp_rsp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 55,\n \"name\": \"lastsess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Age\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"s32\",\n \"value\": 2048\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 58,\n \"name\": \"qtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 59,\n \"name\": \"ctime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 60,\n \"name\": \"rtime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 61,\n \"name\": \"ttime\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 90\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 75,\n \"name\": \"mode\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Config\",\n \"nature\": \"Gauge\",\n \"scope\": \"Service\"\n },\n \"value\": {\n \"type\": \"str\",\n \"value\": \"http\"\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 83,\n \"name\": \"wrew\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 84,\n \"name\": \"connect\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 9\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 85,\n \"name\": \"reuse\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 86,\n \"name\": \"cache_lookups\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 87,\n \"name\": \"cache_hits\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 90,\n \"name\": \"qtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 91,\n \"name\": \"ctime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 92,\n \"name\": \"rtime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 93,\n \"name\": \"ttime_max\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Max\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 248\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 94,\n \"name\": \"eint\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 99,\n \"name\": \"uweight\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Avg\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 1\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 100,\n \"name\": \"agg_server_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 101,\n \"name\": \"agg_server_check_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 102,\n \"name\": \"agg_check_status\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u32\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 113,\n \"name\": \"ssl_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 114,\n \"name\": \"ssl_reused_sess\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 115,\n \"name\": \"ssl_failed_handshake\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 116,\n \"name\": \"h2_headers_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 117,\n \"name\": \"h2_data_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 118,\n \"name\": \"h2_settings_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 119,\n \"name\": \"h2_rst_stream_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 120,\n \"name\": \"h2_goaway_rcvd\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 121,\n \"name\": \"h2_detected_conn_protocol_errors\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 122,\n \"name\": \"h2_detected_strm_protocol_errors\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 123,\n \"name\": \"h2_rst_stream_resp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 124,\n \"name\": \"h2_goaway_resp\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 125,\n \"name\": \"h2_open_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 126,\n \"name\": \"h2_backend_open_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 127,\n \"name\": \"h2_total_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 128,\n \"name\": \"h2_backend_total_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 129,\n \"name\": \"h1_open_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 130,\n \"name\": \"h1_open_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Gauge\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 131,\n \"name\": \"h1_total_connections\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 9\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 132,\n \"name\": \"h1_total_streams\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 9\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 133,\n \"name\": \"h1_bytes_in\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 3267\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 134,\n \"name\": \"h1_bytes_out\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 23248\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 135,\n \"name\": \"h1_spliced_bytes_in\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n },\n {\n \"objType\": \"Backend\",\n \"proxyId\": 6,\n \"id\": 0,\n \"field\": {\n \"pos\": 136,\n \"name\": \"h1_spliced_bytes_out\"\n },\n \"processNum\": 1,\n \"tags\": {\n \"origin\": \"Metric\",\n \"nature\": \"Counter\",\n \"scope\": \"Process\"\n },\n \"value\": {\n \"type\": \"u64\",\n \"value\": 0\n }\n }\n ]\n]\n", + "latency": 0, + "statusCode": 200, + "label": "", + "headers": [ + { + "key": "access-control-allow-headers", + "value": "Content-Type, Origin, Accept, Authorization, Content-Length, X-Requested-With" + }, + { + "key": "access-control-allow-methods", + "value": "GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS" + }, + { + "key": "access-control-allow-origin", + "value": "*" + }, + { + "key": "content-security-policy", + "value": "default-src 'none'" + }, + { + "key": "content-type", + "value": "text/html; charset=utf-8" + }, + { + "key": "x-content-type-options", + "value": "nosniff" + } + ], + "bodyType": "INLINE", + "filePath": "", + "databucketID": "", + "sendFileAsBody": false, + "rules": [], + "rulesOperator": "OR", + "disableTemplating": false, + "fallbackTo404": false, + "default": false, + "crudKey": "id", + "callbacks": [] + } + ], + "responseMode": null, + "streamingMode": null, + "streamingInterval": 0 + } + ], + "rootChildren": [ + { + "type": "route", + "uuid": "843586f6-5ead-4ea3-bd48-3a4c8ec3272b" + }, + { + "type": "route", + "uuid": "bf219176-5880-47ba-b32e-b51004cc32a5" + } + ], + "proxyMode": false, + "proxyHost": "", + "proxyRemovePrefix": false, + "tlsOptions": { + "enabled": false, + "type": "CERT", + "pfxPath": "", + "certPath": "", + "keyPath": "", + "caPath": "", + "passphrase": "" + }, + "cors": true, + "headers": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Content-Type, Origin, Accept, Authorization, Content-Length, X-Requested-With" + } + ], + "proxyReqHeaders": [ + { + "key": "", + "value": "" + } + ], + "proxyResHeaders": [ + { + "key": "", + "value": "" + } + ], + "data": [], + "callbacks": [] +} \ No newline at end of file diff --git a/tests/resources/spellcheck/stopwords.txt b/tests/resources/spellcheck/stopwords.txt index 6d2fb0416f..d70a90881d 100644 --- a/tests/resources/spellcheck/stopwords.txt +++ b/tests/resources/spellcheck/stopwords.txt @@ -84,9 +84,11 @@ FCCapacity --force-oid Fortigate Fortinet +FQDN FreeBSD frsevent --get-param +HAProxy HashiCorp hashicorpvault HPE @@ -260,11 +262,11 @@ v2 VDSL2 Veeam VeloCloud -Vserver VM VMware VPN vSAN +Vserver vSphere --warning-authserver-clients-timeout --warning-authserver-packets-access-accepts From 73194bb31ce47b982f96f577ac58fee4c54ee642 Mon Sep 17 00:00:00 2001 From: omercier Date: Tue, 4 Feb 2025 09:55:39 +0100 Subject: [PATCH 9/9] fix tests --- tests/apps/haproxy/web/backendusage.robot | 6 +++--- tests/apps/haproxy/web/frontendusage.robot | 24 +++++++++++----------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/tests/apps/haproxy/web/backendusage.robot b/tests/apps/haproxy/web/backendusage.robot index 4a53ce0d49..508e33540e 100644 --- a/tests/apps/haproxy/web/backendusage.robot +++ b/tests/apps/haproxy/web/backendusage.robot @@ -31,13 +31,13 @@ backend-usage ${tc} Ctn Run Command And Check Result As Strings ${command} ${expected_result} Examples: tc filter_name extra_options expected_result -- - ... 1 STATIC_BG_IMAGE ${EMPTY} OK: Backend 'STATIC_BG_IMAGE' backend status: UP, current queue: 0, current session rate: 0/s, max session rate: 1/s, current sessions: 0, total sessions: 0, traffic in: 0.00 b/s, traffic out: 0.00 b/s, denied requests: 0, denied responses: 0, connection errors: 0, responses errors: 0 | 'STATIC_BG_IMAGE#backend.queue.current.count'=0;;;0; 'STATIC_BG_IMAGE#backend.session.current.rate.countpersecond'=0;;;0; 'STATIC_BG_IMAGE#backend.session.max.rate.countpersecond'=1;;;0; 'STATIC_BG_IMAGE#backend.sessions.current.count'=0;;;0; 'STATIC_BG_IMAGE#backend.sessions.total.count'=0;;;0; 'STATIC_BG_IMAGE#backend.traffic.in.bitpersecond'=0.00b/s;;;0; 'STATIC_BG_IMAGE#backend.traffic.out.bitpersecond'=0.00b/s;;;0; 'STATIC_BG_IMAGE#backend.requests.denied.count'=0;;;0; 'STATIC_BG_IMAGE#backend.responses.denied.count'=0;;;0; 'STATIC_BG_IMAGE#backend.connections.error.count'=0;;;0; 'STATIC_BG_IMAGE#backend.responses.error.count'=0;;;0; + ... 1 STATIC_BG_IMAGE ${EMPTY} OK: Backend 'STATIC_BG_IMAGE' backend status: UP, current queue: 0, current session rate: 0/s, max session rate: 1/s, current sessions: 0, backend-total-sessions : Buffer creation, backend-traffic-in : Buffer creation, backend-traffic-out : Buffer creation, denied requests: 0, denied responses: 0, connection errors: 0, responses errors: 0 | 'STATIC_BG_IMAGE#backend.queue.current.count'=0;;;0; 'STATIC_BG_IMAGE#backend.session.current.rate.countpersecond'=0;;;0; 'STATIC_BG_IMAGE#backend.session.max.rate.countpersecond'=1;;;0; 'STATIC_BG_IMAGE#backend.sessions.current.count'=0;;;0; 'STATIC_BG_IMAGE#backend.requests.denied.count'=0;;;0; 'STATIC_BG_IMAGE#backend.responses.denied.count'=0;;;0; 'STATIC_BG_IMAGE#backend.connections.error.count'=0;;;0; 'STATIC_BG_IMAGE#backend.responses.error.count'=0;;;0; ... 2 STATIC_BG_IMAGE --warning-backend-max-session-rate=0:0 WARNING: Backend 'STATIC_BG_IMAGE' backend max session rate: 1/s | 'STATIC_BG_IMAGE#backend.queue.current.count'=0;;;0; 'STATIC_BG_IMAGE#backend.session.current.rate.countpersecond'=0;;;0; 'STATIC_BG_IMAGE#backend.session.max.rate.countpersecond'=1;0:0;;0; 'STATIC_BG_IMAGE#backend.sessions.current.count'=0;;;0; 'STATIC_BG_IMAGE#backend.sessions.total.count'=0;;;0; 'STATIC_BG_IMAGE#backend.traffic.in.bitpersecond'=0.00b/s;;;0; 'STATIC_BG_IMAGE#backend.traffic.out.bitpersecond'=0.00b/s;;;0; 'STATIC_BG_IMAGE#backend.requests.denied.count'=0;;;0; 'STATIC_BG_IMAGE#backend.responses.denied.count'=0;;;0; 'STATIC_BG_IMAGE#backend.connections.error.count'=0;;;0; 'STATIC_BG_IMAGE#backend.responses.error.count'=0;;;0; ... 3 STATIC_BG_IMAGE --critical-backend-max-session-rate=0:0 CRITICAL: Backend 'STATIC_BG_IMAGE' backend max session rate: 1/s | 'STATIC_BG_IMAGE#backend.queue.current.count'=0;;;0; 'STATIC_BG_IMAGE#backend.session.current.rate.countpersecond'=0;;;0; 'STATIC_BG_IMAGE#backend.session.max.rate.countpersecond'=1;;0:0;0; 'STATIC_BG_IMAGE#backend.sessions.current.count'=0;;;0; 'STATIC_BG_IMAGE#backend.sessions.total.count'=0;;;0; 'STATIC_BG_IMAGE#backend.traffic.in.bitpersecond'=0.00b/s;;;0; 'STATIC_BG_IMAGE#backend.traffic.out.bitpersecond'=0.00b/s;;;0; 'STATIC_BG_IMAGE#backend.requests.denied.count'=0;;;0; 'STATIC_BG_IMAGE#backend.responses.denied.count'=0;;;0; 'STATIC_BG_IMAGE#backend.connections.error.count'=0;;;0; 'STATIC_BG_IMAGE#backend.responses.error.count'=0;;;0; - ... 4 APP-IHM ${EMPTY} OK: Backend 'APP-IHM' backend status: UP, current queue: 0, current session rate: 1/s, max session rate: 25/s, current sessions: 0, total sessions: 0, traffic in: 0.00 b/s, traffic out: 0.00 b/s, denied requests: 0, denied responses: 0, connection errors: 1, responses errors: 0 | 'APP-IHM#backend.queue.current.count'=0;;;0; 'APP-IHM#backend.session.current.rate.countpersecond'=1;;;0; 'APP-IHM#backend.session.max.rate.countpersecond'=25;;;0; 'APP-IHM#backend.sessions.current.count'=0;;;0; 'APP-IHM#backend.sessions.total.count'=0;;;0; 'APP-IHM#backend.traffic.in.bitpersecond'=0.00b/s;;;0; 'APP-IHM#backend.traffic.out.bitpersecond'=0.00b/s;;;0; 'APP-IHM#backend.requests.denied.count'=0;;;0; 'APP-IHM#backend.responses.denied.count'=0;;;0; 'APP-IHM#backend.connections.error.count'=1;;;0; 'APP-IHM#backend.responses.error.count'=0;;;0; + ... 4 APP-IHM ${EMPTY} OK: Backend 'APP-IHM' backend status: UP, current queue: 0, current session rate: 1/s, max session rate: 25/s, current sessions: 0, backend-total-sessions : Buffer creation, backend-traffic-in : Buffer creation, backend-traffic-out : Buffer creation, denied requests: 0, denied responses: 0, connection errors: 1, responses errors: 0 | 'APP-IHM#backend.queue.current.count'=0;;;0; 'APP-IHM#backend.session.current.rate.countpersecond'=1;;;0; 'APP-IHM#backend.session.max.rate.countpersecond'=25;;;0; 'APP-IHM#backend.sessions.current.count'=0;;;0; 'APP-IHM#backend.requests.denied.count'=0;;;0; 'APP-IHM#backend.responses.denied.count'=0;;;0; 'APP-IHM#backend.connections.error.count'=1;;;0; 'APP-IHM#backend.responses.error.count'=0;;;0; ... 5 APP-IHM --warning-backend-current-session-rate=0:0 WARNING: Backend 'APP-IHM' backend current session rate: 1/s | 'APP-IHM#backend.queue.current.count'=0;;;0; 'APP-IHM#backend.session.current.rate.countpersecond'=1;0:0;;0; 'APP-IHM#backend.session.max.rate.countpersecond'=25;;;0; 'APP-IHM#backend.sessions.current.count'=0;;;0; 'APP-IHM#backend.sessions.total.count'=0;;;0; 'APP-IHM#backend.traffic.in.bitpersecond'=0.00b/s;;;0; 'APP-IHM#backend.traffic.out.bitpersecond'=0.00b/s;;;0; 'APP-IHM#backend.requests.denied.count'=0;;;0; 'APP-IHM#backend.responses.denied.count'=0;;;0; 'APP-IHM#backend.connections.error.count'=1;;;0; 'APP-IHM#backend.responses.error.count'=0;;;0; ... 6 APP-IHM --critical-backend-current-session-rate=0:0 CRITICAL: Backend 'APP-IHM' backend current session rate: 1/s | 'APP-IHM#backend.queue.current.count'=0;;;0; 'APP-IHM#backend.session.current.rate.countpersecond'=1;;0:0;0; 'APP-IHM#backend.session.max.rate.countpersecond'=25;;;0; 'APP-IHM#backend.sessions.current.count'=0;;;0; 'APP-IHM#backend.sessions.total.count'=0;;;0; 'APP-IHM#backend.traffic.in.bitpersecond'=0.00b/s;;;0; 'APP-IHM#backend.traffic.out.bitpersecond'=0.00b/s;;;0; 'APP-IHM#backend.requests.denied.count'=0;;;0; 'APP-IHM#backend.responses.denied.count'=0;;;0; 'APP-IHM#backend.connections.error.count'=1;;;0; 'APP-IHM#backend.responses.error.count'=0;;;0; - ... 7 APP-RIA ${EMPTY} OK: Backend 'APP-RIA' backend status: UP, current queue: 0, current session rate: 0/s, max session rate: 0/s, current sessions: 0, total sessions: 0, traffic in: 0.00 b/s, traffic out: 0.00 b/s, denied requests: 0, denied responses: 0, connection errors: 0, responses errors: 0 | 'APP-RIA#backend.queue.current.count'=0;;;0; 'APP-RIA#backend.session.current.rate.countpersecond'=0;;;0; 'APP-RIA#backend.session.max.rate.countpersecond'=0;;;0; 'APP-RIA#backend.sessions.current.count'=0;;;0; 'APP-RIA#backend.sessions.total.count'=0;;;0; 'APP-RIA#backend.traffic.in.bitpersecond'=0.00b/s;;;0; 'APP-RIA#backend.traffic.out.bitpersecond'=0.00b/s;;;0; 'APP-RIA#backend.requests.denied.count'=0;;;0; 'APP-RIA#backend.responses.denied.count'=0;;;0; 'APP-RIA#backend.connections.error.count'=0;;;0; 'APP-RIA#backend.responses.error.count'=0;;;0; + ... 7 APP-RIA ${EMPTY} OK: Backend 'APP-RIA' backend status: UP, current queue: 0, current session rate: 0/s, max session rate: 0/s, current sessions: 0, backend-total-sessions : Buffer creation, backend-traffic-in : Buffer creation, backend-traffic-out : Buffer creation, denied requests: 0, denied responses: 0, connection errors: 0, responses errors: 0 | 'APP-RIA#backend.queue.current.count'=0;;;0; 'APP-RIA#backend.session.current.rate.countpersecond'=0;;;0; 'APP-RIA#backend.session.max.rate.countpersecond'=0;;;0; 'APP-RIA#backend.sessions.current.count'=0;;;0; 'APP-RIA#backend.requests.denied.count'=0;;;0; 'APP-RIA#backend.responses.denied.count'=0;;;0; 'APP-RIA#backend.connections.error.count'=0;;;0; 'APP-RIA#backend.responses.error.count'=0;;;0; ... 8 APP-RIA --warning-backend-denied-requests=1:1 WARNING: Backend 'APP-RIA' backend denied requests: 0 | 'APP-RIA#backend.queue.current.count'=0;;;0; 'APP-RIA#backend.session.current.rate.countpersecond'=0;;;0; 'APP-RIA#backend.session.max.rate.countpersecond'=0;;;0; 'APP-RIA#backend.sessions.current.count'=0;;;0; 'APP-RIA#backend.sessions.total.count'=0;;;0; 'APP-RIA#backend.traffic.in.bitpersecond'=0.00b/s;;;0; 'APP-RIA#backend.traffic.out.bitpersecond'=0.00b/s;;;0; 'APP-RIA#backend.requests.denied.count'=0;1:1;;0; 'APP-RIA#backend.responses.denied.count'=0;;;0; 'APP-RIA#backend.connections.error.count'=0;;;0; 'APP-RIA#backend.responses.error.count'=0;;;0; ... 9 APP-RIA --critical-backend-denied-requests=1:1 CRITICAL: Backend 'APP-RIA' backend denied requests: 0 | 'APP-RIA#backend.queue.current.count'=0;;;0; 'APP-RIA#backend.session.current.rate.countpersecond'=0;;;0; 'APP-RIA#backend.session.max.rate.countpersecond'=0;;;0; 'APP-RIA#backend.sessions.current.count'=0;;;0; 'APP-RIA#backend.sessions.total.count'=0;;;0; 'APP-RIA#backend.traffic.in.bitpersecond'=0.00b/s;;;0; 'APP-RIA#backend.traffic.out.bitpersecond'=0.00b/s;;;0; 'APP-RIA#backend.requests.denied.count'=0;;1:1;0; 'APP-RIA#backend.responses.denied.count'=0;;;0; 'APP-RIA#backend.connections.error.count'=0;;;0; 'APP-RIA#backend.responses.error.count'=0;;;0; diff --git a/tests/apps/haproxy/web/frontendusage.robot b/tests/apps/haproxy/web/frontendusage.robot index 6e499e3a41..d31ad434ef 100644 --- a/tests/apps/haproxy/web/frontendusage.robot +++ b/tests/apps/haproxy/web/frontendusage.robot @@ -30,18 +30,18 @@ frontend-usage ${tc} Ctn Run Command And Check Result As Strings ${command} ${expected_result} - Examples: tc filter_name extra_options expected_result -- - ... 1 ${EMPTY} ${EMPTY} OK: Frontend 'hafrontend' frontend status: OPEN, current session rate: 1/s, max session rate: 6/s, current sessions: 10, total sessions: 3980, max sessions: 16, traffic in: 0.00 b/s, traffic out: 0.00 b/s, denied requests: 0, denied responses: 0, error requests: 42 | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; - ... 2 hafrontend ${EMPTY} OK: Frontend 'hafrontend' frontend status: OPEN, current session rate: 1/s, max session rate: 6/s, current sessions: 10, total sessions: 3980, max sessions: 16, traffic in: 0.00 b/s, traffic out: 0.00 b/s, denied requests: 0, denied responses: 0, error requests: 42 | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; - ... 3 none ${EMPTY} UNKNOWN: No Frontend found. - ... 4 hafrontend --warning-frontend-current-session-rate=0:0 WARNING: Frontend 'hafrontend' frontend current session rate: 1/s | 'hafrontend#frontend.session.current.rate.countpersecond'=1;0:0;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; - ... 5 hafrontend --critical-frontend-current-session-rate=0:0 CRITICAL: Frontend 'hafrontend' frontend current session rate: 1/s | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;0:0;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; - ... 6 hafrontend --warning-frontend-max-session-rate=0:0 WARNING: Frontend 'hafrontend' frontend max session rate: 6/s | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;0:0;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; - ... 7 hafrontend --critical-frontend-max-session-rate=0:0 CRITICAL: Frontend 'hafrontend' frontend max session rate: 6/s | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;0:0;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; - ... 8 hafrontend --warning-frontend-current-sessions=0:0 WARNING: Frontend 'hafrontend' frontend current sessions: 10 | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;0:0;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; - ... 9 hafrontend --critical-frontend-current-sessions=0:0 CRITICAL: Frontend 'hafrontend' frontend current sessions: 10 | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;0:0;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; - ... 10 hafrontend --warning-frontend-total-sessions=0:0 WARNING: Frontend 'hafrontend' frontend total sessions: 3980 | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;0:0;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; - ... 11 hafrontend --critical-frontend-total-sessions=0:0 CRITICAL: Frontend 'hafrontend' frontend total sessions: 3980 | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;0:0;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + Examples: tc filter_name extra_options expected_result -- + ... 1 ${EMPTY} ${EMPTY} OK: Frontend 'hafrontend' frontend status: OPEN, current session rate: 1/s, max session rate: 6/s, current sessions: 10, total sessions: 3980, max sessions: 16, frontend-traffic-in : Buffer creation, frontend-traffic-out : Buffer creation, denied requests: 0, denied responses: 0, error requests: 42 | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + ... 2 hafrontend ${EMPTY} OK: Frontend 'hafrontend' frontend status: OPEN, current session rate: 1/s, max session rate: 6/s, current sessions: 10, total sessions: 3980, max sessions: 16, frontend-traffic-in : Buffer creation, frontend-traffic-out : Buffer creation, denied requests: 0, denied responses: 0, error requests: 42 | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + ... 3 none ${EMPTY} UNKNOWN: No Frontend found. + ... 4 hafrontend --warning-frontend-current-session-rate=0:0 WARNING: Frontend 'hafrontend' frontend current session rate: 1/s | 'hafrontend#frontend.session.current.rate.countpersecond'=1;0:0;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + ... 5 hafrontend --critical-frontend-current-session-rate=0:0 CRITICAL: Frontend 'hafrontend' frontend current session rate: 1/s | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;0:0;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + ... 6 hafrontend --warning-frontend-max-session-rate=0:0 WARNING: Frontend 'hafrontend' frontend max session rate: 6/s | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;0:0;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + ... 7 hafrontend --critical-frontend-max-session-rate=0:0 CRITICAL: Frontend 'hafrontend' frontend max session rate: 6/s | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;0:0;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + ... 8 hafrontend --warning-frontend-current-sessions=0:0 WARNING: Frontend 'hafrontend' frontend current sessions: 10 | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;0:0;;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + ... 9 hafrontend --critical-frontend-current-sessions=0:0 CRITICAL: Frontend 'hafrontend' frontend current sessions: 10 | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;0:0;0; 'hafrontend#frontend.sessions.total.count'=3980;;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + ... 10 hafrontend --warning-frontend-total-sessions=0:0 WARNING: Frontend 'hafrontend' frontend total sessions: 3980 | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;0:0;;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0; + ... 11 hafrontend --critical-frontend-total-sessions=0:0 CRITICAL: Frontend 'hafrontend' frontend total sessions: 3980 | 'hafrontend#frontend.session.current.rate.countpersecond'=1;;;0; 'hafrontend#frontend.session.max.rate.countpersecond'=6;;;0; 'hafrontend#frontend.sessions.current.count'=10;;;0; 'hafrontend#frontend.sessions.total.count'=3980;;0:0;0; 'hafrontend#frontend.sessions.maximum.count'=16;;;0; 'hafrontend#frontend.traffic.in.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.traffic.out.bitpersecond'=0.00b/s;;;0; 'hafrontend#frontend.requests.denied.count'=0;;;0; 'hafrontend#frontend.responses.denied.count'=0;;;0; 'hafrontend#frontend.requests.error.count'=42;;;0;