+ add filter-type option

This commit is contained in:
garnier-quentin 2016-12-28 16:06:22 +01:00
parent e7d322d565
commit 79fb00d942
1 changed files with 12 additions and 1 deletions

View File

@ -98,6 +98,7 @@ sub new {
$self->{version} = '1.0';
$options{options}->add_options(arguments =>
{
"filter-type:s" => { name => 'filter_type' },
});
return $self;
@ -124,6 +125,7 @@ sub manage_selection {
my $results = $options{snmp}->get_table(oid => $oid_sophosStatisticsEmail, nothing_quit => 1);
$self->{cache_name} = "sophos_es_" . $options{snmp}->get_hostname() . '_' . $options{snmp}->get_port() . '_' . $self->{mode} . '_' .
(defined($self->{option_results}->{filter_type}) ? md5_hex($self->{option_results}->{filter_type}) : md5_hex('all')) . '_' .
(defined($self->{option_results}->{filter_counters}) ? md5_hex($self->{option_results}->{filter_counters}) : md5_hex('all'));
$self->{global} = { total_in => 0, total_out => 0 };
@ -135,6 +137,11 @@ sub manage_selection {
my $instance = $1;
my $result = $options{snmp}->map_instance(mapping => $mapping, results => $results, instance => $instance);
if (defined($self->{option_results}->{filter_type}) && $self->{option_results}->{filter_type} ne '' &&
$result->{counterType} !~ /$self->{option_results}->{filter_type}/i) {
$self->{output}->output_add(long_msg => "skipping '" . $result->{counterType} . "': no matching filter.", debug => 1);
next;
}
$self->{sea_msg}->{lc($result->{counterType})} = { display => lc($result->{counterType}),
in => $result->{counterInbound}, out => $result->{counterOutbound}
@ -155,6 +162,10 @@ Check message statistics.
=over 8
=item B<--filter-type>
Filter message type (can be a regexp).
=item B<--filter-counters>
Only display some counters (regexp can be used).