(plugin) network::cisco::meraki::cloudcontroller::restapi - add device.li… (#4486)
This commit is contained in:
parent
e0922ef7f1
commit
0ad0ff3568
|
@ -443,6 +443,9 @@ sub get_organization_uplink_loss_and_latency {
|
|||
|
||||
if (defined($datas)) {
|
||||
foreach (@$datas) {
|
||||
# sometimes uplink is undef. so we skip
|
||||
next if (!defined($_->{uplink}));
|
||||
|
||||
$self->{datas}->{uplinks_loss_latency}->{ $options{orgId} }->{ $_->{serial} } = {}
|
||||
if (!defined($self->{datas}->{uplinks_loss_latency}->{ $options{orgId} }->{ $_->{serial} }));
|
||||
$self->{datas}->{uplinks_loss_latency}->{ $options{orgId} }->{ $_->{serial} }->{ $_->{uplink} } = $_;
|
||||
|
|
|
@ -98,6 +98,7 @@ sub set_counters {
|
|||
{ name => 'device_performance', type => 0, skipped_code => { -10 => 1 } },
|
||||
{ name => 'device_connections', type => 0, cb_prefix_output => 'prefix_connection_output', skipped_code => { -10 => 1 } },
|
||||
{ name => 'device_traffic', type => 0, cb_prefix_output => 'prefix_traffic_output', skipped_code => { -10 => 1, -11 => 1 } },
|
||||
{ name => 'device_links_counters', type => 0, skipped_code => { -10 => 1, -11 => 1 } },
|
||||
{ name => 'device_links', display_long => 1, cb_prefix_output => 'prefix_link_output', message_multiple => 'All links are ok', type => 1, skipped_code => { -10 => 1 } },
|
||||
{ name => 'device_ports', display_long => 1, cb_prefix_output => 'prefix_port_output', message_multiple => 'All ports are ok', type => 1, skipped_code => { -10 => 1 } }
|
||||
]
|
||||
|
@ -144,7 +145,7 @@ sub set_counters {
|
|||
{ template => '%s', min => 0, max => 'total' }
|
||||
]
|
||||
}
|
||||
},
|
||||
}
|
||||
];
|
||||
|
||||
$self->{maps_counters}->{device_status} = [
|
||||
|
@ -217,7 +218,7 @@ sub set_counters {
|
|||
output_template => 'in: %s %s/s',
|
||||
output_change_bytes => 2,
|
||||
perfdatas => [
|
||||
{ template => '%s', min => 0, unit => 'b/s', label_extra_instance => 1, instance_use => 'display' }
|
||||
{ template => '%s', min => 0, unit => 'b/s', label_extra_instance => 1 }
|
||||
]
|
||||
}
|
||||
},
|
||||
|
@ -226,7 +227,18 @@ sub set_counters {
|
|||
output_template => 'out: %s %s/s',
|
||||
output_change_bytes => 2,
|
||||
perfdatas => [
|
||||
{ template => '%s', min => 0, unit => 'b/s', label_extra_instance => 1, instance_use => 'display' }
|
||||
{ template => '%s', min => 0, unit => 'b/s', label_extra_instance => 1 }
|
||||
]
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
$self->{maps_counters}->{device_links_counters} = [
|
||||
{ label => 'links-ineffective', nlabel => 'device.links.ineffective.count', display_ok => 0, set => {
|
||||
key_values => [ { name => 'ineffective' } ],
|
||||
output_template => 'links ineffective: %s',
|
||||
perfdatas => [
|
||||
{ template => '%s', min => 0, label_extra_instance => 1 }
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -356,6 +368,8 @@ sub add_uplink {
|
|||
);
|
||||
|
||||
if (defined($links)) {
|
||||
$self->{devices}->{ $options{serial} }->{device_links_counters} = { ineffective => 0 };
|
||||
|
||||
foreach (@$links) {
|
||||
my $interface = lc($_->{interface});
|
||||
$interface =~ s/\s+//g;
|
||||
|
@ -363,6 +377,8 @@ sub add_uplink {
|
|||
display => $interface,
|
||||
link_status => lc($_->{status})
|
||||
};
|
||||
$self->{devices}->{ $options{serial} }->{device_links_counters}->{ineffective}++
|
||||
if ($_->{status} =~ /failed|Not Connected/i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -656,7 +672,7 @@ Thresholds.
|
|||
Can be: 'total-online', 'total-online-prct', 'total-offline', 'total-offline-prct', 'total-alerting',
|
||||
'traffic-in', 'traffic-out', 'connections-success', 'connections-auth',
|
||||
'connections-assoc', 'connections-dhcp', 'connections-dns',
|
||||
'load', 'link-latency' (ms), ''link-loss' (%),
|
||||
'load', 'links-ineffective', 'link-latency' (ms), ''link-loss' (%),
|
||||
'port-traffic-in', 'port-traffic-out'.
|
||||
|
||||
=back
|
||||
|
|
|
@ -84,7 +84,9 @@ sub manage_selection {
|
|||
status => $devices_statuses->{ $devices->{$_}->{serial} }->{status},
|
||||
public_ip => $devices_statuses->{ $devices->{$_}->{serial} }->{publicIp},
|
||||
network_name => $networks->{ $devices->{$_}->{networkId} }->{name},
|
||||
organization_name => $organization_name
|
||||
organization_name => $organization_name,
|
||||
model => $devices->{$_}->{model},
|
||||
serial => $_
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -97,11 +99,13 @@ sub run {
|
|||
my $devices = $self->manage_selection(%options);
|
||||
foreach (values %$devices) {
|
||||
$self->{output}->output_add(long_msg => sprintf(
|
||||
'[name: %s][status: %s][network name: %s][organization name: %s]',
|
||||
'[name: %s][status: %s][network name: %s][organization name: %s][model: %s][serial: %s]',
|
||||
$_->{name},
|
||||
$_->{status},
|
||||
$_->{network_name},
|
||||
$_->{organization_name}
|
||||
$_->{organization_name},
|
||||
$_->{model},
|
||||
$_->{serial}
|
||||
)
|
||||
);
|
||||
}
|
||||
|
@ -118,7 +122,7 @@ sub disco_format {
|
|||
my ($self, %options) = @_;
|
||||
|
||||
$self->{output}->add_disco_format(elements => [
|
||||
'name', 'status', 'tags', 'organization_name', 'network_id', 'network_name'
|
||||
'name', 'status', 'tags', 'organization_name', 'network_id', 'network_name', 'model', 'serial'
|
||||
]);
|
||||
}
|
||||
|
||||
|
@ -133,7 +137,9 @@ sub disco_show {
|
|||
network_name => $_->{network_name},
|
||||
network_id => $_->{networkId},
|
||||
organization_name => $_->{organization_name},
|
||||
tags => defined($_->{tags}) ? join(',', @{$_->{tags}}) : ''
|
||||
tags => defined($_->{tags}) ? join(',', @{$_->{tags}}) : '',
|
||||
model => $_->{model},
|
||||
serial => $_->{serial}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue