Changeset 1986
- Timestamp:
- 06/13/12 15:32:58 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
monitoring/plugins/ids/check_shib_idp
r1847 r1986 1 1 #!/usr/bin/perl 2 2 # 3 # check_shib_idp, version 2012-0 4-233 # check_shib_idp, version 2012-06-13 4 4 # 5 5 … … 65 65 66 66 67 my $result = GetOptions("H=s" => \$host, 68 "u=s" => \$url, 69 "t=i" => \$timeout, 70 "S" => \$use_ssl, 71 "D=i" => \$max_clock_diff, 72 "C=i" => \$cert_warn_days, 73 "v" => \$verbose); 67 my $result = GetOptions('H=s' => \$host, 68 'u=s' => \$url, 69 't=i' => \$timeout, 70 'S' => \$use_ssl, 71 'D=i' => \$max_clock_diff, 72 'C=i' => \$cert_warn_days, 73 'v' => \$verbose, 74 'W=i' => \$memory_warn, 75 'X=i' => \$memory_crit); 74 76 if (!($result)) { 75 status(UNKNOWN, 'USAGE: -H <host> [-u <url>] [-t <timeout>] [-S] [-D <clock skew> -C <age>'); 77 status(UNKNOWN, 'USAGE: -H <host> [-u <url>] [-t <timeout>] [-S] ' . 78 '[-D <clock skew>] [-C <age>] [-W <value] [-X <value>]'); 76 79 } 77 80 … … 80 83 status(UNKNOWN, 'missing manadorty parameter -H <host>'); 81 84 } 85 86 if (($memory_warn < 0) || ($memory_warn > 100)) { 87 status(UNKNOWN, 'parameter -W <value> (memory warning) ' . 88 'must be between 0 and 100'); 89 } 90 91 if (($memory_crit < 0) || ($memory_crit > 100)) { 92 status(UNKNOWN, 'parameter -X <value> (memory critical) ' . 93 'must be between 0 and 100'); 94 } 95 96 if ($memory_warn > $memory_crit) { 97 status(UNKNOWN, 'value for memory warning must be less than ' . 98 'value for memory critical'); 99 } 100 82 101 83 102 # … … 129 148 my $mem_used = $result->{'used_memory'}; 130 149 my $mem_max = $result->{'maximum_memory'}; 150 my $mem_percentage = -1.0; 131 151 if (defined($mem_used) || defined($mem_max)) { 132 152 $mem_used =~ s/MB$//; 133 153 $mem_max =~ s/MB$//; 134 my $x = int(($mem_used * 10000) / $mem_max) / 100; 135 136 print "memory $mem_used/$mem_max ($x)\n" if ($verbose > 0); 137 if ($x > $memory_crit) { 154 $mem_percentage = int(($mem_used * 10000) / $mem_max / 100); 155 156 printf("memory usage %s/%s (%d%%)\n", 157 $mem_used, $mem_max, $mem_percentage) 158 if ($verbose > 0); 159 160 if ($mem_percentage > $memory_crit) { 138 161 $code = CRITICAL; 139 $message = sprintf('IDP is low on memory (%s MB/%s MB )',140 $mem_used, $mem_max );162 $message = sprintf('IDP is low on memory (%s MB/%s MB = %d%%)', 163 $mem_used, $mem_max, $mem_percentage); 141 164 } 142 elsif ($ x> $memory_warn) {165 elsif ($mem_percentage > $memory_warn) { 143 166 $code = WARNING; 144 $message = sprintf('IDP is running low on memory (%s MB/%s MB)', 145 $mem_used, $mem_max); 167 $message = sprintf('IDP is running low on memory ' . 168 '(%s MB/%s MB = %d%%)', 169 $mem_used, $mem_max, $mem_percentage); 146 170 } 147 171 } … … 185 209 } 186 210 else { 187 status(OK, sprintf('Shibboleth IDP version %s (Java version %s)', 188 $versions->{IDP}, $versions->{JAVA})); 211 status(OK, sprintf('Shibboleth IDP version %s ' . 212 '(Java version %s, %d%% memory used)', 213 $versions->{IDP}, $versions->{JAVA}, 214 $mem_percentage)); 189 215 } 190 216 } … … 193 219 status(CRITICAL, sprintf('error fetching status: %s', $status)); 194 220 } 195 FOO:196 221 exit OK;
Note: See TracChangeset
for help on using the changeset viewer.