#!/bin/bash # # Wrapper for check_generic # plugins="$1" shift url="$1" timeout="$2" name="$3" curl='/usr/bin/curl' perl='/usr/local/bin/perl' # # Example: # check_command check_http_string!admitted.Princeton.EDU!Congratulations!403 Forbidden!OK!'=~/HTTP\/1.1 OK/' # command $USER1$/check_http_generic $USER1$ '$ARG1$' '$ARG2$' '$ARG3$' '$ARG4$' "$ARG5$" "$SERVICEDESC$" ${plugins}/check_generic -e "$curl $url 2>/dev/null | $perl -e ' use JSON qw(decode_json); my \$data = <>; my \$json = decode_json (\$data); if (\$json) { print \"\$json->{stat}: current time: \" . localtime(\$json->{response}->{time}); } else { print \"ERROR: Invalid output: NO JSON\"; } ' 2>&1" -o "=~ /^OK:/" -t $timeout -f c -n $name -i #$curl $url 2>/dev/null | $perl -e ' # use JSON qw(decode_json); # # my $data = <>; # # my $json = decode_json ($data); # # if ($json) { # print "$json->{stat}: $json->{response}->{time}"; # } else { # print "ERROR: Invalid output: NO JSON"; # } #' 2>&1