mirror of
https://github.com/centreon/centreon-plugins.git
synced 2025-07-26 23:24:27 +02:00
forgitage vdom: add number of policies
This commit is contained in:
parent
e33e5dd79c
commit
a45828890f
@ -103,6 +103,7 @@ sub set_counters {
|
|||||||
{ name => 'vdom_memory', type => 0, skipped_code => { -10 => 1 } },
|
{ name => 'vdom_memory', type => 0, skipped_code => { -10 => 1 } },
|
||||||
{ name => 'vdom_session', type => 0, skipped_code => { -10 => 1 } },
|
{ name => 'vdom_session', type => 0, skipped_code => { -10 => 1 } },
|
||||||
{ name => 'vdom_traffic', type => 0, skipped_code => { -10 => 1 } },
|
{ name => 'vdom_traffic', type => 0, skipped_code => { -10 => 1 } },
|
||||||
|
{ name => 'vdom_policy', type => 0, skipped_code => { -10 => 1 } },
|
||||||
{ name => 'vdom_status', type => 0, skipped_code => { -10 => 1 } }
|
{ name => 'vdom_status', type => 0, skipped_code => { -10 => 1 } }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -159,6 +160,18 @@ sub set_counters {
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$self->{maps_counters}->{vdom_policy} = [
|
||||||
|
{ label => 'policies-active', nlabel => 'virtualdomain.policies.active.count', set => {
|
||||||
|
key_values => [ { name => 'active_policies' }, { name => 'display' } ],
|
||||||
|
output_template => 'active policies: %d',
|
||||||
|
perfdatas => [
|
||||||
|
{ value => 'active_policies_absolute', template => '%d',
|
||||||
|
min => 0, label_extra_instance => 1, instance_use => 'display_absolute' },
|
||||||
|
],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
$self->{maps_counters}->{vdom_session} = [
|
$self->{maps_counters}->{vdom_session} = [
|
||||||
{ label => 'sessions-active', nlabel => 'virtualdomain.sessions.active.count', set => {
|
{ label => 'sessions-active', nlabel => 'virtualdomain.sessions.active.count', set => {
|
||||||
key_values => [ { name => 'active_sessions' }, { name => 'display' } ],
|
key_values => [ { name => 'active_sessions' }, { name => 'display' } ],
|
||||||
@ -177,7 +190,7 @@ sub set_counters {
|
|||||||
min => 0, unit => '/s', label_extra_instance => 1, instance_use => 'display_absolute' }
|
min => 0, unit => '/s', label_extra_instance => 1, instance_use => 'display_absolute' }
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
$self->{maps_counters}->{vdom_status} = [
|
$self->{maps_counters}->{vdom_status} = [
|
||||||
@ -217,7 +230,7 @@ sub set_counters {
|
|||||||
min => 0, unit => 'b/s', label_extra_instance => 1, instance_use => 'display' },
|
min => 0, unit => 'b/s', label_extra_instance => 1, instance_use => 'display' },
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -229,6 +242,7 @@ sub new {
|
|||||||
$options{options}->add_options(arguments => {
|
$options{options}->add_options(arguments => {
|
||||||
'filter-vdomain:s' => { name => 'filter_vdomain' },
|
'filter-vdomain:s' => { name => 'filter_vdomain' },
|
||||||
'add-traffic' => { name => 'add_traffic' },
|
'add-traffic' => { name => 'add_traffic' },
|
||||||
|
'add-policy' => { name => 'add_policy' },
|
||||||
'warning-status:s' => { name => 'warning_status', default => '' },
|
'warning-status:s' => { name => 'warning_status', default => '' },
|
||||||
'critical-status:s' => { name => 'critical_status', default => '' }
|
'critical-status:s' => { name => 'critical_status', default => '' }
|
||||||
});
|
});
|
||||||
@ -301,6 +315,19 @@ sub add_traffic {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub add_policy {
|
||||||
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
|
my $oid_fgFwPolID = '.1.3.6.1.4.1.12356.101.5.1.2.1.1.1';
|
||||||
|
|
||||||
|
my $snmp_result = $options{snmp}->get_table(oid => $oid_fgFwPolID);
|
||||||
|
foreach (keys %$snmp_result) {
|
||||||
|
/^$oid_fgFwPolID\.(\d+)/;
|
||||||
|
$self->{vdom}->{$1}->{vdom_policy}->{active_policies}++
|
||||||
|
if (defined($self->{vdom}->{$1}));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sub manage_selection {
|
sub manage_selection {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
@ -338,8 +365,10 @@ sub manage_selection {
|
|||||||
vdom_cpu => { display => $name },
|
vdom_cpu => { display => $name },
|
||||||
vdom_memory => { display => $name },
|
vdom_memory => { display => $name },
|
||||||
vdom_session => { display => $name },
|
vdom_session => { display => $name },
|
||||||
vdom_status => { display => $name },
|
vdom_status => { display => $name }
|
||||||
};
|
};
|
||||||
|
$self->{vdom}->{$instance}->{vdom_policy} = { display => $name, active_policies => 0 }
|
||||||
|
if (defined($self->{option_results}->{add_policy}));
|
||||||
}
|
}
|
||||||
|
|
||||||
return if (scalar(keys %{$self->{vdom}}) <= 0);
|
return if (scalar(keys %{$self->{vdom}}) <= 0);
|
||||||
@ -362,6 +391,8 @@ sub manage_selection {
|
|||||||
|
|
||||||
$self->add_traffic(snmp => $options{snmp})
|
$self->add_traffic(snmp => $options{snmp})
|
||||||
if (defined($self->{option_results}->{add_traffic}));
|
if (defined($self->{option_results}->{add_traffic}));
|
||||||
|
$self->add_policy(snmp => $options{snmp})
|
||||||
|
if (defined($self->{option_results}->{add_policy}));
|
||||||
|
|
||||||
$self->{cache_name} = 'fortinet_fortigate_' . $options{snmp}->get_hostname() . '_' . $options{snmp}->get_port() . '_' . $self->{mode} . '_' .
|
$self->{cache_name} = 'fortinet_fortigate_' . $options{snmp}->get_hostname() . '_' . $options{snmp}->get_port() . '_' . $self->{mode} . '_' .
|
||||||
(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')) . '_' .
|
||||||
@ -386,6 +417,10 @@ Filter by virtual domain name (can be a regexp).
|
|||||||
|
|
||||||
Add traffic usage by virtual domain.
|
Add traffic usage by virtual domain.
|
||||||
|
|
||||||
|
=item B<--add-policy>
|
||||||
|
|
||||||
|
Add number of policies by virtual domain.
|
||||||
|
|
||||||
=item B<--warning-status>
|
=item B<--warning-status>
|
||||||
|
|
||||||
Set warning threshold for status (Default: '').
|
Set warning threshold for status (Default: '').
|
||||||
@ -401,7 +436,7 @@ Can used special variables like: %{op_mode}, %{ha_state}
|
|||||||
Thresholds.
|
Thresholds.
|
||||||
Can be: 'cpu-utilization', 'sessions-active', 'session-rate',
|
Can be: 'cpu-utilization', 'sessions-active', 'session-rate',
|
||||||
'memory-usage-prct', 'license-usage', 'license-free',
|
'memory-usage-prct', 'license-usage', 'license-free',
|
||||||
'license-usage-prct', 'traffic-in', 'traffic-out'.
|
'license-usage-prct', 'traffic-in', 'traffic-out', 'policies-active'.
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user