Fix #2035
This commit is contained in:
parent
ac3cc971ad
commit
213c426801
|
@ -33,32 +33,22 @@ sub custom_status_output {
|
||||||
return 'status: ' . $self->{result_values}->{status} . ' [admin: ' . $self->{result_values}->{admin} . ']';
|
return 'status: ' . $self->{result_values}->{status} . ' [admin: ' . $self->{result_values}->{admin} . ']';
|
||||||
}
|
}
|
||||||
|
|
||||||
sub custom_status_calc {
|
|
||||||
my ($self, %options) = @_;
|
|
||||||
|
|
||||||
$self->{result_values}->{display} = $options{new_datas}->{$self->{instance} . '_display'};
|
|
||||||
$self->{result_values}->{status} = $options{new_datas}->{$self->{instance} . '_status'};
|
|
||||||
$self->{result_values}->{admin} = $options{new_datas}->{$self->{instance} . '_admin'};
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub set_counters {
|
sub set_counters {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
$self->{maps_counters_type} = [
|
$self->{maps_counters_type} = [
|
||||||
{ name => 'ap', type => 1, cb_prefix_output => 'prefix_ap_output', message_multiple => 'All access points are ok', skipped_code => { -10 => 1 } },
|
{ name => 'ap', type => 1, cb_prefix_output => 'prefix_ap_output', message_multiple => 'All access points are ok', skipped_code => { -10 => 1 } }
|
||||||
];
|
];
|
||||||
|
|
||||||
$self->{maps_counters}->{ap} = [
|
$self->{maps_counters}->{ap} = [
|
||||||
{ label => 'status', threshold => 0, set => {
|
{ label => 'status', threshold => 0, set => {
|
||||||
key_values => [ { name => 'status' }, { name => 'admin' }, { name => 'display' } ],
|
key_values => [ { name => 'status' }, { name => 'admin' }, { name => 'display' } ],
|
||||||
closure_custom_calc => $self->can('custom_status_calc'),
|
|
||||||
closure_custom_output => $self->can('custom_status_output'),
|
closure_custom_output => $self->can('custom_status_output'),
|
||||||
closure_custom_perfdata => sub { return 0; },
|
closure_custom_perfdata => sub { return 0; },
|
||||||
closure_custom_threshold_check => \&catalog_status_threshold
|
closure_custom_threshold_check => \&catalog_status_threshold
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'in-traffic', set => {
|
{ label => 'in-traffic', nlabel => 'accesspoint.traffic.in.bitspersecond', set => {
|
||||||
key_values => [ { name => 'in', per_second => 1 }, { name => 'display' } ],
|
key_values => [ { name => 'in', per_second => 1 }, { name => 'display' } ],
|
||||||
output_change_bytes => 2,
|
output_change_bytes => 2,
|
||||||
output_template => 'traffic in: %s %s/s',
|
output_template => 'traffic in: %s %s/s',
|
||||||
|
@ -68,7 +58,7 @@ sub set_counters {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'out-traffic', set => {
|
{ label => 'out-traffic', nlabel => 'accesspoint.traffic.out.bitspersecond', set => {
|
||||||
key_values => [ { name => 'out', per_second => 1 }, { name => 'display' } ],
|
key_values => [ { name => 'out', per_second => 1 }, { name => 'display' } ],
|
||||||
output_change_bytes => 2,
|
output_change_bytes => 2,
|
||||||
output_template => 'traffic out: %s %s/s',
|
output_template => 'traffic out: %s %s/s',
|
||||||
|
@ -78,7 +68,7 @@ sub set_counters {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'clients', set => {
|
{ label => 'clients', nlabel => 'accesspoint.clients.current.count', set => {
|
||||||
key_values => [ { name => 'clients' }, { name => 'display' } ],
|
key_values => [ { name => 'clients' }, { name => 'display' } ],
|
||||||
output_template => 'current client connections: %s',
|
output_template => 'current client connections: %s',
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
|
@ -87,7 +77,7 @@ sub set_counters {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'cpu', set => {
|
{ label => 'cpu', nlabel => 'accesspoint.cpu.utilization.percentage', set => {
|
||||||
key_values => [ { name => 'cpu' }, { name => 'display' } ],
|
key_values => [ { name => 'cpu' }, { name => 'display' } ],
|
||||||
output_template => 'cpu usage: %.2f %%',
|
output_template => 'cpu usage: %.2f %%',
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
|
@ -96,7 +86,7 @@ sub set_counters {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'memory', set => {
|
{ label => 'memory', nlabel => 'accesspoint.memory.usage.bytes', set => {
|
||||||
key_values => [ { name => 'memory' }, { name => 'display' } ],
|
key_values => [ { name => 'memory' }, { name => 'display' } ],
|
||||||
output_template => 'memory usage: %.2f %%',
|
output_template => 'memory usage: %.2f %%',
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
|
@ -215,7 +205,7 @@ sub manage_selection {
|
||||||
$self->{ap}->{$_}->{memory} = $result->{fgWcWtpSessionWtpMemoryUsage};
|
$self->{ap}->{$_}->{memory} = $result->{fgWcWtpSessionWtpMemoryUsage};
|
||||||
}
|
}
|
||||||
|
|
||||||
$self->{cache_name} = "fortigate_" . $self->{mode} . '_' . $options{snmp}->get_hostname() . '_' . $options{snmp}->get_port() . '_' .
|
$self->{cache_name} = 'fortigate_' . $self->{mode} . '_' . $options{snmp}->get_hostname() . '_' . $options{snmp}->get_port() . '_' .
|
||||||
(defined($self->{option_results}->{filter_counters}) ? md5_hex($self->{option_results}->{filter_counters}) : md5_hex('all')) . '_' .
|
(defined($self->{option_results}->{filter_counters}) ? md5_hex($self->{option_results}->{filter_counters}) : md5_hex('all')) . '_' .
|
||||||
(defined($self->{option_results}->{filter_name}) ? md5_hex($self->{option_results}->{filter_name}) : md5_hex('all'));
|
(defined($self->{option_results}->{filter_name}) ? md5_hex($self->{option_results}->{filter_name}) : md5_hex('all'));
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,7 @@ sub custom_status_output {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
return sprintf(
|
return sprintf(
|
||||||
"status is '%s' [Hostname: %s] [Role: %s] [Checksum: %s]",
|
"status is '%s' [hostname: %s] [role: %s] [checksum: %s]",
|
||||||
$self->{result_values}->{sync_status},
|
$self->{result_values}->{sync_status},
|
||||||
$self->{result_values}->{hostname},
|
$self->{result_values}->{hostname},
|
||||||
$self->{result_values}->{role},
|
$self->{result_values}->{role},
|
||||||
|
@ -65,7 +65,7 @@ sub prefix_status_output {
|
||||||
sub prefix_global_output {
|
sub prefix_global_output {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
return "Nodes ";
|
return 'Nodes ';
|
||||||
}
|
}
|
||||||
|
|
||||||
sub set_counters {
|
sub set_counters {
|
||||||
|
@ -77,33 +77,33 @@ sub set_counters {
|
||||||
];
|
];
|
||||||
|
|
||||||
$self->{maps_counters}->{global} = [
|
$self->{maps_counters}->{global} = [
|
||||||
{ label => 'total-nodes', display_ok => 0, set => {
|
{ label => 'total-nodes', nlabel => 'cluster.nodes.total.count', display_ok => 0, set => {
|
||||||
key_values => [ { name => 'total_nodes' } ],
|
key_values => [ { name => 'total_nodes' } ],
|
||||||
output_template => 'Total nodes: %d',
|
output_template => 'total nodes: %d',
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
{ label => 'total_nodes', template => '%d', min => 0 }
|
{ label => 'total_nodes', template => '%d', min => 0 }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'synchronized', set => {
|
{ label => 'synchronized', nlabel => 'cluster.nodes.synchronized.count', set => {
|
||||||
key_values => [ { name => 'synchronized' } ],
|
key_values => [ { name => 'synchronized' } ],
|
||||||
output_template => 'Synchronized: %d',
|
output_template => 'synchronized: %d',
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
{ label => 'synchronized_nodes', template => '%d', min => 0 }
|
{ label => 'synchronized_nodes', template => '%d', min => 0 }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'not-synchronized', set => {
|
{ label => 'not-synchronized', nlabel => 'cluster.nodes.notsynchronized.count',set => {
|
||||||
key_values => [ { name => 'not_synchronized' } ],
|
key_values => [ { name => 'not_synchronized' } ],
|
||||||
output_template => 'Not Synchronized: %d',
|
output_template => 'not synchronized: %d',
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
{ label => 'not_synchronized_nodes', template => '%d', min => 0 }
|
{ label => 'not_synchronized_nodes', template => '%d', min => 0 }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'total-checksums', display_ok => 0, set => {
|
{ label => 'total-checksums', nlabel => 'cluster.checksums.total.count', display_ok => 0, set => {
|
||||||
key_values => [ { name => 'total_checksums' } ],
|
key_values => [ { name => 'total_checksums' } ],
|
||||||
output_template => 'Total Checksums: %d',
|
output_template => 'total checksums: %d',
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
{ label => 'total_checksums', template => '%d', min => 0 }
|
{ label => 'total_checksums', template => '%d', min => 0 }
|
||||||
]
|
]
|
||||||
|
@ -174,7 +174,7 @@ sub manage_selection {
|
||||||
$self->{output}->option_exit();
|
$self->{output}->option_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
$self->{output}->output_add(short_msg => "HA mode: " . $map_ha_mode->{ $mode->{$oid_fgHaSystemMode} });
|
$self->{output}->output_add(short_msg => 'HA mode: ' . $map_ha_mode->{ $mode->{$oid_fgHaSystemMode} });
|
||||||
|
|
||||||
my $snmp_result = $options{snmp}->get_table(
|
my $snmp_result = $options{snmp}->get_table(
|
||||||
oid => $oid_fgHaStatsEntry,
|
oid => $oid_fgHaStatsEntry,
|
||||||
|
|
|
@ -88,8 +88,10 @@ sub run {
|
||||||
$prct, $size_value . " " . $size_unit
|
$prct, $size_value . " " . $size_unit
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
$self->{output}->perfdata_add(
|
$self->{output}->perfdata_add(
|
||||||
label => "used", unit => 'B',
|
label => 'used', unit => 'B',
|
||||||
|
nlabel => 'storage.space.usage.bytes',
|
||||||
value => $fgSysDiskUsage,
|
value => $fgSysDiskUsage,
|
||||||
warning => $self->{perfdata}->get_perfdata_for_output(label => 'warning', total => $fgSysDiskCapacity, cast_int => 1),
|
warning => $self->{perfdata}->get_perfdata_for_output(label => 'warning', total => $fgSysDiskCapacity, cast_int => 1),
|
||||||
critical => $self->{perfdata}->get_perfdata_for_output(label => 'critical', total => $fgSysDiskCapacity, cast_int => 1),
|
critical => $self->{perfdata}->get_perfdata_for_output(label => 'critical', total => $fgSysDiskCapacity, cast_int => 1),
|
||||||
|
|
|
@ -20,77 +20,84 @@
|
||||||
|
|
||||||
package centreon::common::fortinet::fortigate::snmp::mode::sessions;
|
package centreon::common::fortinet::fortigate::snmp::mode::sessions;
|
||||||
|
|
||||||
use base qw(centreon::plugins::mode);
|
use base qw(centreon::plugins::templates::counter);
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
|
sub prefix_average_output {
|
||||||
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
|
return 'Average session setup rate: ';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub set_counters {
|
||||||
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
|
$self->{maps_counters_type} = [
|
||||||
|
{ name => 'global', type => 0 },
|
||||||
|
{ name => 'average', type => 0, cb_prefix_output => 'prefix_average_output' },
|
||||||
|
];
|
||||||
|
|
||||||
|
$self->{maps_counters}->{global} = [
|
||||||
|
{ label => 'active', nlabel => 'sessions.active.count', set => {
|
||||||
|
key_values => [ { name => 'active' } ],
|
||||||
|
output_template => 'Current active sessions: %d',
|
||||||
|
perfdatas => [
|
||||||
|
{ label => 'sessions', template => '%d', min => 0 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
$self->{maps_counters}->{average} = [
|
||||||
|
{ label => 'setup-1min', nlabel => 'sessions.setup.1min.count', set => {
|
||||||
|
key_values => [ { name => 'setup_1min' } ],
|
||||||
|
output_template => '%d (1min)',
|
||||||
|
perfdatas => [
|
||||||
|
{ label => 'session_avg_setup1', template => '%d', min => 0 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ label => 'setup-10min', nlabel => 'sessions.setup.10min.count', set => {
|
||||||
|
key_values => [ { name => 'setup_10min' } ],
|
||||||
|
output_template => '%d (10min)',
|
||||||
|
perfdatas => [
|
||||||
|
{ label => 'session_avg_setup10', template => '%d', min => 0 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ label => 'setup-30min', nlabel => 'sessions.setup.30min.count', set => {
|
||||||
|
key_values => [ { name => 'setup_30min' } ],
|
||||||
|
output_template => '%d (30min)',
|
||||||
|
perfdatas => [
|
||||||
|
{ label => 'session_avg_setup30', template => '%d', min => 0 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ label => 'setup-60min', nlabel => 'sessions.setup.60min.count', set => {
|
||||||
|
key_values => [ { name => 'setup_60min' } ],
|
||||||
|
output_template => '%d (60min)',
|
||||||
|
perfdatas => [
|
||||||
|
{ label => 'session_avg_setup60', template => '%d', min => 0 }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
sub new {
|
sub new {
|
||||||
my ($class, %options) = @_;
|
my ($class, %options) = @_;
|
||||||
my $self = $class->SUPER::new(package => __PACKAGE__, %options);
|
my $self = $class->SUPER::new(package => __PACKAGE__, %options);
|
||||||
bless $self, $class;
|
bless $self, $class;
|
||||||
|
|
||||||
$options{options}->add_options(arguments => {
|
$options{options}->add_options(arguments => {
|
||||||
'warning:s' => { name => 'warning', },
|
|
||||||
'critical:s' => { name => 'critical', },
|
|
||||||
'warning-avg:s' => { name => 'warning_avg', default => '' },
|
|
||||||
'critical-avg:s' => { name => 'critical_avg', default => '' },
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return $self;
|
return $self;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub check_options {
|
sub manage_selection {
|
||||||
my ($self, %options) = @_;
|
|
||||||
$self->SUPER::init(%options);
|
|
||||||
|
|
||||||
if (($self->{perfdata}->threshold_validate(label => 'warning', value => $self->{option_results}->{warning})) == 0) {
|
|
||||||
$self->{output}->add_option_msg(short_msg => "Wrong warning threshold '" . $self->{option_results}->{warning} . "'.");
|
|
||||||
$self->{output}->option_exit();
|
|
||||||
}
|
|
||||||
if (($self->{perfdata}->threshold_validate(label => 'critical', value => $self->{option_results}->{critical})) == 0) {
|
|
||||||
$self->{output}->add_option_msg(short_msg => "Wrong critical threshold '" . $self->{option_results}->{critical} . "'.");
|
|
||||||
$self->{output}->option_exit();
|
|
||||||
}
|
|
||||||
|
|
||||||
($self->{warn1}, $self->{warn10}, $self->{warn30}, $self->{warn60}) = split /,/, $self->{option_results}->{warning_avg};
|
|
||||||
($self->{crit1}, $self->{crit10}, $self->{crit30}, $self->{crit60}) = split /,/, $self->{option_results}->{critical_avg};
|
|
||||||
|
|
||||||
if (($self->{perfdata}->threshold_validate(label => 'warn1', value => $self->{warn1})) == 0) {
|
|
||||||
$self->{output}->add_option_msg(short_msg => "Wrong warning (1min) threshold '" . $self->{warn1} . "'.");
|
|
||||||
$self->{output}->option_exit();
|
|
||||||
}
|
|
||||||
if (($self->{perfdata}->threshold_validate(label => 'warn10', value => $self->{warn10})) == 0) {
|
|
||||||
$self->{output}->add_option_msg(short_msg => "Wrong warning (10min) threshold '" . $self->{warn10} . "'.");
|
|
||||||
$self->{output}->option_exit();
|
|
||||||
}
|
|
||||||
if (($self->{perfdata}->threshold_validate(label => 'warn30', value => $self->{warn30})) == 0) {
|
|
||||||
$self->{output}->add_option_msg(short_msg => "Wrong warning (30min) threshold '" . $self->{warn30} . "'.");
|
|
||||||
$self->{output}->option_exit();
|
|
||||||
}
|
|
||||||
if (($self->{perfdata}->threshold_validate(label => 'warn60', value => $self->{warn60})) == 0) {
|
|
||||||
$self->{output}->add_option_msg(short_msg => "Wrong warning (60min) threshold '" . $self->{warn60} . "'.");
|
|
||||||
$self->{output}->option_exit();
|
|
||||||
}
|
|
||||||
if (($self->{perfdata}->threshold_validate(label => 'crit1', value => $self->{crit1})) == 0) {
|
|
||||||
$self->{output}->add_option_msg(short_msg => "Wrong critical (1min) threshold '" . $self->{crit1} . "'.");
|
|
||||||
$self->{output}->option_exit();
|
|
||||||
}
|
|
||||||
if (($self->{perfdata}->threshold_validate(label => 'crit10', value => $self->{crit10})) == 0) {
|
|
||||||
$self->{output}->add_option_msg(short_msg => "Wrong critical (10min) threshold '" . $self->{crit10} . "'.");
|
|
||||||
$self->{output}->option_exit();
|
|
||||||
}
|
|
||||||
if (($self->{perfdata}->threshold_validate(label => 'crit30', value => $self->{crit30})) == 0) {
|
|
||||||
$self->{output}->add_option_msg(short_msg => "Wrong critical (30min) threshold '" . $self->{crit30} . "'.");
|
|
||||||
$self->{output}->option_exit();
|
|
||||||
}
|
|
||||||
if (($self->{perfdata}->threshold_validate(label => 'crit60', value => $self->{crit60})) == 0) {
|
|
||||||
$self->{output}->add_option_msg(short_msg => "Wrong critical (60min) threshold '" . $self->{crit60} . "'.");
|
|
||||||
$self->{output}->option_exit();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub run {
|
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
my $oid_fgSysSesCount = '.1.3.6.1.4.1.12356.101.4.1.8.0';
|
my $oid_fgSysSesCount = '.1.3.6.1.4.1.12356.101.4.1.8.0';
|
||||||
|
@ -106,67 +113,13 @@ sub run {
|
||||||
nothing_quit => 1
|
nothing_quit => 1
|
||||||
);
|
);
|
||||||
|
|
||||||
my $exit = $self->{perfdata}->threshold_check(
|
$self->{global} = { active => $result->{$oid_fgSysSesCount} };
|
||||||
value => $result->{$oid_fgSysSesCount},
|
$self->{average} = {
|
||||||
threshold => [ { label => 'critical', exit_litteral => 'critical' }, { label => 'warning', exit_litteral => 'warning' } ]
|
setup_1min => $result->{$oid_fgSysSesRate1},
|
||||||
);
|
setup_10min => $result->{$oid_fgSysSesRate10},
|
||||||
$self->{output}->output_add(
|
setup_30min => $result->{$oid_fgSysSesRate30},
|
||||||
severity => $exit,
|
setup_60min => $result->{$oid_fgSysSesRate60}
|
||||||
short_msg => sprintf('Current active sessions: %d', $result->{$oid_fgSysSesCount})
|
};
|
||||||
);
|
|
||||||
$self->{output}->perfdata_add(
|
|
||||||
label => "sessions",
|
|
||||||
value => $result->{$oid_fgSysSesCount},
|
|
||||||
warning => $self->{perfdata}->get_perfdata_for_output(label => 'warning'),
|
|
||||||
critical => $self->{perfdata}->get_perfdata_for_output(label => 'critical'),
|
|
||||||
min => 0
|
|
||||||
);
|
|
||||||
|
|
||||||
my $exit1 = $self->{perfdata}->threshold_check(value => $result->{$oid_fgSysSesRate1},
|
|
||||||
threshold => [ { label => 'crit1', exit_litteral => 'critical' }, { label => 'warn1', exit_litteral => 'warning' } ]);
|
|
||||||
my $exit2 = $self->{perfdata}->threshold_check(value => $result->{$oid_fgSysSesRate10},
|
|
||||||
threshold => [ { label => 'crit10', exit_litteral => 'critical' }, { label => 'warn10', exit_litteral => 'warning' } ]);
|
|
||||||
my $exit3 = $self->{perfdata}->threshold_check(value => $result->{$oid_fgSysSesRate30},
|
|
||||||
threshold => [ { label => 'crit30', exit_litteral => 'critical' }, { label => 'warn30', exit_litteral => 'warning' } ]);
|
|
||||||
my $exit4 = $self->{perfdata}->threshold_check(value => $result->{$oid_fgSysSesRate60},
|
|
||||||
threshold => [ { label => 'crit60', exit_litteral => 'critical' }, { label => 'warn60', exit_litteral => 'warning' } ]);
|
|
||||||
$exit = $self->{output}->get_most_critical(status => [ $exit1, $exit2, $exit3, $exit4 ]);
|
|
||||||
$self->{output}->output_add(severity => $exit,
|
|
||||||
short_msg => sprintf("Average session setup rate: %s, %s, %s, %s (1min, 10min, 30min, 60min)",
|
|
||||||
$result->{$oid_fgSysSesRate1}, $result->{$oid_fgSysSesRate10},
|
|
||||||
$result->{$oid_fgSysSesRate30}, $result->{$oid_fgSysSesRate60}));
|
|
||||||
|
|
||||||
$self->{output}->perfdata_add(
|
|
||||||
label => 'session_avg_setup1',
|
|
||||||
value => $result->{$oid_fgSysSesRate1},
|
|
||||||
warning => $self->{perfdata}->get_perfdata_for_output(label => 'warn1'),
|
|
||||||
critical => $self->{perfdata}->get_perfdata_for_output(label => 'crit1'),
|
|
||||||
min => 0
|
|
||||||
);
|
|
||||||
$self->{output}->perfdata_add(
|
|
||||||
label => 'session_avg_setup10',
|
|
||||||
value => $result->{$oid_fgSysSesRate10},
|
|
||||||
warning => $self->{perfdata}->get_perfdata_for_output(label => 'warn10'),
|
|
||||||
critical => $self->{perfdata}->get_perfdata_for_output(label => 'crit10'),
|
|
||||||
min => 0
|
|
||||||
);
|
|
||||||
$self->{output}->perfdata_add(
|
|
||||||
label => 'session_avg_setup30',
|
|
||||||
value => $result->{$oid_fgSysSesRate30},
|
|
||||||
warning => $self->{perfdata}->get_perfdata_for_output(label => 'warn30'),
|
|
||||||
critical => $self->{perfdata}->get_perfdata_for_output(label => 'crit30'),
|
|
||||||
min => 0
|
|
||||||
);
|
|
||||||
$self->{output}->perfdata_add(
|
|
||||||
label => 'session_avg_setup60',
|
|
||||||
value => $result->{$oid_fgSysSesRate60},
|
|
||||||
warning => $self->{perfdata}->get_perfdata_for_output(label => 'warn60'),
|
|
||||||
critical => $self->{perfdata}->get_perfdata_for_output(label => 'crit60'),
|
|
||||||
min => 0
|
|
||||||
);
|
|
||||||
|
|
||||||
$self->{output}->display();
|
|
||||||
$self->{output}->exit();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
@ -179,21 +132,10 @@ Check sessions (FORTINET-FORTIGATE-MIB).
|
||||||
|
|
||||||
=over 8
|
=over 8
|
||||||
|
|
||||||
=item B<--warning>
|
=item B<--warning-*> B<--critical-*>
|
||||||
|
|
||||||
Threshold warning of current active sessions.
|
Thresholds.
|
||||||
|
Can be: 'active', 'setup-1min', 'setup-10min', 'setup-30min', 'setup-60min'.
|
||||||
=item B<--critical>
|
|
||||||
|
|
||||||
Threshold critical of current active sessions.
|
|
||||||
|
|
||||||
=item B<--warning-avg>
|
|
||||||
|
|
||||||
Threshold warning of average setup rate (1min,10min,30min,60min).
|
|
||||||
|
|
||||||
=item B<--critical-avg>
|
|
||||||
|
|
||||||
Threshold critical of average setup rate (1min,10min,30min,60min).
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ sub set_counters {
|
||||||
];
|
];
|
||||||
|
|
||||||
$self->{maps_counters}->{global} = [
|
$self->{maps_counters}->{global} = [
|
||||||
{ label => 'users', set => {
|
{ label => 'users', nlabel => 'vpn.users.logged.count', set => {
|
||||||
key_values => [ { name => 'users' } ],
|
key_values => [ { name => 'users' } ],
|
||||||
output_template => 'Logged users: %s',
|
output_template => 'Logged users: %s',
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
|
@ -54,7 +54,7 @@ sub set_counters {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'sessions', set => {
|
{ label => 'sessions', nlabel => 'vpn.websessions.active.count', set => {
|
||||||
key_values => [ { name => 'sessions' }],
|
key_values => [ { name => 'sessions' }],
|
||||||
output_template => 'Active web sessions: %s',
|
output_template => 'Active web sessions: %s',
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
|
@ -62,9 +62,9 @@ sub set_counters {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'tunnels', set => {
|
{ label => 'tunnels', nlabel => 'vpn.tunnels.active.count', set => {
|
||||||
key_values => [ { name => 'tunnels' } ],
|
key_values => [ { name => 'tunnels' } ],
|
||||||
output_template => 'Active Tunnels: %s',
|
output_template => 'Active tunnels: %s',
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
{ label => 'active_tunnels', template => '%d', min => 0, unit => 'tunnels', label_extra_instance => 1 }
|
{ label => 'active_tunnels', template => '%d', min => 0, unit => 'tunnels', label_extra_instance => 1 }
|
||||||
]
|
]
|
||||||
|
@ -80,19 +80,19 @@ sub set_counters {
|
||||||
closure_custom_threshold_check => \&catalog_status_threshold
|
closure_custom_threshold_check => \&catalog_status_threshold
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'traffic-in', set => {
|
{ label => 'traffic-in', nlabel => 'vpn.traffic.in.bitspersecond', set => {
|
||||||
key_values => [ { name => 'traffic_in', per_second => 1 }, { name => 'display' } ],
|
key_values => [ { name => 'traffic_in', per_second => 1 }, { name => 'display' } ],
|
||||||
output_change_bytes => 1,
|
output_change_bytes => 1,
|
||||||
output_template => 'Traffic In: %s %s/s',
|
output_template => 'Traffic in: %s %s/s',
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
{ label => 'traffic_in', template => '%.2f', min => 0, unit => 'b/s', label_extra_instance => 1 }
|
{ label => 'traffic_in', template => '%.2f', min => 0, unit => 'b/s', label_extra_instance => 1 }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'traffic-out', set => {
|
{ label => 'traffic-out', nlabel => 'vpn.traffic.out.bitspersecond', set => {
|
||||||
key_values => [ { name => 'traffic_out', per_second => 1 }, { name => 'display' } ],
|
key_values => [ { name => 'traffic_out', per_second => 1 }, { name => 'display' } ],
|
||||||
output_change_bytes => 1,
|
output_change_bytes => 1,
|
||||||
output_template => 'Traffic Out: %s %s/s',
|
output_template => 'Traffic out: %s %s/s',
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
{ label => 'traffic_out', template => '%.2f', min => 0, unit => 'b/s', label_extra_instance => 1 }
|
{ label => 'traffic_out', template => '%.2f', min => 0, unit => 'b/s', label_extra_instance => 1 }
|
||||||
]
|
]
|
||||||
|
@ -235,8 +235,8 @@ sub manage_selection {
|
||||||
display => $name,
|
display => $name,
|
||||||
instance => $instance,
|
instance => $instance,
|
||||||
state => $result->{fgVpnTunEntStatus},
|
state => $result->{fgVpnTunEntStatus},
|
||||||
traffic_in => $result->{fgVpnTunEntInOctets},
|
traffic_in => $result->{fgVpnTunEntInOctets} * 8,
|
||||||
traffic_out => $result->{fgVpnTunEntOutOctets},
|
traffic_out => $result->{fgVpnTunEntOutOctets} * 8
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue