1 changed file
check_riak_diag.pl | ||
Add comment 17
Add comment 18 Tested on Riak 1.x, 2.0.0, 2.1.1";
Add comment 19
Add comment 20 Minus $VERSION = "0.1";
Add comment 20 Plus $VERSION = "0.2";
Add comment 21
Add comment 22 use strict;
Add comment 23 use warnings;
Add comment 26 use lib dirname(__FILE__) . "/lib";
Add comment 27 }
Add comment 28 use HariSekhonUtils;
Add comment 29 Plus use HariSekhon::Riak;
Add comment 29 30
Add comment 30 Minus # This is the default install path for riak-admin from packages
Add comment 31 Minus $ENV{"PATH"} .= ":/usr/sbin";
Add comment 32 Minus
Add comment 33 Minus my $path = "";
Add comment 34 Minus
Add comment 35 31 my $cmd = "riak-admin diag";
Add comment 36 32
Add comment 37 33 my @diags = qw/critical warning notice/;
Add comment 40 36 $diags{$_} = 0;
Add comment 41 37 }
Add comment 42 38
Add comment 39 Plus my $ignore_warnings;
Add comment 43 40
Add comment 44 41 %options = (
Add comment 45 Minus "riak-admin-path=s" => [ \$path, "Path to directory containing riak-admin command if differing from the default /usr/sbin" ],
Add comment 42 Plus %riak_admin_path_option,
Add comment 43 Plus "ignore-warnings" => [ \$ignore_warnings, "Ignore warnings and return OK, only raise alert on critical issues" ],
Add comment 46 44 );
Add comment 45 Plus @usage_order = qw/riak-admin-path ignore-warnings/;
Add comment 47 46
Add comment 48 47 get_options();
Add comment 49 48
Add comment 50 Minus if($path){
Add comment 51 Minus if(grep {$_ eq $path } split(":", $ENV{"PATH"})){
Add comment 52 Minus usage "$path already in \$PATH ($ENV{PATH})";
Add comment 53 Minus }
Add comment 54 Minus $path = validate_directory($path, undef, "riak-admin PATH", "no vlog");
Add comment 55 Minus $ENV{"PATH"} = "$path:$ENV{PATH}";
Add comment 56 Minus vlog2 "\$PATH for riak-admin:", $ENV{"PATH"};
Add comment 57 Minus vlog2;
Add comment 58 Minus }
Add comment 49 Plus set_timeout();
Add comment 59 50
Add comment 60 Minus set_timeout();
Add comment 51 Plus get_riak_admin_path();
Add comment 61 52
Add comment 62 53 $status = "OK";
Add comment 63 54
Add comment 70 61 if(/^\s*\[$status\]\s*/){
Add comment 71 62 $diags{$status}++;
Add comment 72 63 critical if $status eq "critical";
Add comment 73 Minus warning if $status eq "warning";
Add comment 64 Plus warning if $status eq "warning" and not $ignore_warnings;
Add comment 74 65 next;
Add comment 75 66 }
Add comment 76 67 }