Add general stats to BackupPC monitoring script

tags/zabbix-agent-addons-0.2.140-1
Daniel Berteaud 4 years ago
parent eaad6bd516
commit 628f2a5e2e
  1. 7
      zabbix_conf/backuppc.conf
  2. 7
      zabbix_scripts/check_backuppc_sudo

@ -15,3 +15,10 @@ UserParameter=backuppc.entity.discovery[*],/usr/bin/sudo /var/lib/zabbix/bin/dis
# Returns a JSON object, use dependent item to split it # Returns a JSON object, use dependent item to split it
UserParameter=backuppc.host[*],/usr/bin/sudo /var/lib/zabbix/bin/check_backuppc_sudo --host=$1 UserParameter=backuppc.host[*],/usr/bin/sudo /var/lib/zabbix/bin/check_backuppc_sudo --host=$1
UserParameter=backuppc.entity[*],/usr/bin/sudo /var/lib/zabbix/bin/check_backuppc_sudo --entity=$1 UserParameter=backuppc.entity[*],/usr/bin/sudo /var/lib/zabbix/bin/check_backuppc_sudo --entity=$1
# key: backuppc.host[{#BPCHOST}]
# or
# key: backuppc.general
# Same as entity checks for will process every hosts
# Returns a JSON object, use dependent item to split it
UserParameter=backuppc.general,/usr/bin/sudo /var/lib/zabbix/bin/check_backuppc_sudo --general

@ -10,11 +10,13 @@ use Getopt::Long;
use Statistics::Descriptive; use Statistics::Descriptive;
use Data::Dumper; use Data::Dumper;
my $general = 0;
my $host = undef; my $host = undef;
my $entity = undef; my $entity = undef;
my $pretty = 0; my $pretty = 0;
GetOptions( GetOptions(
"general" => \$general,
"host=s" => \$host, "host=s" => \$host,
"entity=s" => \$entity, "entity=s" => \$entity,
"pretty" => \$pretty "pretty" => \$pretty
@ -103,7 +105,7 @@ if ( $host ) {
$json->{max_errors} = $conf->{MaxXferError} || 0; $json->{max_errors} = $conf->{MaxXferError} || 0;
} }
} elsif ( $entity ) { } elsif ( $entity or $general) {
$json = { $json = {
perf => 0, perf => 0,
@ -120,7 +122,7 @@ if ( $host ) {
my $entity_total_comp = 0; my $entity_total_comp = 0;
foreach my $host ( keys %{ $bpc->HostInfoRead } ) { foreach my $host ( keys %{ $bpc->HostInfoRead } ) {
next unless $host =~ m/^(vm_)?\Q$entity\E_.*/; next unless ($host =~ m/^(vm_)?\Q$entity\E_.*/ or $general);
my $full_size; my $full_size;
$json->{hosts}++; $json->{hosts}++;
@ -171,7 +173,6 @@ if ( $host ) {
foreach my $key ( qw(ratio perf) ) { foreach my $key ( qw(ratio perf) ) {
$json->{$key} = sprintf( "%.2f", $json->{$key} ); $json->{$key} = sprintf( "%.2f", $json->{$key} );
} }
} else { } else {
print<<"EOF"; print<<"EOF";

Loading…
Cancel
Save