Add general stats to BackupPC monitoring script

This commit is contained in:
Daniel Berteaud 2021-01-11 22:53:49 +01:00
parent eaad6bd516
commit 628f2a5e2e
2 changed files with 14 additions and 6 deletions

View File

@ -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
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
# 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

View File

@ -10,11 +10,13 @@ use Getopt::Long;
use Statistics::Descriptive;
use Data::Dumper;
my $host = undef;
my $entity = undef;
my $pretty = 0;
my $general = 0;
my $host = undef;
my $entity = undef;
my $pretty = 0;
GetOptions(
"general" => \$general,
"host=s" => \$host,
"entity=s" => \$entity,
"pretty" => \$pretty
@ -103,7 +105,7 @@ if ( $host ) {
$json->{max_errors} = $conf->{MaxXferError} || 0;
}
} elsif ( $entity ) {
} elsif ( $entity or $general) {
$json = {
perf => 0,
@ -120,7 +122,7 @@ if ( $host ) {
my $entity_total_comp = 0;
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;
$json->{hosts}++;
@ -171,7 +173,6 @@ if ( $host ) {
foreach my $key ( qw(ratio perf) ) {
$json->{$key} = sprintf( "%.2f", $json->{$key} );
}
} else {
print<<"EOF";