(plugin) apps::haproxy::snmp - support hapee (#4140)
This commit is contained in:
parent
51194d5dba
commit
4a893fbc47
|
@ -36,15 +36,7 @@ sub prefix_backend_output {
|
||||||
sub custom_status_output {
|
sub custom_status_output {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
return sprintf("status : %s", $self->{result_values}->{status});
|
return sprintf("status: %s", $self->{result_values}->{status});
|
||||||
}
|
|
||||||
|
|
||||||
sub custom_status_calc {
|
|
||||||
my ($self, %options) = @_;
|
|
||||||
|
|
||||||
$self->{result_values}->{status} = $options{new_datas}->{$self->{instance} . '_alBackendStatus'};
|
|
||||||
$self->{result_values}->{display} = $options{new_datas}->{$self->{instance} . '_display'};
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub set_counters {
|
sub set_counters {
|
||||||
|
@ -60,57 +52,51 @@ sub set_counters {
|
||||||
type => 2,
|
type => 2,
|
||||||
critical_default => '%{status} !~ /UP/i',
|
critical_default => '%{status} !~ /UP/i',
|
||||||
set => {
|
set => {
|
||||||
key_values => [ { name => 'alBackendStatus' }, { name => 'display' } ],
|
key_values => [ { name => 'status' }, { 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_ng
|
closure_custom_threshold_check => \&catalog_status_threshold_ng
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'current-queue', nlabel => 'backend.queue.current.count', set => {
|
{ label => 'current-queue', nlabel => 'backend.queue.current.count', set => {
|
||||||
key_values => [ { name => 'alBackendQueueCur' }, { name => 'display' } ],
|
key_values => [ { name => 'queueCur' }, { name => 'display' } ],
|
||||||
output_template => 'Current queue : %s',
|
output_template => 'current queue: %s',
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
{ label => 'current_queue', template => '%s',
|
{ template => '%s', min => 0, label_extra_instance => 1, instance_use => 'display' }
|
||||||
min => 0, label_extra_instance => 1, instance_use => 'display' }
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'current-sessions', nlabel => 'backend.sessions.current.count', set => {
|
{ label => 'current-sessions', nlabel => 'backend.sessions.current.count', set => {
|
||||||
key_values => [ { name => 'alBackendSessionCur' }, { name => 'display' } ],
|
key_values => [ { name => 'sessionCur' }, { name => 'display' } ],
|
||||||
output_template => 'Current sessions : %s',
|
output_template => 'current sessions: %s',
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
{ label => 'current_sessions', template => '%s',
|
{ template => '%s', min => 0, label_extra_instance => 1, instance_use => 'display' }
|
||||||
min => 0, label_extra_instance => 1, instance_use => 'display' }
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'total-sessions', nlabel => 'backend.sessions.total.count', set => {
|
{ label => 'total-sessions', nlabel => 'backend.sessions.total.count', set => {
|
||||||
key_values => [ { name => 'alBackendSessionTotal', diff => 1 }, { name => 'display' } ],
|
key_values => [ { name => 'sessionTotal', diff => 1 }, { name => 'display' } ],
|
||||||
output_template => 'Total sessions : %s',
|
output_template => 'total sessions: %s',
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
{ label => 'total_connections', template => '%s',
|
{ template => '%s', min => 0, label_extra_instance => 1, instance_use => 'display' }
|
||||||
min => 0, label_extra_instance => 1, instance_use => 'display' }
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'traffic-in', nlabel => 'backend.traffic.in.bitpersecond', set => {
|
{ label => 'traffic-in', nlabel => 'backend.traffic.in.bitpersecond', set => {
|
||||||
key_values => [ { name => 'alBackendBytesIN', per_second => 1 }, { name => 'display' } ],
|
key_values => [ { name => 'bytesIN', per_second => 1 }, { name => 'display' } ],
|
||||||
output_template => 'Traffic In : %s %s/s',
|
output_template => 'traffic in: %s %s/s',
|
||||||
output_change_bytes => 2,
|
output_change_bytes => 2,
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
{ label => 'traffic_in', template => '%.2f',
|
{ template => '%.2f', min => 0, unit => 'b/s', label_extra_instance => 1, instance_use => 'display' }
|
||||||
min => 0, unit => 'b/s', label_extra_instance => 1, instance_use => 'display' }
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'traffic-out', nlabel => 'backend.traffic.out.bitpersecond', set => {
|
{ label => 'traffic-out', nlabel => 'backend.traffic.out.bitpersecond', set => {
|
||||||
key_values => [ { name => 'alBackendBytesOUT', per_second => 1 }, { name => 'display' } ],
|
key_values => [ { name => 'bytesOUT', per_second => 1 }, { name => 'display' } ],
|
||||||
output_template => 'Traffic Out : %s %s/s',
|
output_template => 'traffic out: %s %s/s',
|
||||||
output_change_bytes => 2,
|
output_change_bytes => 2,
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
{ label => 'traffic_out', template => '%.2f',
|
{ template => '%.2f', min => 0, unit => 'b/s', label_extra_instance => 1, instance_use => 'display' }
|
||||||
min => 0, unit => 'b/s', label_extra_instance => 1, instance_use => 'display' }
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -119,7 +105,7 @@ sub set_counters {
|
||||||
|
|
||||||
sub new {
|
sub new {
|
||||||
my ($class, %options) = @_;
|
my ($class, %options) = @_;
|
||||||
my $self = $class->SUPER::new(package => __PACKAGE__, %options, statefile => 1);
|
my $self = $class->SUPER::new(package => __PACKAGE__, %options, statefile => 1, force_new_perfdata => 1);
|
||||||
bless $self, $class;
|
bless $self, $class;
|
||||||
|
|
||||||
$options{options}->add_options(arguments => {
|
$options{options}->add_options(arguments => {
|
||||||
|
@ -130,26 +116,35 @@ sub new {
|
||||||
}
|
}
|
||||||
|
|
||||||
my $mapping = {
|
my $mapping = {
|
||||||
entreprise => {
|
aloha => {
|
||||||
alBackendQueueCur => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.3.1.4' },
|
queueCur => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.3.1.4' },
|
||||||
alBackendSessionCur => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.3.1.7' },
|
sessionCur => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.3.1.7' },
|
||||||
alBackendSessionTotal => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.3.1.10' },
|
sessionTotal => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.3.1.10' },
|
||||||
alBackendBytesIN => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.3.1.12' },
|
bytesIN => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.3.1.12' },
|
||||||
alBackendBytesOUT => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.3.1.13' },
|
bytesOUT => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.3.1.13' },
|
||||||
alBackendStatus => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.3.1.20' }
|
status => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.3.1.20' }
|
||||||
},
|
},
|
||||||
csv => {
|
csv => {
|
||||||
alBackendQueueCur => { oid => '.1.3.6.1.4.1.29385.106.1.1.2' },
|
queueCur => { oid => '.1.3.6.1.4.1.29385.106.1.1.2' },
|
||||||
alBackendSessionCur => { oid => '.1.3.6.1.4.1.29385.106.1.1.4' },
|
sessionCur => { oid => '.1.3.6.1.4.1.29385.106.1.1.4' },
|
||||||
alBackendSessionTotal => { oid => '.1.3.6.1.4.1.29385.106.1.1.7' },
|
sessionTotal => { oid => '.1.3.6.1.4.1.29385.106.1.1.7' },
|
||||||
alBackendBytesIN => { oid => '.1.3.6.1.4.1.29385.106.1.1.8' },
|
bytesIN => { oid => '.1.3.6.1.4.1.29385.106.1.1.8' },
|
||||||
alBackendBytesOUT => { oid => '.1.3.6.1.4.1.29385.106.1.1.9' },
|
bytesOUT => { oid => '.1.3.6.1.4.1.29385.106.1.1.9' },
|
||||||
alBackendStatus => { oid => '.1.3.6.1.4.1.29385.106.1.1.17' }
|
status => { oid => '.1.3.6.1.4.1.29385.106.1.1.17' }
|
||||||
},
|
},
|
||||||
|
hapee => {
|
||||||
|
queueCur => { oid => '.1.3.6.1.4.1.23263.4.3.1.3.3.1.4' },
|
||||||
|
sessionCur => { oid => '.1.3.6.1.4.1.23263.4.3.1.3.3.1.7' },
|
||||||
|
sessionTotal => { oid => '.1.3.6.1.4.1.23263.4.3.1.3.3.1.10' },
|
||||||
|
bytesIN => { oid => '.1.3.6.1.4.1.23263.4.3.1.3.3.1.12' },
|
||||||
|
bytesOUT => { oid => '.1.3.6.1.4.1.23263.4.3.1.3.3.1.13' },
|
||||||
|
status => { oid => '.1.3.6.1.4.1.23263.4.3.1.3.3.1.20' }
|
||||||
|
}
|
||||||
};
|
};
|
||||||
my $mapping_name = {
|
my $mapping_name = {
|
||||||
csv => '.1.3.6.1.4.1.29385.106.1.1.0',
|
csv => '.1.3.6.1.4.1.29385.106.1.1.0',
|
||||||
entreprise => '.1.3.6.1.4.1.23263.4.2.1.3.3.1.3', # alBackendName
|
aloha => '.1.3.6.1.4.1.23263.4.2.1.3.3.1.3', # alBackendName
|
||||||
|
hapee => '.1.3.6.1.4.1.23263.4.3.1.3.3.1.3' # lbBackendName
|
||||||
};
|
};
|
||||||
|
|
||||||
sub manage_selection {
|
sub manage_selection {
|
||||||
|
@ -160,10 +155,19 @@ sub manage_selection {
|
||||||
$self->{output}->option_exit();
|
$self->{output}->option_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
my $snmp_result = $options{snmp}->get_multiple_table(oids => [ { oid => $mapping_name->{csv} }, { oid => $mapping_name->{entreprise} } ], nothing_quit => 1);
|
my $snmp_result = $options{snmp}->get_multiple_table(
|
||||||
my $branch = 'entreprise';
|
oids => [
|
||||||
|
{ oid => $mapping_name->{csv} },
|
||||||
|
{ oid => $mapping_name->{aloha} },
|
||||||
|
{ oid => $mapping_name->{hapee} }
|
||||||
|
],
|
||||||
|
nothing_quit => 1
|
||||||
|
);
|
||||||
|
my $branch = 'aloha';
|
||||||
if (defined($snmp_result->{ $mapping_name->{csv} }) && scalar(keys %{$snmp_result->{ $mapping_name->{csv} }}) > 0) {
|
if (defined($snmp_result->{ $mapping_name->{csv} }) && scalar(keys %{$snmp_result->{ $mapping_name->{csv} }}) > 0) {
|
||||||
$branch = 'csv';
|
$branch = 'csv';
|
||||||
|
} elsif (defined($snmp_result->{ $mapping_name->{hapee} }) && scalar(keys %{$snmp_result->{ $mapping_name->{hapee} }}) > 0) {
|
||||||
|
$branch = 'hapee';
|
||||||
}
|
}
|
||||||
|
|
||||||
$self->{backend} = {};
|
$self->{backend} = {};
|
||||||
|
@ -198,8 +202,8 @@ sub manage_selection {
|
||||||
foreach (keys %{$self->{backend}}) {
|
foreach (keys %{$self->{backend}}) {
|
||||||
my $result = $options{snmp}->map_instance(mapping => $mapping->{$branch}, results => $snmp_result, instance => $_);
|
my $result = $options{snmp}->map_instance(mapping => $mapping->{$branch}, results => $snmp_result, instance => $_);
|
||||||
|
|
||||||
$result->{alBackendBytesIN} *= 8;
|
$result->{bytesIN} *= 8;
|
||||||
$result->{alBackendBytesOUT} *= 8;
|
$result->{bytesOUT} *= 8;
|
||||||
|
|
||||||
$self->{backend}->{$_} = { %{$self->{backend}->{$_}}, %$result };
|
$self->{backend}->{$_} = { %{$self->{backend}->{$_}}, %$result };
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,15 +36,7 @@ sub prefix_frontend_output {
|
||||||
sub custom_status_output {
|
sub custom_status_output {
|
||||||
my ($self, %options) = @_;
|
my ($self, %options) = @_;
|
||||||
|
|
||||||
return sprintf("status : %s", $self->{result_values}->{status});
|
return sprintf("status: %s", $self->{result_values}->{status});
|
||||||
}
|
|
||||||
|
|
||||||
sub custom_status_calc {
|
|
||||||
my ($self, %options) = @_;
|
|
||||||
|
|
||||||
$self->{result_values}->{status} = $options{new_datas}->{$self->{instance} . '_alFrontendStatus'};
|
|
||||||
$self->{result_values}->{display} = $options{new_datas}->{$self->{instance} . '_display'};
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub set_counters {
|
sub set_counters {
|
||||||
|
@ -60,48 +52,43 @@ sub set_counters {
|
||||||
type => 2,
|
type => 2,
|
||||||
critical_default => '%{status} !~ /OPEN/i',
|
critical_default => '%{status} !~ /OPEN/i',
|
||||||
set => {
|
set => {
|
||||||
key_values => [ { name => 'alFrontendStatus' }, { name => 'display' } ],
|
key_values => [ { name => 'status' }, { 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_ng
|
closure_custom_threshold_check => \&catalog_status_threshold_ng
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'current-sessions', nlabel => 'frontend.sessions.current.count', set => {
|
{ label => 'current-sessions', nlabel => 'frontend.sessions.current.count', set => {
|
||||||
key_values => [ { name => 'alFrontendSessionCur' }, { name => 'display' } ],
|
key_values => [ { name => 'sessionCur' }, { name => 'display' } ],
|
||||||
output_template => 'Current sessions : %s',
|
output_template => 'current sessions: %s',
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
{ label => 'current_sessions', template => '%s',
|
{ template => '%s', min => 0, label_extra_instance => 1, instance_use => 'display' }
|
||||||
min => 0, label_extra_instance => 1, instance_use => 'display' }
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'total-sessions', nlabel => 'frontend.sessions.total.count', set => {
|
{ label => 'total-sessions', nlabel => 'frontend.sessions.total.count', set => {
|
||||||
key_values => [ { name => 'alFrontendSessionTotal', diff => 1 }, { name => 'display' } ],
|
key_values => [ { name => 'sessionTotal', diff => 1 }, { name => 'display' } ],
|
||||||
output_template => 'Total sessions : %s',
|
output_template => 'total sessions: %s',
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
{ label => 'total_connections', template => '%s',
|
{ template => '%s', min => 0, label_extra_instance => 1, instance_use => 'display' }
|
||||||
min => 0, label_extra_instance => 1, instance_use => 'display' }
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'traffic-in', nlabel => 'frontend.traffic.in.bitpersecond', set => {
|
{ label => 'traffic-in', nlabel => 'frontend.traffic.in.bitpersecond', set => {
|
||||||
key_values => [ { name => 'alFrontendBytesIN', per_second => 1 }, { name => 'display' } ],
|
key_values => [ { name => 'bytesIN', per_second => 1 }, { name => 'display' } ],
|
||||||
output_template => 'Traffic In : %s %s/s',
|
output_template => 'traffic in: %s %s/s',
|
||||||
output_change_bytes => 2,
|
output_change_bytes => 2,
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
{ label => 'traffic_in', template => '%.2f',
|
{ template => '%.2f', min => 0, unit => 'b/s', label_extra_instance => 1, instance_use => 'display' }
|
||||||
min => 0, unit => 'b/s', label_extra_instance => 1, instance_use => 'display' }
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ label => 'traffic-out', nlabel => 'frontend.traffic.out.bitpersecond', set => {
|
{ label => 'traffic-out', nlabel => 'frontend.traffic.out.bitpersecond', set => {
|
||||||
key_values => [ { name => 'alFrontendBytesOUT', per_second => 1 }, { name => 'display' } ],
|
key_values => [ { name => 'bytesOUT', per_second => 1 }, { name => 'display' } ],
|
||||||
output_template => 'Traffic Out : %s %s/s',
|
output_template => 'traffic out: %s %s/s',
|
||||||
output_change_bytes => 2,
|
output_change_bytes => 2,
|
||||||
perfdatas => [
|
perfdatas => [
|
||||||
{ label => 'traffic_out', template => '%.2f',
|
{ template => '%.2f', min => 0, unit => 'b/s', label_extra_instance => 1, instance_use => 'display' }
|
||||||
min => 0, unit => 'b/s', label_extra_instance => 1, instance_use => 'display' }
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -110,7 +97,7 @@ sub set_counters {
|
||||||
|
|
||||||
sub new {
|
sub new {
|
||||||
my ($class, %options) = @_;
|
my ($class, %options) = @_;
|
||||||
my $self = $class->SUPER::new(package => __PACKAGE__, %options, statefile => 1);
|
my $self = $class->SUPER::new(package => __PACKAGE__, %options, statefile => 1, force_new_perfdata => 1);
|
||||||
bless $self, $class;
|
bless $self, $class;
|
||||||
|
|
||||||
$options{options}->add_options(arguments => {
|
$options{options}->add_options(arguments => {
|
||||||
|
@ -121,25 +108,33 @@ sub new {
|
||||||
}
|
}
|
||||||
|
|
||||||
my $mapping = {
|
my $mapping = {
|
||||||
entreprise => {
|
aloha => {
|
||||||
alFrontendSessionCur => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.2.1.4' },
|
sessionCur => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.2.1.4' },
|
||||||
alFrontendSessionTotal => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.2.1.7' },
|
sessionTotal => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.2.1.7' },
|
||||||
alFrontendBytesIN => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.2.1.8' },
|
bytesIN => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.2.1.8' },
|
||||||
alFrontendBytesOUT => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.2.1.9' },
|
bytesOUT => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.2.1.9' },
|
||||||
alFrontendStatus => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.2.1.13' }
|
status => { oid => '.1.3.6.1.4.1.23263.4.2.1.3.2.1.13' }
|
||||||
},
|
},
|
||||||
csv => {
|
csv => {
|
||||||
alFrontendSessionCur => { oid => '.1.3.6.1.4.1.29385.106.1.0.4' },
|
sessionCur => { oid => '.1.3.6.1.4.1.29385.106.1.0.4' },
|
||||||
alFrontendSessionTotal => { oid => '.1.3.6.1.4.1.29385.106.1.0.7' },
|
sessionTotal => { oid => '.1.3.6.1.4.1.29385.106.1.0.7' },
|
||||||
alFrontendBytesIN => { oid => '.1.3.6.1.4.1.29385.106.1.0.8' },
|
bytesIN => { oid => '.1.3.6.1.4.1.29385.106.1.0.8' },
|
||||||
alFrontendBytesOUT => { oid => '.1.3.6.1.4.1.29385.106.1.0.9' },
|
bytesOUT => { oid => '.1.3.6.1.4.1.29385.106.1.0.9' },
|
||||||
alFrontendStatus => { oid => '.1.3.6.1.4.1.29385.106.1.0.17' }
|
status => { oid => '.1.3.6.1.4.1.29385.106.1.0.17' }
|
||||||
},
|
},
|
||||||
|
hapee => {
|
||||||
|
sessionCur => { oid => '.1.3.6.1.4.1.23263.4.3.1.3.2.1.4' },
|
||||||
|
sessionTotal => { oid => '.1.3.6.1.4.1.23263.4.3.1.3.2.1.7' },
|
||||||
|
bytesIN => { oid => '.1.3.6.1.4.1.23263.4.3.1.3.2.1.8' },
|
||||||
|
bytesOUT => { oid => '.1.3.6.1.4.1.23263.4.3.1.3.2.1.9' },
|
||||||
|
status => { oid => '.1.3.6.1.4.1.23263.4.3.1.3.2.1.13' }
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
my $mapping_name = {
|
my $mapping_name = {
|
||||||
csv => '.1.3.6.1.4.1.29385.106.1.0.0',
|
csv => '.1.3.6.1.4.1.29385.106.1.0.0',
|
||||||
entreprise => '.1.3.6.1.4.1.23263.4.2.1.3.2.1.3' # alFrontendName
|
aloha => '.1.3.6.1.4.1.23263.4.2.1.3.2.1.3', # alFrontendName
|
||||||
|
hapee => '.1.3.6.1.4.1.23263.4.3.1.3.2.1.3' # lbFrontendName
|
||||||
};
|
};
|
||||||
|
|
||||||
sub manage_selection {
|
sub manage_selection {
|
||||||
|
@ -150,10 +145,20 @@ sub manage_selection {
|
||||||
$self->{output}->option_exit();
|
$self->{output}->option_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
my $snmp_result = $options{snmp}->get_multiple_table(oids => [ { oid => $mapping_name->{csv} }, { oid => $mapping_name->{entreprise} } ], nothing_quit => 1);
|
my $snmp_result = $options{snmp}->get_multiple_table(
|
||||||
my $branch = 'entreprise';
|
oids => [
|
||||||
|
{ oid => $mapping_name->{csv} },
|
||||||
|
{ oid => $mapping_name->{aloha} },
|
||||||
|
{ oid => $mapping_name->{hapee} }
|
||||||
|
],
|
||||||
|
nothing_quit => 1
|
||||||
|
);
|
||||||
|
|
||||||
|
my $branch = 'aloha';
|
||||||
if (defined($snmp_result->{ $mapping_name->{csv} }) && scalar(keys %{$snmp_result->{ $mapping_name->{csv} }}) > 0) {
|
if (defined($snmp_result->{ $mapping_name->{csv} }) && scalar(keys %{$snmp_result->{ $mapping_name->{csv} }}) > 0) {
|
||||||
$branch = 'csv';
|
$branch = 'csv';
|
||||||
|
} elsif (defined($snmp_result->{ $mapping_name->{hapee} }) && scalar(keys %{$snmp_result->{ $mapping_name->{hapee} }}) > 0) {
|
||||||
|
$branch = 'hapee';
|
||||||
}
|
}
|
||||||
|
|
||||||
$self->{frontend} = {};
|
$self->{frontend} = {};
|
||||||
|
@ -188,8 +193,8 @@ sub manage_selection {
|
||||||
foreach (keys %{$self->{frontend}}) {
|
foreach (keys %{$self->{frontend}}) {
|
||||||
my $result = $options{snmp}->map_instance(mapping => $mapping->{$branch}, results => $snmp_result, instance => $_);
|
my $result = $options{snmp}->map_instance(mapping => $mapping->{$branch}, results => $snmp_result, instance => $_);
|
||||||
|
|
||||||
$result->{alFrontendBytesIN} *= 8;
|
$result->{bytesIN} *= 8;
|
||||||
$result->{alFrontendBytesOUT} *= 8;
|
$result->{bytesOUT} *= 8;
|
||||||
|
|
||||||
$self->{frontend}->{$_} = { %{$self->{frontend}->{$_}}, %$result };
|
$self->{frontend}->{$_} = { %{$self->{frontend}->{$_}}, %$result };
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue