mirror of
https://github.com/centreon/centreon-plugins.git
synced 2025-09-25 18:58:39 +02:00
feat(apps::monitoring::latencetech::restapi): new pack apps monitoring latencetech restapi (#5706)
Co-authored-by: thibaults-centreon <tscheitenberger@centreon.com> Co-authored-by: omercier <32134301+omercier@users.noreply.github.com>
This commit is contained in:
parent
120ba8513b
commit
f823feb70c
1
.gitignore
vendored
1
.gitignore
vendored
@ -3,3 +3,4 @@ output.xml
|
||||
report.html
|
||||
.editorconfig
|
||||
.idea
|
||||
.venv
|
||||
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"dependencies": [
|
||||
]
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
{
|
||||
"pkg_name": "centreon-plugin-Applications-Monitoring-Latencetech-Restapi",
|
||||
"pkg_summary": "Centreon Plugin LatenceTech Restapi",
|
||||
"plugin_name": "centreon_latencetech_restapi.pl",
|
||||
"files": [
|
||||
"centreon/plugins/script_custom.pm",
|
||||
"apps/monitoring/latencetech/restapi/"
|
||||
]
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"dependencies": [
|
||||
]
|
||||
}
|
205
src/apps/monitoring/latencetech/restapi/custom/api.pm
Normal file
205
src/apps/monitoring/latencetech/restapi/custom/api.pm
Normal file
@ -0,0 +1,205 @@
|
||||
#
|
||||
# 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
|
||||
# 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::monitoring::latencetech::restapi::custom::api;
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use centreon::plugins::http;
|
||||
|
||||
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 => {
|
||||
'agent-id:s' => { name => 'agent_id' },
|
||||
'api-key:s' => { name => 'api_key' },
|
||||
'api-path:s' => { name => 'api_path' },
|
||||
'customer-id:s' => { name => 'customer_id' },
|
||||
'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->{hostname} = $self->{option_results}->{hostname};
|
||||
$self->{customer_id} = $self->{option_results}->{customer_id};
|
||||
$self->{agent_id} = $self->{option_results}->{agent_id};
|
||||
$self->{api_key} = $self->{option_results}->{api_key};
|
||||
$self->{api_path} = $self->{option_results}->{api_path} // '/api/v1';
|
||||
$self->{port} = $self->{option_results}->{port} // '12099';
|
||||
$self->{proto} = $self->{option_results}->{proto} // 'https';
|
||||
$self->{timeout} = $self->{option_results}->{timeout} // 10;
|
||||
$self->{unknown_http_status} = $self->{option_results}->{unknown_http_status} // '%{http_code} < 200 or %{http_code} >= 300';
|
||||
$self->{warning_http_status} = $self->{option_results}->{warning_http_status} // '';
|
||||
$self->{critical_http_status} = $self->{option_results}->{critical_http_status} // '';
|
||||
|
||||
if (centreon::plugins::misc::is_empty($self->{hostname})) {
|
||||
$self->{output}->add_option_msg(short_msg => "Need to specify --hostname option.");
|
||||
$self->{output}->option_exit();
|
||||
}
|
||||
if (centreon::plugins::misc::is_empty($self->{customer_id})) {
|
||||
$self->{output}->add_option_msg(short_msg => "Need to specify --customer-id option.");
|
||||
$self->{output}->option_exit();
|
||||
}
|
||||
if (centreon::plugins::misc::is_empty($self->{api_key})) {
|
||||
$self->{output}->add_option_msg(short_msg => "Need to specify --api-key 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}->{proto} = $self->{proto};
|
||||
$self->{option_results}->{port} = $self->{port};
|
||||
}
|
||||
|
||||
sub settings {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
$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}->add_header(key => 'x-api-key', value => $self->{api_key});
|
||||
$self->{http}->set_options(%{$self->{option_results}});
|
||||
}
|
||||
|
||||
sub request_api {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
$self->settings();
|
||||
|
||||
my ($json, $response);
|
||||
my $get_param = [ "customer_id=$self->{customer_id}" ];
|
||||
if (defined($self->{option_results}->{agent_id}) && $self->{option_results}->{agent_id} ne '') {
|
||||
push(@$get_param, "agent_id=$self->{option_results}->{agent_id}");
|
||||
}
|
||||
if (defined($options{get_param})) {
|
||||
push(@$get_param, @{$options{get_param}});
|
||||
}
|
||||
|
||||
$response = $self->{http}->request(
|
||||
get_param => $get_param,
|
||||
method => $options{method},
|
||||
url_path => $self->{api_path} . $options{endpoint},
|
||||
unknown_status => $self->{unknown_http_status},
|
||||
warning_status => $self->{warning_http_status},
|
||||
critical_status => $self->{critical_http_status}
|
||||
);
|
||||
|
||||
if ($self->{http}->get_code() < 200 || $self->{http}->get_code() >= 300) {
|
||||
$self->{output}->add_option_msg(short_msg => "API returns empty content [code: '" . $self->{http}->get_code() . "'] [message: '" . $self->{http}->get_message() . "']");
|
||||
$self->{output}->output_add(long_msg => $response);
|
||||
$self->{output}->option_exit();
|
||||
}
|
||||
|
||||
$json = centreon::plugins::misc::json_decode($response);
|
||||
|
||||
return $json;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
__END__
|
||||
|
||||
=head1 NAME
|
||||
|
||||
LatenceTech Rest API.
|
||||
|
||||
=head1 REST API OPTIONS
|
||||
|
||||
LatenceTech Rest API.
|
||||
|
||||
=over 8
|
||||
|
||||
=item B<--hostname>
|
||||
|
||||
Set Latencetech hostname or IP address.
|
||||
|
||||
=item B<--port>
|
||||
|
||||
Port used (default: 12099).
|
||||
|
||||
=item B<--proto>
|
||||
|
||||
Specify https if needed (default: 'https').
|
||||
|
||||
=item B<--api-path>
|
||||
|
||||
Set API path (default: '/api/v1').
|
||||
|
||||
=item B<--api-key>
|
||||
|
||||
Set API key (mandatory).
|
||||
|
||||
=item B<--customer-id>
|
||||
|
||||
Set cutomer/network ID (mandatory).
|
||||
|
||||
=item B<--agent-id>
|
||||
|
||||
Set Agent ID (for modes that require it).
|
||||
|
||||
=item B<--timeout>
|
||||
|
||||
Set timeout in seconds (default: 10).
|
||||
|
||||
=back
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
B<custom>.
|
||||
|
||||
=cut
|
496
src/apps/monitoring/latencetech/restapi/mode/connectivity.pm
Normal file
496
src/apps/monitoring/latencetech/restapi/mode/connectivity.pm
Normal file
@ -0,0 +1,496 @@
|
||||
#
|
||||
# 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
|
||||
# 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::monitoring::latencetech::restapi::mode::connectivity;
|
||||
|
||||
use base qw(centreon::plugins::templates::counter);
|
||||
use centreon::plugins::templates::catalog_functions qw(catalog_status_threshold_ng);
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
sub set_counters {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
$self->{maps_counters_type} = [
|
||||
{ name => 'kpis', type => 1, cb_prefix_output => 'prefix_output', message_multiple => 'All KPIs are OK', skipped_code => { -10 => 1 } }
|
||||
];
|
||||
|
||||
$self->{maps_counters}->{kpis} = [
|
||||
{ label => 'tcp-response-time', nlabel => 'tcp.response.time.milliseconds', set => {
|
||||
key_values => [ { name => 'tcpMs' }, { name => 'display' } ],
|
||||
output_template => 'TCP Response Time: %.2fms',
|
||||
perfdatas => [
|
||||
{ value => 'tcpMs',
|
||||
template => '%.2f',
|
||||
min => 0,
|
||||
unit => 'ms',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'udp-response-time', nlabel => 'udp.response.time.milliseconds', set => {
|
||||
key_values => [ { name => 'udpMs' }, { name => 'display' } ],
|
||||
output_template => 'UDP Response Time: %.2fms',
|
||||
perfdatas => [
|
||||
{ value => 'udpMs',
|
||||
template => '%.2f',
|
||||
min => 0,
|
||||
unit => 'ms',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'http-response-time', nlabel => 'http.response.time.milliseconds', set => {
|
||||
key_values => [ { name => 'httpMs' }, { name => 'display' } ],
|
||||
output_template => 'HTTP Response Time: %.2fms',
|
||||
perfdatas => [
|
||||
{ value => 'httpMs',
|
||||
template => '%.2f',
|
||||
min => 0,
|
||||
unit => 'ms',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'https-response-time', nlabel => 'https.response.time.milliseconds', set => {
|
||||
key_values => [ { name => 'httpsMs' }, { name => 'display' } ],
|
||||
output_template => 'HTTPS Response Time: %.2fms',
|
||||
perfdatas => [
|
||||
{ value => 'httpsMs',
|
||||
template => '%.2f',
|
||||
min => 0,
|
||||
unit => 'ms',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'icmp-response-time', nlabel => 'icmp.response.time.milliseconds', set => {
|
||||
key_values => [ { name => 'icmpMs' }, { name => 'display' } ],
|
||||
output_template => 'ICMP Response Time: %.2fms',
|
||||
perfdatas => [
|
||||
{ value => 'icmpMs',
|
||||
template => '%.2f',
|
||||
min => 0,
|
||||
unit => 'ms',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'twamp-response-time', nlabel => 'twamp.response.time.milliseconds', set => {
|
||||
key_values => [ { name => 'twampMs' }, { name => 'display' } ],
|
||||
output_template => 'TWAMP Response Time: %.2fms',
|
||||
perfdatas => [
|
||||
{ value => 'twampMs',
|
||||
template => '%.2f',
|
||||
min => 0,
|
||||
unit => 'ms',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'download-bandwidth', nlabel => 'download.bandwidth.bps', set => {
|
||||
key_values => [ { name => 'downloadThroughputMbps' }, { name => 'display' } ],
|
||||
output_template => 'DL bandwidth: %s%sps',
|
||||
output_change_bytes => 2,
|
||||
perfdatas => [
|
||||
{ value => 'downloadThroughputMbps',
|
||||
template => '%s',
|
||||
min => 0,
|
||||
unit => 'bps',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'upload-bandwidth', nlabel => 'upload.bandwidth.bps', set => {
|
||||
key_values => [ { name => 'uploadThroughputMbps' }, { name => 'display' } ],
|
||||
output_template => 'UL bandwidth: %s%sps',
|
||||
output_change_bytes => 2,
|
||||
perfdatas => [
|
||||
{ value => 'uploadThroughputMbps',
|
||||
template => '%s',
|
||||
min => 0,
|
||||
unit => 'bps',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'jitter-time', nlabel => 'jitter.time.milliseconds', set => {
|
||||
key_values => [ { name => 'jitterMs' }, { name => 'display' } ],
|
||||
output_template => 'Jitter Time: %.2fms',
|
||||
perfdatas => [
|
||||
{ value => 'jitterMs',
|
||||
template => '%.2f',
|
||||
min => 0,
|
||||
unit => 'ms',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'application-latency', nlabel => 'application.latency.milliseconds', set => {
|
||||
key_values => [ { name => 'applicationLatencyMs' }, { name => 'display' } ],
|
||||
output_template => 'Application latency: %.2fms',
|
||||
perfdatas => [
|
||||
{ value => 'applicationLatencyMs',
|
||||
template => '%.2f',
|
||||
min => 0,
|
||||
unit => 'ms',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'network-latency', nlabel => 'network.latency.milliseconds', set => {
|
||||
key_values => [ { name => 'networkLatencyMs' }, { name => 'display' } ],
|
||||
output_template => 'Network latency: %.2fms',
|
||||
perfdatas => [
|
||||
{ value => 'networkLatencyMs',
|
||||
template => '%.2f',
|
||||
min => 0,
|
||||
unit => 'ms',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'expected-latency', nlabel => 'expected.latency.milliseconds', set => {
|
||||
key_values => [ { name => 'expectedLatencyMS' }, { name => 'display' } ],
|
||||
output_template => 'Expected latency: %.2fms',
|
||||
perfdatas => [
|
||||
{ value => 'expectedLatencyMS',
|
||||
template => '%.2f',
|
||||
min => 0,
|
||||
unit => 'ms',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'network-stability-prct', nlabel => 'network.stability.percentage', set => {
|
||||
key_values => [ { name => 'networkStabilityPercent' }, { name => 'display' } ],
|
||||
output_template => 'Network stability: %.2f%%',
|
||||
perfdatas => [
|
||||
{ value => 'networkStabilityPercent',
|
||||
template => '%.2f',
|
||||
min => 0,
|
||||
max => 100,
|
||||
unit => '%',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'expected-stability-prct', nlabel => 'expected.stability.percentage', set => {
|
||||
key_values => [ { name => 'expectedStabilityPercent' }, { name => 'display' } ],
|
||||
output_template => 'Expected stability: %.2f%%',
|
||||
perfdatas => [
|
||||
{ value => 'expectedStabilityPercent',
|
||||
template => '%.2f',
|
||||
min => 0,
|
||||
max => 100,
|
||||
unit => '%',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'volatility-prct', nlabel => 'volatility.percentage', set => {
|
||||
key_values => [ { name => 'volatilityPercent' }, { name => 'display' } ],
|
||||
output_template => 'Volatility: %.2f%%',
|
||||
perfdatas => [
|
||||
{ value => 'volatilityPercent',
|
||||
template => '%.2f',
|
||||
min => 0,
|
||||
max => 100,
|
||||
unit => '%',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'qoe-rate', nlabel => 'qoe.rate.value', set => {
|
||||
key_values => [ { name => 'qualityOfExperience' }, { name => 'display' } ],
|
||||
output_template => 'Quality of Experience: %.3f',
|
||||
perfdatas => [
|
||||
{ value => 'qualityOfExperience',
|
||||
template => '%.3f',
|
||||
min => 0,
|
||||
max => 5,
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'packet-loss-prct', nlabel => 'packetloss.rate.percentage', set => {
|
||||
key_values => [ { name => 'packetLossRatePercent' }, { name => 'display' } ],
|
||||
output_template => 'Packet loss rate: %.2f%%',
|
||||
perfdatas => [
|
||||
{ value => 'packetLossRatePercent',
|
||||
template => '%.2f',
|
||||
min => 0,
|
||||
max => 100,
|
||||
unit => '%',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'expected-packet-loss-prct', nlabel => 'expected.packetloss.rate.percentage', set => {
|
||||
key_values => [ { name => 'expectedPacketLossPercent' }, { name => 'display' } ],
|
||||
output_template => 'Expected packet loss rate: %.2f%%',
|
||||
perfdatas => [
|
||||
{ value => 'expectedPacketLossPercent',
|
||||
template => '%.2f',
|
||||
min => 0,
|
||||
max => 100,
|
||||
unit => '%',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'connectivity-health',
|
||||
type => 2,
|
||||
warning_default => '%{connectivityHealth} =~ "Warning"',
|
||||
critical_default => '%{connectivityHealth} =~ "Need Attention"',
|
||||
set => {
|
||||
key_values => [ { name => 'connectivityHealth' }, { name => 'display' } ],
|
||||
closure_custom_output => $self->can('custom_status_output'),
|
||||
closure_custom_threshold_check => \&catalog_status_threshold_ng
|
||||
}
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
sub prefix_output {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
return "Agent '" . $options{instance_value}->{display} . "' ";
|
||||
}
|
||||
|
||||
sub custom_status_output {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
return 'Connectivity health: "' . $self->{result_values}->{connectivityHealth} . '"';
|
||||
}
|
||||
|
||||
sub new {
|
||||
my ($class, %options) = @_;
|
||||
my $self = $class->SUPER::new(package => __PACKAGE__, %options, force_new_perfdata => 1);
|
||||
bless $self, $class;
|
||||
|
||||
return $self;
|
||||
}
|
||||
|
||||
sub manage_selection {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
my $results = $options{custom}->request_api(endpoint => '/ci');
|
||||
$self->{kpis}->{$results->{AgentID}}->{display} = $results->{AgentID} . '-' . $results->{Attributes}->{agentName};
|
||||
foreach my $kpi (keys %{$results->{KPIs}}) {
|
||||
if ($kpi eq 'downloadThroughputMbps' || $kpi eq 'uploadThroughputMbps') {
|
||||
my $value = centreon::plugins::misc::convert_bytes(value => $results->{KPIs}->{$kpi}, unit => 'Mb', network => 'true');
|
||||
$self->{kpis}->{$results->{AgentID}}->{$kpi} = $value;
|
||||
} else {
|
||||
$self->{kpis}->{$results->{AgentID}}->{$kpi} = $results->{KPIs}->{$kpi};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
__END__
|
||||
|
||||
=head1 MODE
|
||||
|
||||
Check agent connectivity statistics.
|
||||
|
||||
=over 8
|
||||
|
||||
=item B<--agent-id>
|
||||
|
||||
Set the ID of the agent (mandatory option).
|
||||
|
||||
=item B<--warning-tcp-response-time>
|
||||
|
||||
Warning thresholds for TCP response time in milliseconds.
|
||||
|
||||
=item B<--critical-tcp-response-time>
|
||||
|
||||
Critical thresholds for TCP response time in milliseconds.
|
||||
|
||||
=item B<--warning-udp-response-time>
|
||||
|
||||
Warning thresholds for UDP response time in milliseconds.
|
||||
|
||||
=item B<--critical-udp-response-time>
|
||||
|
||||
Critical thresholds for UDP response time in milliseconds.
|
||||
|
||||
=item B<--warning-http-response-time>
|
||||
|
||||
Warning thresholds for HTTP response time in milliseconds.
|
||||
|
||||
=item B<--critical-http-response-time>
|
||||
|
||||
Critical thresholds for HTTP response time in milliseconds.
|
||||
|
||||
=item B<--warning-https-response-time>
|
||||
|
||||
Warning thresholds for HTTPS response time in milliseconds.
|
||||
|
||||
=item B<--critical-https-response-time>
|
||||
|
||||
Critical thresholds for HTTPS response time in milliseconds.
|
||||
|
||||
=item B<--warning-icmp-response-time>
|
||||
|
||||
Warning thresholds for ICMP response time in milliseconds.
|
||||
|
||||
=item B<--critical-icmp-response-time>
|
||||
|
||||
Critical thresholds for ICMP response time in milliseconds.
|
||||
|
||||
=item B<--warning-twamp-response-time>
|
||||
|
||||
Warning thresholds for TWAMP response time in milliseconds.
|
||||
|
||||
=item B<--critical-twamp-response-time>
|
||||
|
||||
Critical thresholds for TWAMP response time in milliseconds.
|
||||
|
||||
=item B<--warning-download-bandwidth>
|
||||
|
||||
Warning thresholds for download bandwidth in bps.
|
||||
|
||||
=item B<--critical-download-bandwidth>
|
||||
|
||||
Critical thresholds for download bandwidth in bps.
|
||||
|
||||
=item B<--warning-upload-bandwidth>
|
||||
|
||||
Warning thresholds for upload bandwidth in bps.
|
||||
|
||||
=item B<--critical-upload-bandwidth>
|
||||
|
||||
Critical thresholds for upload bandwidth in bps.
|
||||
|
||||
=item B<--warning-jitter-time>
|
||||
|
||||
Warning thresholds for jitter time in milliseconds.
|
||||
|
||||
=item B<--critical-jitter-time>
|
||||
|
||||
Critical thresholds for jitter time in milliseconds.
|
||||
|
||||
=item B<--warning-application-latency>
|
||||
|
||||
Warning thresholds for application latency in milliseconds.
|
||||
|
||||
=item B<--critical-application-latency>
|
||||
|
||||
Critical thresholds for application latency in milliseconds.
|
||||
|
||||
=item B<--warning-network-latency>
|
||||
|
||||
Warning thresholds for network latency in milliseconds.
|
||||
|
||||
=item B<--critical-network-latency>
|
||||
|
||||
Critical thresholds for network latency in milliseconds.
|
||||
|
||||
=item B<--warning-expected-latency>
|
||||
|
||||
Warning thresholds for expected latency in milliseconds.
|
||||
|
||||
=item B<--critical-expected-latency>
|
||||
|
||||
Critical thresholds for expected latency in milliseconds.
|
||||
|
||||
=item B<--warning-network-stability-prct>
|
||||
|
||||
Warning thresholds for network stability percentage.
|
||||
|
||||
=item B<--critical-network-stability-prct>
|
||||
|
||||
Critical thresholds for network stability percentage.
|
||||
|
||||
=item B<--warning-expected-stability-prct>
|
||||
|
||||
Warning thresholds for expected stability percentage.
|
||||
|
||||
=item B<--critical-expected-stability-prct>
|
||||
|
||||
Critical thresholds for expected stability percentage.
|
||||
|
||||
=item B<--warning-volatility-prct>
|
||||
|
||||
Warning thresholds for volatility percentage.
|
||||
|
||||
=item B<--critical-volatility-prct>
|
||||
|
||||
Critical thresholds for volatility percentage.
|
||||
|
||||
=item B<--warning-qoe-rate>
|
||||
|
||||
Warning thresholds for Quality of Experience rate.
|
||||
|
||||
=item B<--critical-qoe-rate>
|
||||
|
||||
Critical thresholds for Quality of Experience rate.
|
||||
|
||||
=item B<--warning-packet-loss-prct>
|
||||
|
||||
Warning thresholds for packet loss percentage.
|
||||
|
||||
=item B<--critical-packet-loss-prct>
|
||||
|
||||
Critical thresholds for packet loss percentage.
|
||||
|
||||
=item B<--warning-expected-packet-loss-prct>
|
||||
|
||||
Warning thresholds for expected packet loss percentage.
|
||||
|
||||
=item B<--critical-expected-packet-loss-prct>
|
||||
|
||||
Critical thresholds for expected packet loss percentage.
|
||||
|
||||
=item B<--warning-connectivity-health>
|
||||
|
||||
Define the conditions to match for the connectivity status to be WARNING.
|
||||
(default: '%{connectivityHealth} =~ "Warning"').
|
||||
|
||||
=item B<--critical-connectivity-health>
|
||||
|
||||
Define the conditions to match for the connectivity status to be CRITICAL.
|
||||
(default: '%{connectivityHealth} =~ "Need Attention"').
|
||||
|
||||
=back
|
||||
|
||||
=cut
|
93
src/apps/monitoring/latencetech/restapi/mode/discovery.pm
Normal file
93
src/apps/monitoring/latencetech/restapi/mode/discovery.pm
Normal file
@ -0,0 +1,93 @@
|
||||
#
|
||||
# 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
|
||||
# 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::monitoring::latencetech::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' }
|
||||
});
|
||||
|
||||
return $self;
|
||||
}
|
||||
|
||||
sub check_options {
|
||||
my ($self, %options) = @_;
|
||||
$self->SUPER::init(%options);
|
||||
}
|
||||
|
||||
sub run {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
my $disco_stats;
|
||||
$disco_stats->{start_time} = time();
|
||||
|
||||
my @get_param = [ 'metadata=true' ];
|
||||
my $results = $options{custom}->request_api(
|
||||
endpoint => '/agents',
|
||||
get_param => @get_param,
|
||||
method => 'GET',
|
||||
);
|
||||
|
||||
$disco_stats->{end_time} = time();
|
||||
$disco_stats->{duration} = $disco_stats->{end_time} - $disco_stats->{start_time};
|
||||
$disco_stats->{discovered_items} = scalar(@{$results->{agents}});
|
||||
$disco_stats->{results} = $results->{agents};
|
||||
|
||||
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
|
||||
|
||||
LatenceTech agents discovery.
|
||||
|
||||
=over 8
|
||||
|
||||
=back
|
||||
|
||||
=cut
|
104
src/apps/monitoring/latencetech/restapi/mode/forecast.pm
Normal file
104
src/apps/monitoring/latencetech/restapi/mode/forecast.pm
Normal file
@ -0,0 +1,104 @@
|
||||
#
|
||||
# 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
|
||||
# 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::monitoring::latencetech::restapi::mode::forecast;
|
||||
|
||||
use base qw(centreon::plugins::templates::counter);
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
sub prefix_output {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
return "Agent '" . $options{instance_value}->{display} . "' ";
|
||||
}
|
||||
|
||||
sub custom_forecast_output {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
return sprintf('Projected latency %.2fms (forecasting interval: %.2fms, confidence level: %s)',
|
||||
$self->{result_values}->{projectedLatencyMs}, $self->{result_values}->{forecastingIntervalMs}, $self->{result_values}->{confidenceLevel});
|
||||
}
|
||||
|
||||
sub set_counters {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
$self->{maps_counters_type} = [
|
||||
{ name => 'global', type => 0, cb_prefix_output => 'prefix_output' }
|
||||
];
|
||||
|
||||
$self->{maps_counters}->{global} = [
|
||||
{ label => 'projected-latency', nlabel => 'latency.projected.time.milliseconds', set => {
|
||||
key_values => [ { name => 'projectedLatencyMs' }, { name => 'display' }, { name => 'confidenceLevel' }, { name => 'forecastingIntervalMs' }],
|
||||
closure_custom_output => $self->can('custom_forecast_output'),
|
||||
perfdatas => [
|
||||
{ value => 'projectedLatencyMs', template => '%.2f',
|
||||
min => 0, unit => 'ms', label_extra_instance => 1, instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
sub new {
|
||||
my ($class, %options) = @_;
|
||||
my $self = $class->SUPER::new(package => __PACKAGE__, %options, force_new_perfdata => 1);
|
||||
bless $self, $class;
|
||||
|
||||
return $self;
|
||||
}
|
||||
|
||||
sub manage_selection {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
$self->{global} = {};
|
||||
my $results = $options{custom}->request_api(endpoint => '/forecast');
|
||||
$self->{global}->{display} = $results->{agentID};
|
||||
foreach my $kpi (keys %{$results}) {
|
||||
$self->{global}->{$kpi} = $results->{$kpi};
|
||||
}
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
__END__
|
||||
|
||||
=head1 MODE
|
||||
|
||||
Check agent forecast statistics.
|
||||
|
||||
=over 8
|
||||
|
||||
=item B<--agent-id>
|
||||
|
||||
Set the ID of the agent (mandatory option).
|
||||
|
||||
=item B<--warning-projected-latency>
|
||||
|
||||
Warning thresholds for projected latency.
|
||||
|
||||
=item B<--critical-projected-latency>
|
||||
|
||||
Critical thresholds for projected latency.
|
||||
|
||||
=back
|
||||
|
||||
=cut
|
173
src/apps/monitoring/latencetech/restapi/mode/latency.pm
Normal file
173
src/apps/monitoring/latencetech/restapi/mode/latency.pm
Normal file
@ -0,0 +1,173 @@
|
||||
#
|
||||
# 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
|
||||
# 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::monitoring::latencetech::restapi::mode::latency;
|
||||
|
||||
use base qw(centreon::plugins::templates::counter);
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
sub set_counters {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
$self->{maps_counters_type} = [
|
||||
{ name => 'latency', type => 1, cb_prefix_output => 'prefix_output', message_multiple => 'All latencies are OK', skipped_code => { -10 => 1 } }
|
||||
];
|
||||
|
||||
$self->{maps_counters}->{latency} = [
|
||||
{ label => 'latency-average', nlabel => 'latency.average.milliseconds', set => {
|
||||
key_values => [ { name => 'latency_average' }, { name => 'points' }, { name => 'display' },{ name => 'protocol' } ],
|
||||
output_template => 'average: %.2fms',
|
||||
perfdatas => [
|
||||
{ value => 'latency_average', template => '%.2f',
|
||||
min => 0, unit => 'ms', label_extra_instance => 1, instance_use => 'protocol' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'latency-minimum', nlabel => 'latency.minimum.milliseconds', set => {
|
||||
key_values => [ { name => 'latency_minimum' }, { name => 'protocol' } ],
|
||||
output_template => 'minimum: %.2fms',
|
||||
perfdatas => [
|
||||
{ value => 'latency_minimum', template => '%.2f',
|
||||
min => 0, unit => 'ms', label_extra_instance => 1, instance_use => 'protocol' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'latency-maximum', nlabel => 'latency.maximum.milliseconds', set => {
|
||||
key_values => [ { name => 'latency_maximum' }, { name => 'protocol' } ],
|
||||
output_template => 'maximum: %.2fms',
|
||||
perfdatas => [
|
||||
{ value => 'latency_maximum', template => '%.2f',
|
||||
min => 0, unit => 'ms', label_extra_instance => 1, instance_use => 'protocol' },
|
||||
],
|
||||
}
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
sub prefix_output {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
return sprintf('Latency for Agent %s, Protocol %s (%s points): ', $options{instance_value}->{display}, $options{instance_value}->{protocol}, $options{instance_value}->{points});
|
||||
}
|
||||
|
||||
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-protocol:s' => { name => 'filter_protocol' },
|
||||
'timerange:s' => { name => 'time_range', default => '300'}
|
||||
});
|
||||
|
||||
return $self;
|
||||
}
|
||||
|
||||
sub check_options {
|
||||
my ($self, %options) = @_;
|
||||
$self->SUPER::check_options(%options);
|
||||
}
|
||||
|
||||
sub manage_selection {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
foreach my $protocol ('tcp', 'udp', 'http', 'https', 'icmp', 'twamp') {
|
||||
next if (defined($self->{option_results}->{filter_protocol}) && $self->{option_results}->{filter_protocol} ne '' &&
|
||||
$protocol !~ /$self->{option_results}->{filter_protocol}/i);
|
||||
|
||||
my @get_param = [
|
||||
"protocol=$protocol",
|
||||
"time_range=$self->{option_results}->{time_range}"
|
||||
];
|
||||
|
||||
my $results = $options{custom}->request_api(endpoint => '/latency', get_param => @get_param);
|
||||
|
||||
foreach my $timeserie (@{$results}) {
|
||||
$self->{latency}->{$protocol}->{display} = $timeserie->{agentID};
|
||||
$self->{latency}->{$protocol}->{protocol} = $timeserie->{measurement};
|
||||
$self->{timeseries}->{$protocol}->{points}++;
|
||||
$self->{timeseries}->{$protocol}->{total} += $timeserie->{value};
|
||||
$self->{timeseries}->{$protocol}->{metrics}->{minimum} = $timeserie->{value}
|
||||
if (!defined($self->{timeseries}->{$protocol}->{metrics}->{minimum}) || $timeserie->{value} < $self->{timeseries}->{$protocol}->{metrics}->{minimum});
|
||||
$self->{timeseries}->{$protocol}->{metrics}->{maximum} = $timeserie->{value}
|
||||
if (!defined($self->{timeseries}->{$protocol}->{metrics}->{maximum}) || $timeserie->{value} > $self->{timeseries}->{$protocol}->{metrics}->{maximum});
|
||||
}
|
||||
$self->{timeseries}->{$protocol}->{metrics}->{average} = $self->{timeseries}->{$protocol}->{total} / $self->{timeseries}->{$protocol}->{points}++;
|
||||
$self->{latency}->{$protocol}->{points} = $self->{timeseries}->{$protocol}->{points};
|
||||
|
||||
foreach (keys %{$self->{timeseries}->{$protocol}->{metrics}}) {
|
||||
$self->{latency}->{$protocol}->{"latency_" . $_} = $self->{timeseries}->{$protocol}->{metrics}->{$_};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
__END__
|
||||
|
||||
=head1 MODE
|
||||
|
||||
Check agent latency statistics.
|
||||
|
||||
=over 8
|
||||
|
||||
=item B<--agent-id>
|
||||
|
||||
Set the ID of the agent (mandatory option).
|
||||
|
||||
=item B<--filter-protocol>
|
||||
|
||||
Filter protocol if needed (can be a regexp)
|
||||
Accepted values are C<tcp>, C<udp>, C<http>, C<https>, C<icmp>, C<twamp>.
|
||||
|
||||
=item B<--timerange>
|
||||
|
||||
Choose a timerange of values on wich datas shoud be aggregated (in seconds).
|
||||
(default: '300')
|
||||
|
||||
=item B<--warning-latency-average>
|
||||
|
||||
Warning thresholds for average latency.
|
||||
|
||||
=item B<--critical-latency-average>
|
||||
|
||||
Critical thresholds for average latency.
|
||||
|
||||
=item B<--warning-latency-minimum>
|
||||
|
||||
Warning thresholds for minimum latency.
|
||||
|
||||
=item B<--critical-latency-minimum>
|
||||
|
||||
Critical thresholds for minimum latency.
|
||||
|
||||
=item B<--warning-latency-maximum>
|
||||
|
||||
Warning thresholds for maximum latency.
|
||||
|
||||
=item B<--critical-latency-maximum>
|
||||
|
||||
Critical thresholds for maximum latency.
|
||||
|
||||
=back
|
||||
|
||||
=cut
|
150
src/apps/monitoring/latencetech/restapi/mode/radio.pm
Normal file
150
src/apps/monitoring/latencetech/restapi/mode/radio.pm
Normal file
@ -0,0 +1,150 @@
|
||||
#
|
||||
# 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
|
||||
# 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::monitoring::latencetech::restapi::mode::radio;
|
||||
|
||||
use base qw(centreon::plugins::templates::counter);
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
sub set_counters {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
$self->{maps_counters_type} = [
|
||||
{ name => 'global', type => 0, cb_prefix_output => 'prefix_output' }
|
||||
];
|
||||
|
||||
$self->{maps_counters}->{global} = [
|
||||
{ label => 'snr-dbm', nlabel => 'signal.noise.ratio.db', set => {
|
||||
key_values => [ { name => 'SINR_dB' }, { name => 'display' } ],
|
||||
output_template => 'Signal noise ratio: %.2fdb',
|
||||
perfdatas => [
|
||||
{ value => 'SINR_dB', template => '%.2f',
|
||||
unit => 'dbm', label_extra_instance => 1, instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'rssi-dbm', nlabel => 'received.signalstrength.indicator.dbm', set => {
|
||||
key_values => [ { name => 'RSSI_dBm' }, { name => 'display' } ],
|
||||
output_template => 'Received Signal Strength Indicator: %.2fdbm',
|
||||
perfdatas => [
|
||||
{ value => 'RSSI_dBm', template => '%.2f',
|
||||
unit => 'dbm', label_extra_instance => 1, instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'rsrp-dbm', nlabel => 'reference.signalreceive.power.dbm', set => {
|
||||
key_values => [ { name => 'RSRP_dBm' }, { name => 'display' } ],
|
||||
output_template => 'Reference signal receive power: %.2fdbm',
|
||||
perfdatas => [
|
||||
{ value => 'RSRP_dBm', template => '%.2f',
|
||||
unit => 'dbm', label_extra_instance => 1, instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'rsrq-db', nlabel => 'reference.signalreceive.quality.dbm', set => {
|
||||
key_values => [ { name => 'RSRQ_dB' }, { name => 'display' } ],
|
||||
output_template => 'Reference signal receive quality: %.2fdb',
|
||||
perfdatas => [
|
||||
{ value => 'RSRQ_dB', template => '%.2f',
|
||||
unit => 'db', label_extra_instance => 1, instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
sub prefix_output {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
return "Agent '" . $options{instance_value}->{display} . "' ";
|
||||
}
|
||||
|
||||
sub new {
|
||||
my ($class, %options) = @_;
|
||||
my $self = $class->SUPER::new(package => __PACKAGE__, %options, force_new_perfdata => 1);
|
||||
bless $self, $class;
|
||||
|
||||
return $self;
|
||||
}
|
||||
|
||||
sub manage_selection {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
$self->{global} = {};
|
||||
my $results = $options{custom}->request_api(endpoint => '/radio');
|
||||
$self->{global}->{display} = $results->{agentID};
|
||||
foreach my $kpi (keys %{$results}) {
|
||||
if (defined($results->{$kpi}) && $results->{$kpi} !~ 'Unknown') {
|
||||
$self->{global}->{$kpi} = $results->{$kpi};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
__END__
|
||||
|
||||
=head1 MODE
|
||||
|
||||
Check agent radio statistics.
|
||||
|
||||
=over 8
|
||||
|
||||
=item B<--agent-id>
|
||||
|
||||
Set the ID of the agent (mandatory option).
|
||||
|
||||
=item B<--warning-snr-dbm>
|
||||
|
||||
Warning thresholds for signal noise ratio in dbm.
|
||||
|
||||
=item B<--critical-snr-dbm>
|
||||
|
||||
Critical thresholds for signal noise ratio in dbm.
|
||||
|
||||
=item B<--warning-rssi-dbm>
|
||||
|
||||
Warning thresholds for received signal strength indicator in dbm.
|
||||
|
||||
=item B<--critical-rssi-dbm>
|
||||
|
||||
Critical thresholds for received signal strength indicator in dbm.
|
||||
|
||||
=item B<--warning-rsrp-dbm>
|
||||
|
||||
Warning thresholds for reference signal receive power in dbm.
|
||||
|
||||
=item B<--critical-rsrp-dbm>
|
||||
|
||||
Critical thresholds for reference signal receive power in dbm.
|
||||
|
||||
=item B<--warning-rsrq-db>
|
||||
|
||||
Warning thresholds for reference signal receive quality in db.
|
||||
|
||||
=item B<--critical-rsrq-db>
|
||||
|
||||
Critical thresholds for reference signal receive quality in db.
|
||||
|
||||
=back
|
||||
|
||||
=cut
|
171
src/apps/monitoring/latencetech/restapi/mode/throughput.pm
Normal file
171
src/apps/monitoring/latencetech/restapi/mode/throughput.pm
Normal file
@ -0,0 +1,171 @@
|
||||
#
|
||||
# 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
|
||||
# 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::monitoring::latencetech::restapi::mode::throughput;
|
||||
|
||||
use base qw(centreon::plugins::templates::counter);
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
sub set_counters {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
$self->{maps_counters_type} = [
|
||||
{ name => 'global', type => 0, cb_prefix_output => 'prefix_output' }
|
||||
];
|
||||
|
||||
$self->{maps_counters}->{global} = [
|
||||
{ label => 'lifbe-download', nlabel => 'lifbe.download.bandwidth.bps', set => {
|
||||
key_values => [ { name => 'lifbeDownload' }, { name => 'display' } ],
|
||||
output_template => 'LIFBE Download: %s%sps',,
|
||||
output_change_bytes => 2,
|
||||
perfdatas => [
|
||||
{ value => 'lifbeDownload',
|
||||
template => '%s',
|
||||
min => 0,
|
||||
unit => 'bps',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'lifbe-upload', nlabel => 'lifbe.upload.bandwidth.bps', set => {
|
||||
key_values => [ { name => 'lifbeUpload' }, { name => 'display' } ],
|
||||
output_template => 'LIFBE Upload: %s%sps',,
|
||||
output_change_bytes => 2,
|
||||
perfdatas => [
|
||||
{ value => 'lifbeUpload',
|
||||
template => '%s',
|
||||
min => 0,
|
||||
unit => 'bps',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'jitter-download', nlabel => 'jitter.download.time.milliseconds', set => {
|
||||
key_values => [ { name => 'jitterDownload' }, { name => 'display' } ],
|
||||
output_template => 'Jitter Download Time: %.2fms',
|
||||
perfdatas => [
|
||||
{ value => 'jitterDownload',
|
||||
template => '%.2f',
|
||||
min => 0,
|
||||
unit => 'ms',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'jitter-upload', nlabel => 'jitter.upload.time.milliseconds', set => {
|
||||
key_values => [ { name => 'jitterUpload' }, { name => 'display' } ],
|
||||
output_template => 'Jitter Upload Time: %.2fms',
|
||||
perfdatas => [
|
||||
{ value => 'jitterUpload',
|
||||
template => '%.2f',
|
||||
min => 0,
|
||||
unit => 'ms',
|
||||
label_extra_instance => 1,
|
||||
instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
sub prefix_output {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
return "Agent '" . $options{instance_value}->{display} . "' ";
|
||||
}
|
||||
|
||||
sub new {
|
||||
my ($class, %options) = @_;
|
||||
my $self = $class->SUPER::new(package => __PACKAGE__, %options, force_new_perfdata => 1);
|
||||
bless $self, $class;
|
||||
|
||||
return $self;
|
||||
}
|
||||
|
||||
sub manage_selection {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
$self->{global} = {};
|
||||
my $results = $options{custom}->request_api(endpoint => '/lifbe');
|
||||
$self->{global}->{display} = $results->{agentID};
|
||||
foreach my $kpi (keys %{$results}) {
|
||||
if ($kpi eq 'lifbeDownload' || $kpi eq 'lifbeUpload') {
|
||||
my $value = centreon::plugins::misc::convert_bytes(value => $results->{$kpi}, unit => 'Mb', network => 'true');
|
||||
$self->{global}->{$kpi} = $value;
|
||||
} else {
|
||||
$self->{global}->{$kpi} = $results->{$kpi};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
__END__
|
||||
|
||||
=head1 MODE
|
||||
|
||||
Check agent throughput statistics.
|
||||
|
||||
=over 8
|
||||
|
||||
=item B<--agent-id>
|
||||
|
||||
Set the ID of the agent (mandatory option).
|
||||
|
||||
=item B<--warning-lifbe-download>
|
||||
|
||||
Warning thresholds for LIFBE (Low Intrusive Fast Bandwidth Estimation) download bandwidth (in bps).
|
||||
|
||||
=item B<--critical-lifbe-download>
|
||||
|
||||
Critical thresholds for LIFBE (Low Intrusive Fast Bandwidth Estimation) download bandwidth (in bps).
|
||||
|
||||
=item B<--warning-lifbe-upload>
|
||||
|
||||
Warning thresholds for LIFBE (Low Intrusive Fast Bandwidth Estimation) upload bandwidth (in bps).
|
||||
|
||||
=item B<--critical-lifbe-upload>
|
||||
|
||||
Critical thresholds for LIFBE (Low Intrusive Fast Bandwidth Estimation) upload bandwidth (in bps).
|
||||
|
||||
=item B<--warning-jitter-download>
|
||||
|
||||
Warning thresholds for jitter download time (in milliseconds).
|
||||
|
||||
=item B<--critical-jitter-download>
|
||||
|
||||
Critical thresholds for jitter download time (in milliseconds).
|
||||
|
||||
=item B<--warning-jitter-upload>
|
||||
|
||||
Warning thresholds for jitter upload time (in milliseconds).
|
||||
|
||||
=item B<--critical-jitter-upload>
|
||||
|
||||
Critical thresholds for jitter upload time (in milliseconds).
|
||||
|
||||
=back
|
||||
|
||||
=cut
|
131
src/apps/monitoring/latencetech/restapi/mode/twamp.pm
Normal file
131
src/apps/monitoring/latencetech/restapi/mode/twamp.pm
Normal file
@ -0,0 +1,131 @@
|
||||
#
|
||||
# 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
|
||||
# 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::monitoring::latencetech::restapi::mode::twamp;
|
||||
|
||||
use base qw(centreon::plugins::templates::counter);
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
sub set_counters {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
$self->{maps_counters_type} = [
|
||||
{ name => 'global', type => 0, cb_prefix_output => 'prefix_output' }
|
||||
];
|
||||
|
||||
$self->{maps_counters}->{global} = [
|
||||
{ label => 'twamp-forward', nlabel => 'twamp.forwarddelta.time.milliseconds', set => {
|
||||
key_values => [ { name => 'TWAMPfwdDelta' }, { name => 'display' } ],
|
||||
output_template => 'TWAMP Forward Delta: %.2fms',
|
||||
perfdatas => [
|
||||
{ value => 'TWAMPfwdDelta', template => '%.2f',
|
||||
min => 0, unit => 'ms', label_extra_instance => 1, instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'twamp-reverse', nlabel => 'twamp.reversedelta.time.milliseconds', set => {
|
||||
key_values => [ { name => 'TWAMPRevDelta' }, { name => 'display' } ],
|
||||
output_template => 'TWAMP Reverse Delta: %.2fms',
|
||||
perfdatas => [
|
||||
{ value => 'TWAMPRevDelta', template => '%.2f',
|
||||
min => 0, unit => 'ms', label_extra_instance => 1, instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
},
|
||||
{ label => 'twamp-processing', nlabel => 'twamp.processingdelta.time.milliseconds', set => {
|
||||
key_values => [ { name => 'TWAMPProcDelta' }, { name => 'display' } ],
|
||||
output_template => 'TWAMP Processing Delta: %.2fms',
|
||||
perfdatas => [
|
||||
{ value => 'TWAMPProcDelta', template => '%.2f',
|
||||
min => 0, unit => 'ms', label_extra_instance => 1, instance_use => 'display' },
|
||||
],
|
||||
}
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
sub prefix_output {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
return "Agent '" . $options{instance_value}->{display} . "' ";
|
||||
}
|
||||
|
||||
sub new {
|
||||
my ($class, %options) = @_;
|
||||
my $self = $class->SUPER::new(package => __PACKAGE__, %options, force_new_perfdata => 1);
|
||||
bless $self, $class;
|
||||
|
||||
return $self;
|
||||
}
|
||||
|
||||
sub manage_selection {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
$self->{global} = {};
|
||||
my $results = $options{custom}->request_api(endpoint => '/twamp');
|
||||
$self->{global}->{display} = $results->{agentID};
|
||||
foreach my $kpi (keys %{$results}) {
|
||||
$self->{global}->{$kpi} = $results->{$kpi};
|
||||
}
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
__END__
|
||||
|
||||
=head1 MODE
|
||||
|
||||
Check agent TWAMP statistics.
|
||||
|
||||
=over 8
|
||||
|
||||
=item B<--agent-id>
|
||||
|
||||
Set the ID of the agent (mandatory option).
|
||||
|
||||
=item B<--warning-twamp-forward>
|
||||
|
||||
Warning thresholds for TWAMP forward delta time (in milliseconds).
|
||||
|
||||
=item B<--critical-twamp-forward>
|
||||
|
||||
Critical thresholds for TWAMP forward delta time (in milliseconds).
|
||||
|
||||
=item B<--warning-twamp-reverse>
|
||||
|
||||
Warning thresholds for TWAMP reverse delta time (in milliseconds).
|
||||
|
||||
=item B<--critical-twamp-reverse>
|
||||
|
||||
Critical thresholds for TWAMP reverse delta time (in milliseconds).
|
||||
|
||||
=item B<--warning-twamp-processing>
|
||||
|
||||
Warning thresholds for TWAMP processing delta time (in milliseconds).
|
||||
|
||||
=item B<--critical-twamp-processing>
|
||||
|
||||
Critical thresholds for TWAMP processing delta time (in milliseconds).
|
||||
|
||||
=back
|
||||
|
||||
=cut
|
55
src/apps/monitoring/latencetech/restapi/plugin.pm
Normal file
55
src/apps/monitoring/latencetech/restapi/plugin.pm
Normal file
@ -0,0 +1,55 @@
|
||||
#
|
||||
# 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
|
||||
# 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::monitoring::latencetech::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} = {
|
||||
'connectivity' => 'apps::monitoring::latencetech::restapi::mode::connectivity',
|
||||
'discovery' => 'apps::monitoring::latencetech::restapi::mode::discovery',
|
||||
'forecast' => 'apps::monitoring::latencetech::restapi::mode::forecast',
|
||||
'latency' => 'apps::monitoring::latencetech::restapi::mode::latency',
|
||||
'radio' => 'apps::monitoring::latencetech::restapi::mode::radio',
|
||||
'throughput' => 'apps::monitoring::latencetech::restapi::mode::throughput',
|
||||
'twamp' => 'apps::monitoring::latencetech::restapi::mode::twamp'
|
||||
};
|
||||
|
||||
$self->{custom_modes}->{api} = 'apps::monitoring::latencetech::restapi::custom::api';
|
||||
return $self;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
__END__
|
||||
|
||||
=head1 PLUGIN DESCRIPTION
|
||||
|
||||
Check LatenceTech agents metrics using the Rest API (https://docs.latence.ca/14-analyzer-api/).
|
||||
|
||||
=cut
|
123
tests/apps/monitoring/latencetech/restapi/connectivity.robot
Normal file
123
tests/apps/monitoring/latencetech/restapi/connectivity.robot
Normal file
@ -0,0 +1,123 @@
|
||||
*** Settings ***
|
||||
Documentation Check the LatenceTech connectivity mode with api custom mode
|
||||
|
||||
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::monitoring::latencetech::restapi::plugin
|
||||
... --custommode=api
|
||||
... --mode=connectivity
|
||||
... --hostname=${HOSTNAME}
|
||||
... --api-key=key
|
||||
... --port=${APIPORT}
|
||||
... --proto=http
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Connectivity ${tc}
|
||||
[Documentation] Check the agent connectivity statistics.
|
||||
[Tags] apps monitoring latencetech restapi
|
||||
|
||||
${command} Catenate
|
||||
... ${cmd}
|
||||
... --customer-id=${customer_id}
|
||||
... --agent-id=${agent_id}
|
||||
... ${extraoptions}
|
||||
Log ${cmd}
|
||||
Ctn Run Command And Check Result As Strings ${command} ${expected_result}
|
||||
|
||||
Examples: tc customer_id agent_id extraoptions expected_result --
|
||||
... 1 0 0 ${EMPTY}
|
||||
... OK: Agent '0-GenericQoSAgent' TCP Response Time: 8.94ms, UDP Response Time: 9.53ms, HTTP Response Time: 9.09ms, HTTPS Response Time: 18.00ms, ICMP Response Time: 9.20ms, TWAMP Response Time: 9.45ms, DL bandwidth: 1.38Gbps, UL bandwidth: 950.06Mbps, Jitter Time: 6.10ms, Application latency: 11.39ms, Network latency: 9.32ms, Expected latency: 40.00ms, Network stability: 65.50%, Expected stability: 98.00%, Volatility: 46.20%, Quality of Experience: 4.921, Packet loss rate: 0.07%, Expected packet loss rate: 0.10%, Connectivity health: "OK" | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 2 1 1 ${EMPTY}
|
||||
... WARNING: Agent '1-GenericQoSAgent' Connectivity health: "Warning" | '1-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '1-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '1-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '1-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '1-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '1-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '1-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '1-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '1-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '1-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '1-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '1-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '1-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '1-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '1-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '1-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '1-GenericQoSAgent#packetloss.rate.percentage'=0.00%;;;0;100 '1-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 3 2 2 ${EMPTY}
|
||||
... CRITICAL: Agent '2-GenericQoSAgent' Connectivity health: "Need Attention" | '2-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '2-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '2-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '2-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '2-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '2-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '2-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '2-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '2-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '2-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '2-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '2-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '2-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '2-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '2-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '2-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '2-GenericQoSAgent#packetloss.rate.percentage'=0.00%;;;0;100 '2-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 4 0 0 --warning-tcp-response-time=5
|
||||
... WARNING: Agent '0-GenericQoSAgent' TCP Response Time: 8.94ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;0:5;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 5 0 0 --critical-tcp-response-time=5
|
||||
... CRITICAL: Agent '0-GenericQoSAgent' TCP Response Time: 8.94ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;0:5;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 6 0 0 --warning-udp-response-time=5
|
||||
... WARNING: Agent '0-GenericQoSAgent' UDP Response Time: 9.53ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;0:5;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 7 0 0 --critical-udp-response-time=5
|
||||
... CRITICAL: Agent '0-GenericQoSAgent' UDP Response Time: 9.53ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;0:5;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 8 0 0 --warning-http-response-time=5
|
||||
... WARNING: Agent '0-GenericQoSAgent' HTTP Response Time: 9.09ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;0:5;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 9 0 0 --critical-http-response-time=5
|
||||
... CRITICAL: Agent '0-GenericQoSAgent' HTTP Response Time: 9.09ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;0:5;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 10 0 0 --warning-https-response-time=5
|
||||
... WARNING: Agent '0-GenericQoSAgent' HTTPS Response Time: 18.00ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;0:5;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 11 0 0 --critical-https-response-time=5
|
||||
... CRITICAL: Agent '0-GenericQoSAgent' HTTPS Response Time: 18.00ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;0:5;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 12 0 0 --warning-icmp-response-time=5
|
||||
... WARNING: Agent '0-GenericQoSAgent' ICMP Response Time: 9.20ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;0:5;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 13 0 0 --critical-icmp-response-time=5
|
||||
... CRITICAL: Agent '0-GenericQoSAgent' ICMP Response Time: 9.20ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;0:5;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 14 0 0 --warning-twamp-response-time=5
|
||||
... WARNING: Agent '0-GenericQoSAgent' TWAMP Response Time: 9.45ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;0:5;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 15 0 0 --critical-twamp-response-time=5
|
||||
... CRITICAL: Agent '0-GenericQoSAgent' TWAMP Response Time: 9.45ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;0:5;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 16 0 0 --warning-download-bandwidth=1000000000
|
||||
... WARNING: Agent '0-GenericQoSAgent' DL bandwidth: 1.38Gbps | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;0:1000000000;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 17 0 0 --critical-download-bandwidth=1000000000
|
||||
... CRITICAL: Agent '0-GenericQoSAgent' DL bandwidth: 1.38Gbps | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;0:1000000000;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 18 0 0 --critical-download-bandwidth=1384000000
|
||||
... OK: Agent '0-GenericQoSAgent' TCP Response Time: 8.94ms, UDP Response Time: 9.53ms, HTTP Response Time: 9.09ms, HTTPS Response Time: 18.00ms, ICMP Response Time: 9.20ms, TWAMP Response Time: 9.45ms, DL bandwidth: 1.38Gbps, UL bandwidth: 950.06Mbps, Jitter Time: 6.10ms, Application latency: 11.39ms, Network latency: 9.32ms, Expected latency: 40.00ms, Network stability: 65.50%, Expected stability: 98.00%, Volatility: 46.20%, Quality of Experience: 4.921, Packet loss rate: 0.07%, Expected packet loss rate: 0.10%, Connectivity health: "OK" | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;0:1384000000;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 19 0 0 --warning-upload-bandwidth=750000000
|
||||
... WARNING: Agent '0-GenericQoSAgent' UL bandwidth: 950.06Mbps | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;0:750000000;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 20 0 0 --critical-upload-bandwidth=750000000
|
||||
... CRITICAL: Agent '0-GenericQoSAgent' UL bandwidth: 950.06Mbps | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;0:750000000;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 21 0 0 --warning-jitter-time=5
|
||||
... WARNING: Agent '0-GenericQoSAgent' Jitter Time: 6.10ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;0:5;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 22 0 0 --critical-jitter-time=5
|
||||
... CRITICAL: Agent '0-GenericQoSAgent' Jitter Time: 6.10ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;0:5;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 23 0 0 --warning-application-latency=5
|
||||
... WARNING: Agent '0-GenericQoSAgent' Application latency: 11.39ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;0:5;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 24 0 0 --critical-application-latency=5
|
||||
... CRITICAL: Agent '0-GenericQoSAgent' Application latency: 11.39ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;0:5;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 25 0 0 --warning-network-latency=5
|
||||
... WARNING: Agent '0-GenericQoSAgent' Network latency: 9.32ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;0:5;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 26 0 0 --critical-network-latency=5
|
||||
... CRITICAL: Agent '0-GenericQoSAgent' Network latency: 9.32ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;0:5;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 27 0 0 --warning-expected-latency=20
|
||||
... WARNING: Agent '0-GenericQoSAgent' Expected latency: 40.00ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;0:20;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 28 0 0 --critical-expected-latency=30
|
||||
... CRITICAL: Agent '0-GenericQoSAgent' Expected latency: 40.00ms | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;0:30;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 29 0 0 --warning-network-stability-prct=50
|
||||
... WARNING: Agent '0-GenericQoSAgent' Network stability: 65.50% | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;0:50;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 30 0 0 --critical-network-stability-prct=60
|
||||
... CRITICAL: Agent '0-GenericQoSAgent' Network stability: 65.50% | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;0:60;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 31 0 0 --warning-expected-stability-prct=80
|
||||
... WARNING: Agent '0-GenericQoSAgent' Expected stability: 98.00% | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;0:80;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 32 0 0 --critical-expected-stability-prct=90
|
||||
... CRITICAL: Agent '0-GenericQoSAgent' Expected stability: 98.00% | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;0:90;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 33 0 0 --warning-volatility-prct=30
|
||||
... WARNING: Agent '0-GenericQoSAgent' Volatility: 46.20% | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;0:30;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 34 0 0 --critical-volatility-prct=40
|
||||
... CRITICAL: Agent '0-GenericQoSAgent' Volatility: 46.20% | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;0:40;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 35 0 0 --warning-qoe-rate=3
|
||||
... WARNING: Agent '0-GenericQoSAgent' Quality of Experience: 4.921 | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;0:3;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 36 0 0 --critical-qoe-rate=4
|
||||
... CRITICAL: Agent '0-GenericQoSAgent' Quality of Experience: 4.921 | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;0:4;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 37 0 0 --warning-packet-loss-prct=0.05
|
||||
... WARNING: Agent '0-GenericQoSAgent' Packet loss rate: 0.07% | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;0:0.05;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 38 0 0 --critical-packet-loss-prct=0.06
|
||||
... CRITICAL: Agent '0-GenericQoSAgent' Packet loss rate: 0.07% | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;0:0.06;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 39 0 0 --warning-expected-packet-loss-prct=0.05
|
||||
... WARNING: Agent '0-GenericQoSAgent' Expected packet loss rate: 0.10% | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;0:0.05;;0;100
|
||||
... 40 0 0 --critical-expected-packet-loss-prct=0.075
|
||||
... CRITICAL: Agent '0-GenericQoSAgent' Expected packet loss rate: 0.10% | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;0:0.075;0;100
|
||||
... 41 0 0 --warning-connectivity-health='\\\%{connectivityHealth} =~ "OK"'
|
||||
... WARNING: Agent '0-GenericQoSAgent' Connectivity health: "OK" | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 42 0 0 --critical-connectivity-health='\\\%{connectivityHealth} =~ "OK"'
|
||||
... CRITICAL: Agent '0-GenericQoSAgent' Connectivity health: "OK" | '0-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '0-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '0-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '0-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '0-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '0-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '0-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '0-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '0-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '0-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '0-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '0-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '0-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '0-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '0-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '0-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '0-GenericQoSAgent#packetloss.rate.percentage'=0.07%;;;0;100 '0-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
||||
... 43 1 1 --critical-connectivity-health='\\\%{connectivityHealth} =~ "Warning"'
|
||||
... CRITICAL: Agent '1-GenericQoSAgent' Connectivity health: "Warning" | '1-GenericQoSAgent#tcp.response.time.milliseconds'=8.94ms;;;0; '1-GenericQoSAgent#udp.response.time.milliseconds'=9.53ms;;;0; '1-GenericQoSAgent#http.response.time.milliseconds'=9.09ms;;;0; '1-GenericQoSAgent#https.response.time.milliseconds'=18.00ms;;;0; '1-GenericQoSAgent#icmp.response.time.milliseconds'=9.20ms;;;0; '1-GenericQoSAgent#twamp.response.time.milliseconds'=9.45ms;;;0; '1-GenericQoSAgent#download.bandwidth.bps'=1383580000bps;;;0; '1-GenericQoSAgent#upload.bandwidth.bps'=950060000bps;;;0; '1-GenericQoSAgent#jitter.time.milliseconds'=6.10ms;;;0; '1-GenericQoSAgent#application.latency.milliseconds'=11.39ms;;;0; '1-GenericQoSAgent#network.latency.milliseconds'=9.32ms;;;0; '1-GenericQoSAgent#expected.latency.milliseconds'=40.00ms;;;0; '1-GenericQoSAgent#network.stability.percentage'=65.50%;;;0;100 '1-GenericQoSAgent#expected.stability.percentage'=98.00%;;;0;100 '1-GenericQoSAgent#volatility.percentage'=46.20%;;;0;100 '1-GenericQoSAgent#qoe.rate.value'=4.921;;;0;5 '1-GenericQoSAgent#packetloss.rate.percentage'=0.00%;;;0;100 '1-GenericQoSAgent#expected.packetloss.rate.percentage'=0.10%;;;0;100
|
36
tests/apps/monitoring/latencetech/restapi/discovery.robot
Normal file
36
tests/apps/monitoring/latencetech/restapi/discovery.robot
Normal file
@ -0,0 +1,36 @@
|
||||
*** Settings ***
|
||||
Documentation Check the LatenceTech discovery mode with api custom mode
|
||||
|
||||
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::monitoring::latencetech::restapi::plugin
|
||||
... --custommode=api
|
||||
... --mode=discovery
|
||||
... --hostname=${HOSTNAME}
|
||||
... --api-key=key
|
||||
... --port=${APIPORT}
|
||||
... --proto=http
|
||||
|
||||
*** Test Cases ***
|
||||
Discovery ${tc}
|
||||
[Documentation] Check LatenceTech discovery
|
||||
[Tags] apps monitoring latencetech restapi
|
||||
|
||||
${command} Catenate
|
||||
... ${cmd}
|
||||
... --customer-id=0
|
||||
... ${extraoptions}
|
||||
Log ${cmd}
|
||||
Ctn Run Command And Check Result As Json ${command} ${expected_result}
|
||||
|
||||
Examples: tc extraoptions expected_result --
|
||||
... 1 ${EMPTY}
|
||||
... {"duration":3716,"start_time":1753278888,"discovered_items":3,"results":[{"gpsPosition":"48.864716,2.349014","networkType":"Outscale","hardware":"Not-Applicable","networkName":"OutScale-Network","id":"0","details":"Generic QoSAgent preinstalled with OMI","name":"GenericQoSAgent"},{"gpsPosition":",undefined","networkType":"Azure Server Network","id":"2","details":"Azure Agent used for demonstration purposes","name":"Germany WEST","hardware":"Azure Server","networkName":"Azure Net 2"},{"details":"Uses india beacon reflector","id":"3","name":"South Central US","hardware":"Azure Server","networkName":"","networkType":"Azure Server Network","gpsPosition":",undefined"}],"end_time":1753282604}
|
43
tests/apps/monitoring/latencetech/restapi/forecast.robot
Normal file
43
tests/apps/monitoring/latencetech/restapi/forecast.robot
Normal file
@ -0,0 +1,43 @@
|
||||
*** Settings ***
|
||||
Documentation Check the LatenceTech forecast mode with api custom mode
|
||||
|
||||
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::monitoring::latencetech::restapi::plugin
|
||||
... --custommode=api
|
||||
... --mode=forecast
|
||||
... --hostname=${HOSTNAME}
|
||||
... --api-key=key
|
||||
... --port=${APIPORT}
|
||||
... --proto=http
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
forecast ${tc}
|
||||
[Documentation] Check the agent forecast statistics
|
||||
[Tags] apps monitoring latencetech restapi
|
||||
|
||||
${command} Catenate
|
||||
... ${cmd}
|
||||
... --customer-id=0
|
||||
... --agent-id=2
|
||||
... ${extraoptions}
|
||||
Log ${cmd}
|
||||
Ctn Run Command And Check Result As Strings ${command} ${expected_result}
|
||||
|
||||
Examples: tc extraoptions expected_result --
|
||||
... 1 ${EMPTY}
|
||||
... OK: Agent '2' Projected latency 10.63ms (forecasting interval: 6.94ms, confidence level: 50.74) | '2#latency.projected.time.milliseconds'=10.63ms;;;0;
|
||||
... 2 --warning-projected-latency=5
|
||||
... WARNING: Agent '2' Projected latency 10.63ms (forecasting interval: 6.94ms, confidence level: 50.74) | '2#latency.projected.time.milliseconds'=10.63ms;0:5;;0;
|
||||
... 3 --critical-projected-latency=10
|
||||
... CRITICAL: Agent '2' Projected latency 10.63ms (forecasting interval: 6.94ms, confidence level: 50.74) | '2#latency.projected.time.milliseconds'=10.63ms;;0:10;0;
|
61
tests/apps/monitoring/latencetech/restapi/latency.robot
Normal file
61
tests/apps/monitoring/latencetech/restapi/latency.robot
Normal file
@ -0,0 +1,61 @@
|
||||
*** Settings ***
|
||||
Documentation Check the LatenceTech latency mode with api custom mode
|
||||
|
||||
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::monitoring::latencetech::restapi::plugin
|
||||
... --custommode=api
|
||||
... --mode=latency
|
||||
... --hostname=${HOSTNAME}
|
||||
... --api-key=key
|
||||
... --port=${APIPORT}
|
||||
... --proto=http
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Latency ${tc}
|
||||
[Documentation] Check the agent latency statistics
|
||||
[Tags] apps monitoring latencetech restapi
|
||||
|
||||
${command} Catenate
|
||||
... ${cmd}
|
||||
... --customer-id=0
|
||||
... --agent-id=2
|
||||
... ${extraoptions}
|
||||
Log ${cmd}
|
||||
Ctn Run Command And Check Result As Strings ${command} ${expected_result}
|
||||
|
||||
Examples: tc extraoptions expected_result --
|
||||
... 1 ${EMPTY}
|
||||
... OK: All latencies are OK | 'http_result#latency.average.milliseconds'=9.18ms;;;0; 'http_result#latency.minimum.milliseconds'=8.51ms;;;0; 'http_result#latency.maximum.milliseconds'=15.62ms;;;0; 'https_result#latency.average.milliseconds'=18.05ms;;;0; 'https_result#latency.minimum.milliseconds'=16.72ms;;;0; 'https_result#latency.maximum.milliseconds'=27.29ms;;;0; 'icmp_result#latency.average.milliseconds'=9.16ms;;;0; 'icmp_result#latency.minimum.milliseconds'=8.37ms;;;0; 'icmp_result#latency.maximum.milliseconds'=22.10ms;;;0; 'tcp_result#latency.average.milliseconds'=9.35ms;;;0; 'tcp_result#latency.minimum.milliseconds'=8.38ms;;;0; 'tcp_result#latency.maximum.milliseconds'=22.56ms;;;0; 'twamp_result#latency.average.milliseconds'=9.16ms;;;0; 'twamp_result#latency.minimum.milliseconds'=8.36ms;;;0; 'twamp_result#latency.maximum.milliseconds'=15.86ms;;;0; 'udp_result#latency.average.milliseconds'=9.36ms;;;0; 'udp_result#latency.minimum.milliseconds'=8.57ms;;;0; 'udp_result#latency.maximum.milliseconds'=22.13ms;;;0;
|
||||
... 2 --filter-protocol=tcp
|
||||
... OK: Latency for Agent 2, Protocol tcp_result (150 points): average: 9.35ms, minimum: 8.38ms, maximum: 22.56ms | 'tcp_result#latency.average.milliseconds'=9.35ms;;;0; 'tcp_result#latency.minimum.milliseconds'=8.38ms;;;0; 'tcp_result#latency.maximum.milliseconds'=22.56ms;;;0;
|
||||
... 3 --filter-protocol='http.*'
|
||||
... OK: All latencies are OK | 'http_result#latency.average.milliseconds'=9.18ms;;;0; 'http_result#latency.minimum.milliseconds'=8.51ms;;;0; 'http_result#latency.maximum.milliseconds'=15.62ms;;;0; 'https_result#latency.average.milliseconds'=18.05ms;;;0; 'https_result#latency.minimum.milliseconds'=16.72ms;;;0; 'https_result#latency.maximum.milliseconds'=27.29ms;;;0;
|
||||
... 4 --filter-protocol='http(s)?'
|
||||
... OK: All latencies are OK | 'http_result#latency.average.milliseconds'=9.18ms;;;0; 'http_result#latency.minimum.milliseconds'=8.51ms;;;0; 'http_result#latency.maximum.milliseconds'=15.62ms;;;0; 'https_result#latency.average.milliseconds'=18.05ms;;;0; 'https_result#latency.minimum.milliseconds'=16.72ms;;;0; 'https_result#latency.maximum.milliseconds'=27.29ms;;;0;
|
||||
... 5 --filter-protocol='https|icmp'
|
||||
... OK: All latencies are OK | 'https_result#latency.average.milliseconds'=18.05ms;;;0; 'https_result#latency.minimum.milliseconds'=16.72ms;;;0; 'https_result#latency.maximum.milliseconds'=27.29ms;;;0; 'icmp_result#latency.average.milliseconds'=9.16ms;;;0; 'icmp_result#latency.minimum.milliseconds'=8.37ms;;;0; 'icmp_result#latency.maximum.milliseconds'=22.10ms;;;0;
|
||||
... 6 --warning-latency-average=8
|
||||
... WARNING: Latency for Agent 2, Protocol http_result (149 points): average: 9.18ms - Latency for Agent 2, Protocol https_result (146 points): average: 18.05ms - Latency for Agent 2, Protocol icmp_result (149 points): average: 9.16ms - Latency for Agent 2, Protocol tcp_result (150 points): average: 9.35ms - Latency for Agent 2, Protocol twamp_result (142 points): average: 9.16ms - Latency for Agent 2, Protocol udp_result (150 points): average: 9.36ms | 'http_result#latency.average.milliseconds'=9.18ms;0:8;;0; 'http_result#latency.minimum.milliseconds'=8.51ms;;;0; 'http_result#latency.maximum.milliseconds'=15.62ms;;;0; 'https_result#latency.average.milliseconds'=18.05ms;0:8;;0; 'https_result#latency.minimum.milliseconds'=16.72ms;;;0; 'https_result#latency.maximum.milliseconds'=27.29ms;;;0; 'icmp_result#latency.average.milliseconds'=9.16ms;0:8;;0; 'icmp_result#latency.minimum.milliseconds'=8.37ms;;;0; 'icmp_result#latency.maximum.milliseconds'=22.10ms;;;0; 'tcp_result#latency.average.milliseconds'=9.35ms;0:8;;0; 'tcp_result#latency.minimum.milliseconds'=8.38ms;;;0; 'tcp_result#latency.maximum.milliseconds'=22.56ms;;;0; 'twamp_result#latency.average.milliseconds'=9.16ms;0:8;;0; 'twamp_result#latency.minimum.milliseconds'=8.36ms;;;0; 'twamp_result#latency.maximum.milliseconds'=15.86ms;;;0; 'udp_result#latency.average.milliseconds'=9.36ms;0:8;;0; 'udp_result#latency.minimum.milliseconds'=8.57ms;;;0; 'udp_result#latency.maximum.milliseconds'=22.13ms;;;0;
|
||||
... 7 --critical-latency-average=9
|
||||
... CRITICAL: Latency for Agent 2, Protocol http_result (149 points): average: 9.18ms - Latency for Agent 2, Protocol https_result (146 points): average: 18.05ms - Latency for Agent 2, Protocol icmp_result (149 points): average: 9.16ms - Latency for Agent 2, Protocol tcp_result (150 points): average: 9.35ms - Latency for Agent 2, Protocol twamp_result (142 points): average: 9.16ms - Latency for Agent 2, Protocol udp_result (150 points): average: 9.36ms | 'http_result#latency.average.milliseconds'=9.18ms;;0:9;0; 'http_result#latency.minimum.milliseconds'=8.51ms;;;0; 'http_result#latency.maximum.milliseconds'=15.62ms;;;0; 'https_result#latency.average.milliseconds'=18.05ms;;0:9;0; 'https_result#latency.minimum.milliseconds'=16.72ms;;;0; 'https_result#latency.maximum.milliseconds'=27.29ms;;;0; 'icmp_result#latency.average.milliseconds'=9.16ms;;0:9;0; 'icmp_result#latency.minimum.milliseconds'=8.37ms;;;0; 'icmp_result#latency.maximum.milliseconds'=22.10ms;;;0; 'tcp_result#latency.average.milliseconds'=9.35ms;;0:9;0; 'tcp_result#latency.minimum.milliseconds'=8.38ms;;;0; 'tcp_result#latency.maximum.milliseconds'=22.56ms;;;0; 'twamp_result#latency.average.milliseconds'=9.16ms;;0:9;0; 'twamp_result#latency.minimum.milliseconds'=8.36ms;;;0; 'twamp_result#latency.maximum.milliseconds'=15.86ms;;;0; 'udp_result#latency.average.milliseconds'=9.36ms;;0:9;0; 'udp_result#latency.minimum.milliseconds'=8.57ms;;;0; 'udp_result#latency.maximum.milliseconds'=22.13ms;;;0;
|
||||
... 8 --warning-latency-minimum=7
|
||||
... WARNING: Latency for Agent 2, Protocol http_result (149 points): minimum: 8.51ms - Latency for Agent 2, Protocol https_result (146 points): minimum: 16.72ms - Latency for Agent 2, Protocol icmp_result (149 points): minimum: 8.37ms - Latency for Agent 2, Protocol tcp_result (150 points): minimum: 8.38ms - Latency for Agent 2, Protocol twamp_result (142 points): minimum: 8.36ms - Latency for Agent 2, Protocol udp_result (150 points): minimum: 8.57ms | 'http_result#latency.average.milliseconds'=9.18ms;;;0; 'http_result#latency.minimum.milliseconds'=8.51ms;0:7;;0; 'http_result#latency.maximum.milliseconds'=15.62ms;;;0; 'https_result#latency.average.milliseconds'=18.05ms;;;0; 'https_result#latency.minimum.milliseconds'=16.72ms;0:7;;0; 'https_result#latency.maximum.milliseconds'=27.29ms;;;0; 'icmp_result#latency.average.milliseconds'=9.16ms;;;0; 'icmp_result#latency.minimum.milliseconds'=8.37ms;0:7;;0; 'icmp_result#latency.maximum.milliseconds'=22.10ms;;;0; 'tcp_result#latency.average.milliseconds'=9.35ms;;;0; 'tcp_result#latency.minimum.milliseconds'=8.38ms;0:7;;0; 'tcp_result#latency.maximum.milliseconds'=22.56ms;;;0; 'twamp_result#latency.average.milliseconds'=9.16ms;;;0; 'twamp_result#latency.minimum.milliseconds'=8.36ms;0:7;;0; 'twamp_result#latency.maximum.milliseconds'=15.86ms;;;0; 'udp_result#latency.average.milliseconds'=9.36ms;;;0; 'udp_result#latency.minimum.milliseconds'=8.57ms;0:7;;0; 'udp_result#latency.maximum.milliseconds'=22.13ms;;;0;
|
||||
... 9 --critical-latency-minimum=8
|
||||
... CRITICAL: Latency for Agent 2, Protocol http_result (149 points): minimum: 8.51ms - Latency for Agent 2, Protocol https_result (146 points): minimum: 16.72ms - Latency for Agent 2, Protocol icmp_result (149 points): minimum: 8.37ms - Latency for Agent 2, Protocol tcp_result (150 points): minimum: 8.38ms - Latency for Agent 2, Protocol twamp_result (142 points): minimum: 8.36ms - Latency for Agent 2, Protocol udp_result (150 points): minimum: 8.57ms | 'http_result#latency.average.milliseconds'=9.18ms;;;0; 'http_result#latency.minimum.milliseconds'=8.51ms;;0:8;0; 'http_result#latency.maximum.milliseconds'=15.62ms;;;0; 'https_result#latency.average.milliseconds'=18.05ms;;;0; 'https_result#latency.minimum.milliseconds'=16.72ms;;0:8;0; 'https_result#latency.maximum.milliseconds'=27.29ms;;;0; 'icmp_result#latency.average.milliseconds'=9.16ms;;;0; 'icmp_result#latency.minimum.milliseconds'=8.37ms;;0:8;0; 'icmp_result#latency.maximum.milliseconds'=22.10ms;;;0; 'tcp_result#latency.average.milliseconds'=9.35ms;;;0; 'tcp_result#latency.minimum.milliseconds'=8.38ms;;0:8;0; 'tcp_result#latency.maximum.milliseconds'=22.56ms;;;0; 'twamp_result#latency.average.milliseconds'=9.16ms;;;0; 'twamp_result#latency.minimum.milliseconds'=8.36ms;;0:8;0; 'twamp_result#latency.maximum.milliseconds'=15.86ms;;;0; 'udp_result#latency.average.milliseconds'=9.36ms;;;0; 'udp_result#latency.minimum.milliseconds'=8.57ms;;0:8;0; 'udp_result#latency.maximum.milliseconds'=22.13ms;;;0;
|
||||
... 10 --warning-latency-maximum=14
|
||||
... WARNING: Latency for Agent 2, Protocol http_result (149 points): maximum: 15.62ms - Latency for Agent 2, Protocol https_result (146 points): maximum: 27.29ms - Latency for Agent 2, Protocol icmp_result (149 points): maximum: 22.10ms - Latency for Agent 2, Protocol tcp_result (150 points): maximum: 22.56ms - Latency for Agent 2, Protocol twamp_result (142 points): maximum: 15.86ms - Latency for Agent 2, Protocol udp_result (150 points): maximum: 22.13ms | 'http_result#latency.average.milliseconds'=9.18ms;;;0; 'http_result#latency.minimum.milliseconds'=8.51ms;;;0; 'http_result#latency.maximum.milliseconds'=15.62ms;0:14;;0; 'https_result#latency.average.milliseconds'=18.05ms;;;0; 'https_result#latency.minimum.milliseconds'=16.72ms;;;0; 'https_result#latency.maximum.milliseconds'=27.29ms;0:14;;0; 'icmp_result#latency.average.milliseconds'=9.16ms;;;0; 'icmp_result#latency.minimum.milliseconds'=8.37ms;;;0; 'icmp_result#latency.maximum.milliseconds'=22.10ms;0:14;;0; 'tcp_result#latency.average.milliseconds'=9.35ms;;;0; 'tcp_result#latency.minimum.milliseconds'=8.38ms;;;0; 'tcp_result#latency.maximum.milliseconds'=22.56ms;0:14;;0; 'twamp_result#latency.average.milliseconds'=9.16ms;;;0; 'twamp_result#latency.minimum.milliseconds'=8.36ms;;;0; 'twamp_result#latency.maximum.milliseconds'=15.86ms;0:14;;0; 'udp_result#latency.average.milliseconds'=9.36ms;;;0; 'udp_result#latency.minimum.milliseconds'=8.57ms;;;0; 'udp_result#latency.maximum.milliseconds'=22.13ms;0:14;;0;
|
||||
... 11 --critical-latency-maximum=15
|
||||
... CRITICAL: Latency for Agent 2, Protocol http_result (149 points): maximum: 15.62ms - Latency for Agent 2, Protocol https_result (146 points): maximum: 27.29ms - Latency for Agent 2, Protocol icmp_result (149 points): maximum: 22.10ms - Latency for Agent 2, Protocol tcp_result (150 points): maximum: 22.56ms - Latency for Agent 2, Protocol twamp_result (142 points): maximum: 15.86ms - Latency for Agent 2, Protocol udp_result (150 points): maximum: 22.13ms | 'http_result#latency.average.milliseconds'=9.18ms;;;0; 'http_result#latency.minimum.milliseconds'=8.51ms;;;0; 'http_result#latency.maximum.milliseconds'=15.62ms;;0:15;0; 'https_result#latency.average.milliseconds'=18.05ms;;;0; 'https_result#latency.minimum.milliseconds'=16.72ms;;;0; 'https_result#latency.maximum.milliseconds'=27.29ms;;0:15;0; 'icmp_result#latency.average.milliseconds'=9.16ms;;;0; 'icmp_result#latency.minimum.milliseconds'=8.37ms;;;0; 'icmp_result#latency.maximum.milliseconds'=22.10ms;;0:15;0; 'tcp_result#latency.average.milliseconds'=9.35ms;;;0; 'tcp_result#latency.minimum.milliseconds'=8.38ms;;;0; 'tcp_result#latency.maximum.milliseconds'=22.56ms;;0:15;0; 'twamp_result#latency.average.milliseconds'=9.16ms;;;0; 'twamp_result#latency.minimum.milliseconds'=8.36ms;;;0; 'twamp_result#latency.maximum.milliseconds'=15.86ms;;0:15;0; 'udp_result#latency.average.milliseconds'=9.36ms;;;0; 'udp_result#latency.minimum.milliseconds'=8.57ms;;;0; 'udp_result#latency.maximum.milliseconds'=22.13ms;;0:15;0;
|
||||
... 12 --filter-protocol=udp --critical-latency-maximum=20
|
||||
... CRITICAL: Latency for Agent 2, Protocol udp_result (150 points): maximum: 22.13ms | 'udp_result#latency.average.milliseconds'=9.36ms;;;0; 'udp_result#latency.minimum.milliseconds'=8.57ms;;;0; 'udp_result#latency.maximum.milliseconds'=22.13ms;;0:20;0;
|
495
tests/apps/monitoring/latencetech/restapi/mockoon.json
Normal file
495
tests/apps/monitoring/latencetech/restapi/mockoon.json
Normal file
File diff suppressed because one or more lines are too long
55
tests/apps/monitoring/latencetech/restapi/radio.robot
Normal file
55
tests/apps/monitoring/latencetech/restapi/radio.robot
Normal file
@ -0,0 +1,55 @@
|
||||
*** Settings ***
|
||||
Documentation Check the LatenceTech radio mode with api custom mode
|
||||
|
||||
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::monitoring::latencetech::restapi::plugin
|
||||
... --custommode=api
|
||||
... --mode=radio
|
||||
... --hostname=${HOSTNAME}
|
||||
... --api-key=key
|
||||
... --port=${APIPORT}
|
||||
... --proto=http
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Radio ${tc}
|
||||
[Documentation] Check the agent radio statistics.
|
||||
[Tags] apps monitoring latencetech restapi
|
||||
|
||||
${command} Catenate
|
||||
... ${cmd}
|
||||
... --customer-id=0
|
||||
... --agent-id=1
|
||||
... ${extraoptions}
|
||||
Log ${cmd}
|
||||
Ctn Run Command And Check Result As Strings ${command} ${expected_result}
|
||||
|
||||
Examples: tc extraoptions expected_result --
|
||||
... 1 ${EMPTY}
|
||||
... OK: Agent '1' Signal noise ratio: 2.15db, Received Signal Strength Indicator: -63.00dbm, Reference signal receive power: -10.00dbm, Reference signal receive quality: -94.00db | '1#signal.noise.ratio.db'=2.15dbm;;;; '1#received.signalstrength.indicator.dbm'=-63.00dbm;;;; '1#reference.signalreceive.power.dbm'=-10.00dbm;;;; '1#reference.signalreceive.quality.dbm'=-94.00db;;;;
|
||||
... 2 --warning-snr-dbm=1.5
|
||||
... WARNING: Agent '1' Signal noise ratio: 2.15db | '1#signal.noise.ratio.db'=2.15dbm;0:1.5;;; '1#received.signalstrength.indicator.dbm'=-63.00dbm;;;; '1#reference.signalreceive.power.dbm'=-10.00dbm;;;; '1#reference.signalreceive.quality.dbm'=-94.00db;;;;
|
||||
... 3 --critical-snr-dbm=2.05
|
||||
... CRITICAL: Agent '1' Signal noise ratio: 2.15db | '1#signal.noise.ratio.db'=2.15dbm;;0:2.05;; '1#received.signalstrength.indicator.dbm'=-63.00dbm;;;; '1#reference.signalreceive.power.dbm'=-10.00dbm;;;; '1#reference.signalreceive.quality.dbm'=-94.00db;;;;
|
||||
... 4 --warning-rssi-dbm=-65.5
|
||||
... WARNING: Agent '1' Received Signal Strength Indicator: -63.00dbm | '1#signal.noise.ratio.db'=2.15dbm;;;; '1#received.signalstrength.indicator.dbm'=-63.00dbm;0:-65.5;;; '1#reference.signalreceive.power.dbm'=-10.00dbm;;;; '1#reference.signalreceive.quality.dbm'=-94.00db;;;;
|
||||
... 5 --critical-rssi-dbm=-70.3
|
||||
... CRITICAL: Agent '1' Received Signal Strength Indicator: -63.00dbm | '1#signal.noise.ratio.db'=2.15dbm;;;; '1#received.signalstrength.indicator.dbm'=-63.00dbm;;0:-70.3;; '1#reference.signalreceive.power.dbm'=-10.00dbm;;;; '1#reference.signalreceive.quality.dbm'=-94.00db;;;;
|
||||
... 6 --warning-rsrp-dbm=-15.2
|
||||
... WARNING: Agent '1' Reference signal receive power: -10.00dbm | '1#signal.noise.ratio.db'=2.15dbm;;;; '1#received.signalstrength.indicator.dbm'=-63.00dbm;;;; '1#reference.signalreceive.power.dbm'=-10.00dbm;0:-15.2;;; '1#reference.signalreceive.quality.dbm'=-94.00db;;;;
|
||||
... 7 --critical-rsrp-dbm=-20.7
|
||||
... CRITICAL: Agent '1' Reference signal receive power: -10.00dbm | '1#signal.noise.ratio.db'=2.15dbm;;;; '1#received.signalstrength.indicator.dbm'=-63.00dbm;;;; '1#reference.signalreceive.power.dbm'=-10.00dbm;;0:-20.7;; '1#reference.signalreceive.quality.dbm'=-94.00db;;;;
|
||||
... 8 --warning-rsrq-db=-90.5
|
||||
... WARNING: Agent '1' Reference signal receive quality: -94.00db | '1#signal.noise.ratio.db'=2.15dbm;;;; '1#received.signalstrength.indicator.dbm'=-63.00dbm;;;; '1#reference.signalreceive.power.dbm'=-10.00dbm;;;; '1#reference.signalreceive.quality.dbm'=-94.00db;0:-90.5;;;
|
||||
... 9 --critical-rsrq-db=-95.2
|
||||
... CRITICAL: Agent '1' Reference signal receive quality: -94.00db | '1#signal.noise.ratio.db'=2.15dbm;;;; '1#received.signalstrength.indicator.dbm'=-63.00dbm;;;; '1#reference.signalreceive.power.dbm'=-10.00dbm;;;; '1#reference.signalreceive.quality.dbm'=-94.00db;;0:-95.2;;
|
55
tests/apps/monitoring/latencetech/restapi/throughput.robot
Normal file
55
tests/apps/monitoring/latencetech/restapi/throughput.robot
Normal file
@ -0,0 +1,55 @@
|
||||
*** Settings ***
|
||||
Documentation Check the LatenceTech throughput mode with api custom mode
|
||||
|
||||
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::monitoring::latencetech::restapi::plugin
|
||||
... --custommode=api
|
||||
... --mode=throughput
|
||||
... --hostname=${HOSTNAME}
|
||||
... --api-key=key
|
||||
... --port=${APIPORT}
|
||||
... --proto=http
|
||||
|
||||
*** Test Cases ***
|
||||
Throughput ${tc}
|
||||
[Documentation] Check agent throughput statistics.
|
||||
[Tags] apps monitoring latencetech restapi
|
||||
|
||||
${command} Catenate
|
||||
... ${cmd}
|
||||
... --customer-id=0
|
||||
... --agent-id=2
|
||||
... ${extraoptions}
|
||||
Log ${cmd}
|
||||
Ctn Run Command And Check Result As Strings ${command} ${expected_result}
|
||||
|
||||
Examples: tc extraoptions expected_result --
|
||||
... 1 ${EMPTY}
|
||||
... OK: Agent '2' LIFBE Download: 531.58Mbps, LIFBE Upload: 47.05Mbps, Jitter Download Time: 1.17ms, Jitter Upload Time: 3.38ms | '2#lifbe.download.bandwidth.bps'=531580000bps;;;0; '2#lifbe.upload.bandwidth.bps'=47050000bps;;;0; '2#jitter.download.time.milliseconds'=1.17ms;;;0; '2#jitter.upload.time.milliseconds'=3.38ms;;;0;
|
||||
... 2 --warning-lifbe-download=500
|
||||
... WARNING: Agent '2' LIFBE Download: 531.58Mbps | '2#lifbe.download.bandwidth.bps'=531580000bps;0:500;;0; '2#lifbe.upload.bandwidth.bps'=47050000bps;;;0; '2#jitter.download.time.milliseconds'=1.17ms;;;0; '2#jitter.upload.time.milliseconds'=3.38ms;;;0;
|
||||
... 3 --critical-lifbe-download=450
|
||||
... CRITICAL: Agent '2' LIFBE Download: 531.58Mbps | '2#lifbe.download.bandwidth.bps'=531580000bps;;0:450;0; '2#lifbe.upload.bandwidth.bps'=47050000bps;;;0; '2#jitter.download.time.milliseconds'=1.17ms;;;0; '2#jitter.upload.time.milliseconds'=3.38ms;;;0;
|
||||
... 4 --warning-lifbe-upload=45000000
|
||||
... WARNING: Agent '2' LIFBE Upload: 47.05Mbps | '2#lifbe.download.bandwidth.bps'=531580000bps;;;0; '2#lifbe.upload.bandwidth.bps'=47050000bps;0:45000000;;0; '2#jitter.download.time.milliseconds'=1.17ms;;;0; '2#jitter.upload.time.milliseconds'=3.38ms;;;0;
|
||||
... 5 --critical-lifbe-upload=40000000
|
||||
... CRITICAL: Agent '2' LIFBE Upload: 47.05Mbps | '2#lifbe.download.bandwidth.bps'=531580000bps;;;0; '2#lifbe.upload.bandwidth.bps'=47050000bps;;0:40000000;0; '2#jitter.download.time.milliseconds'=1.17ms;;;0; '2#jitter.upload.time.milliseconds'=3.38ms;;;0;
|
||||
... 6 --critical-lifbe-upload=48000000
|
||||
... OK: Agent '2' LIFBE Download: 531.58Mbps, LIFBE Upload: 47.05Mbps, Jitter Download Time: 1.17ms, Jitter Upload Time: 3.38ms | '2#lifbe.download.bandwidth.bps'=531580000bps;;;0; '2#lifbe.upload.bandwidth.bps'=47050000bps;;0:48000000;0; '2#jitter.download.time.milliseconds'=1.17ms;;;0; '2#jitter.upload.time.milliseconds'=3.38ms;;;0;
|
||||
... 7 --warning-jitter-download=0.9
|
||||
... WARNING: Agent '2' Jitter Download Time: 1.17ms | '2#lifbe.download.bandwidth.bps'=531580000bps;;;0; '2#lifbe.upload.bandwidth.bps'=47050000bps;;;0; '2#jitter.download.time.milliseconds'=1.17ms;0:0.9;;0; '2#jitter.upload.time.milliseconds'=3.38ms;;;0;
|
||||
... 8 --critical-jitter-download=1.1
|
||||
... CRITICAL: Agent '2' Jitter Download Time: 1.17ms | '2#lifbe.download.bandwidth.bps'=531580000bps;;;0; '2#lifbe.upload.bandwidth.bps'=47050000bps;;;0; '2#jitter.download.time.milliseconds'=1.17ms;;0:1.1;0; '2#jitter.upload.time.milliseconds'=3.38ms;;;0;
|
||||
... 9 --warning-jitter-upload=3
|
||||
... WARNING: Agent '2' Jitter Upload Time: 3.38ms | '2#lifbe.download.bandwidth.bps'=531580000bps;;;0; '2#lifbe.upload.bandwidth.bps'=47050000bps;;;0; '2#jitter.download.time.milliseconds'=1.17ms;;;0; '2#jitter.upload.time.milliseconds'=3.38ms;0:3;;0;
|
||||
... 10 --critical-jitter-upload=3.25
|
||||
... CRITICAL: Agent '2' Jitter Upload Time: 3.38ms | '2#lifbe.download.bandwidth.bps'=531580000bps;;;0; '2#lifbe.upload.bandwidth.bps'=47050000bps;;;0; '2#jitter.download.time.milliseconds'=1.17ms;;;0; '2#jitter.upload.time.milliseconds'=3.38ms;;0:3.25;0;
|
51
tests/apps/monitoring/latencetech/restapi/twamp.robot
Normal file
51
tests/apps/monitoring/latencetech/restapi/twamp.robot
Normal file
@ -0,0 +1,51 @@
|
||||
*** Settings ***
|
||||
Documentation Check the LatenceTech twamp mode with api custom mode
|
||||
|
||||
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::monitoring::latencetech::restapi::plugin
|
||||
... --custommode=api
|
||||
... --mode=twamp
|
||||
... --hostname=${HOSTNAME}
|
||||
... --api-key=key
|
||||
... --port=${APIPORT}
|
||||
... --proto=http
|
||||
|
||||
|
||||
*** Test Cases ***
|
||||
Twamp ${tc}
|
||||
[Documentation] Check the agent forecast statistics
|
||||
[Tags] apps monitoring latencetech restapi
|
||||
|
||||
${command} Catenate
|
||||
... ${cmd}
|
||||
... --customer-id=0
|
||||
... --agent-id=2
|
||||
... ${extraoptions}
|
||||
Log ${cmd}
|
||||
Ctn Run Command And Check Result As Strings ${command} ${expected_result}
|
||||
|
||||
Examples: tc extraoptions expected_result --
|
||||
... 1 ${EMPTY}
|
||||
... OK: Agent '2' TWAMP Forward Delta: 12.92ms, TWAMP Reverse Delta: -4.19ms, TWAMP Processing Delta: 0.11ms | '2#twamp.forwarddelta.time.milliseconds'=12.92ms;;;0; '2#twamp.reversedelta.time.milliseconds'=-4.19ms;;;0; '2#twamp.processingdelta.time.milliseconds'=0.11ms;;;0;
|
||||
... 2 --warning-twamp-forward=10
|
||||
... WARNING: Agent '2' TWAMP Forward Delta: 12.92ms | '2#twamp.forwarddelta.time.milliseconds'=12.92ms;0:10;;0; '2#twamp.reversedelta.time.milliseconds'=-4.19ms;;;0; '2#twamp.processingdelta.time.milliseconds'=0.11ms;;;0;
|
||||
... 3 --critical-twamp-forward=12.5
|
||||
... CRITICAL: Agent '2' TWAMP Forward Delta: 12.92ms | '2#twamp.forwarddelta.time.milliseconds'=12.92ms;;0:12.5;0; '2#twamp.reversedelta.time.milliseconds'=-4.19ms;;;0; '2#twamp.processingdelta.time.milliseconds'=0.11ms;;;0;
|
||||
... 4 --warning-twamp-reverse=-4.5
|
||||
... WARNING: Agent '2' TWAMP Reverse Delta: -4.19ms | '2#twamp.forwarddelta.time.milliseconds'=12.92ms;;;0; '2#twamp.reversedelta.time.milliseconds'=-4.19ms;0:-4.5;;0; '2#twamp.processingdelta.time.milliseconds'=0.11ms;;;0;
|
||||
... 5 --critical-twamp-reverse=-5
|
||||
... CRITICAL: Agent '2' TWAMP Reverse Delta: -4.19ms | '2#twamp.forwarddelta.time.milliseconds'=12.92ms;;;0; '2#twamp.reversedelta.time.milliseconds'=-4.19ms;;0:-5;0; '2#twamp.processingdelta.time.milliseconds'=0.11ms;;;0;
|
||||
... 6 --warning-twamp-processing=0.05
|
||||
... WARNING: Agent '2' TWAMP Processing Delta: 0.11ms | '2#twamp.forwarddelta.time.milliseconds'=12.92ms;;;0; '2#twamp.reversedelta.time.milliseconds'=-4.19ms;;;0; '2#twamp.processingdelta.time.milliseconds'=0.11ms;0:0.05;;0;
|
||||
... 7 --critical-twamp-processing=0.1
|
||||
... CRITICAL: Agent '2' TWAMP Processing Delta: 0.11ms | '2#twamp.forwarddelta.time.milliseconds'=12.92ms;;;0; '2#twamp.reversedelta.time.milliseconds'=-4.19ms;;;0; '2#twamp.processingdelta.time.milliseconds'=0.11ms;;0:0.1;0;
|
@ -113,6 +113,7 @@ hashicorpvault
|
||||
HPE
|
||||
HTTPR
|
||||
Huawei
|
||||
ICMP
|
||||
ifAlias
|
||||
ifDesc
|
||||
ifName
|
||||
@ -150,6 +151,7 @@ kccevent
|
||||
keepass
|
||||
Keysight
|
||||
Kubernetes
|
||||
LatenceTech
|
||||
ldap
|
||||
LDP
|
||||
--legacy-api-beta
|
||||
@ -308,6 +310,7 @@ tower-cli
|
||||
TLSv1
|
||||
TrendMicro
|
||||
tsdb-version
|
||||
TWAMP
|
||||
UCD
|
||||
UDP
|
||||
unicast
|
||||
|
Loading…
x
Reference in New Issue
Block a user