zabbix-agent-addons/zabbix_scripts/disco_lvm_sudo
2013-04-15 10:22:37 +02:00

45 lines
955 B
Perl

#!/usr/bin/perl -w
use Linux::LVM;
use JSON;
my $what = $ARGV[0];
open STDERR, '>/dev/null';
my $json;
if ($what eq "volumes"){
foreach my $group (get_volume_group_list()){
my %lvs = get_logical_volume_information($group);
foreach my $lv (keys %lvs){
push @{$json->{data}}, { "{#LVMVOL}" => "/dev/$group/$lv" };
}
}
}
elsif ($what eq "snapshots"){
foreach my $group (get_volume_group_list()){
my %lvs = get_logical_volume_information($group);
foreach my $lv (keys %lvs){
if (defined $lvs{$lv}->{allocated_to_snapshot}){
push @{$json->{data}}, { "{#LVMSNAP}" => "/dev/$group/$lv" };
}
}
}
}
elsif ($what eq "groups"){
foreach my $group (get_volume_group_list()){
push @{$json->{data}}, { "{#LVMGRP}" => $group };
}
}
else{
print <<"EOF";
Usage: $0 [volumes|snapshots|groups]
EOF
}
print to_json($json);
exit(0);