#!/usr/bin/perl # # Description: # This plugin shows basic filesystem information and statistics about the HDFS # filesystem. # # Installation notes: # Symlink this file to hadoop_hdfs_block or hadoop_hdfs_capacity to get block # or capacity informations about the DFS. # # # Needs following minimal configuration in plugin-conf.d/munin-node: # [hadoop_hdfs_block] # user hdfs # # [hadoop_hdfs_capacity] # user hdfs # # Author: KARASZI Istvan # use strict; use File::Basename qw(basename); use Munin::Plugin; # # main # my $type = &getType($0); if ($ARGV[0]) { if ($ARGV[0] eq "autoconf") { print "yes\n"; } elsif ($ARGV[0] eq "config") { &printConfig(); } else { exit(1); } } else { &getStatistics(); } # # methods # sub getType { my($command) = @_; my $scriptname = &File::Basename::basename($command); if ($scriptname =~ /_([^_]+)$/) { if (grep($1, ('block', 'capacity'))) { return $1; } } die("Invalid command type '$scriptname'"); } sub printConfig { if ($type eq "block") { print <)) { chomp($line); if ($line =~ /-------------------------------------------------/) { last } if ($type eq "block") { &getBlock($line); } elsif ($type eq "capacity") { &getCapacity($line); } } close(DFSADMIN) }