Fix disco_filesystem

and switch to JSON module instead of manually printing (invalid) JSON data
tags/zabbix-agent-addons-0.2.20-1 0.1.23_el5
Daniel Berteaud 10 years ago
parent 5bb736fac7
commit ba5d5b558e
  1. 35
      zabbix_scripts/disco_filesystems

@ -1,9 +1,8 @@
#!/usr/bin/perl
$first = 1;
print "{\n";
print "\t\"data\":[\n\n";
use JSON;
my $json;
@{$json->{data}} = ();
my $cmd;
my $re;
@ -36,19 +35,15 @@ for (`$cmd`){
chomp($t);
$critical = $t if ($t =~ m/^\d+$/);
}
$fsname =~ s!/!\\/!g;
print "\t,\n" if not $first;
$first = 0;
print "\t{\n";
print "\t\t\"{#FSNAME}\":\"$fsname\",\n";
print "\t\t\"{#FSTYPE}\":\"$fstype\"\n";
print "\t\t\"{#FSDEVICE}\":\"$block\"\n";
print "\t\t\"{#FSWARNTHRES}\":\"$warning\"\n";
print "\t\t\"{#FSCRITTHRES}\":\"$critical\"\n";
print "\t}\n";
push @{$json->{data}}, {
"{#FSNAME}" => $fsname,
"{#FSTYPE}" => $fstype,
"{#FSDEVICE}" => $block,
"{#FSWARNTHRES}" => $warning,
"{#FSCRITTHRES}" => $critical
};
}
print "\n\t]\n";
print "}\n";
print to_json($json);
exit(0);

Loading…
Cancel
Save