Build precise queries to find exactly what you need
Press ESC to close
Your review has been submitted and is pending approval.
Simply check https host .
Current Version
0.4
Last Release Date
June 22, 2009
Owner
krusty
It checks if a website runs on https, without checking the certificate.
Usage:
./check_https www.example.com
Optional: port number
./check_https www.example.com 444
CHANGELOG on v0.4:
add timeout
I did try your script but it was little bit unstable. Suddenly I have checked the check_http which is already there in the /nagios/libexec/check_http check_http -S www.sitename.or.ip -w seconds -c seconds -S Connect via SSL. Port defaults to 443. -w Response time to result in warning status (seconds) -c Response time to result in critical status (seconds) you can add --ssl=1.2 for TLS1.2 (read help) for example: /usr/local//nagios/libexec/./check_http -S www.google.com -w 2 -c 5 or /usr/local//nagios/libexec/./check_http --ssl=1.2 www.google.com -w 2 -c 5 Next Define The Command Inside commands.cfg define command { command_name check_https command_line $USER1$/check_http -S $ARG1$ -w $ARG2$ -c $ARG3$ } Define Service define service { use local-service ; Name of service template to use host_name LOCALHOST service_description HTTPS check_command check_https!localhost!0.500!0.900 notifications_enabled 1 } -w -c 0.0 accept millisecond It's handy when you check multiple internet links either the links is up or down, sites functions, port status.
I removed ipcalc from the code and replaced it with regex, because ipcalc gave errors of missing parameters. ----- CODE ----- [...] # Variables definition # my PID mypid="$$" html_tmp="/tmp/tmp_html.$mypid" rep_tmp="/tmp/tmp_rep.$mypid" add_uri='https://' end_uri='/' PORT='' exit_code=2 regexIPv4="^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$" regexIPv6=".*:.*" [...] # Give some brain to this script. Detect yourself if we are checking an hostname, an ipv4 or an ipv6 if [[ $1 =~ $regexIPv4 ]] then target=ipv4 elif [[ $1 =~ $regexIPv6 ]]; then target=ipv6 else # we consider here cases in which the passed argument is DNS name target=DNS fi [...] ----- CODE -----
I added $path_uri so the script can check URL like https://www.example.com/WebService/Service.svc # ./check_https www.example.com 443 WebService/Service.svc # my PID mypid="$$" html_tmp="/tmp/tmp_html.$mypid" rep_tmp="/tmp/tmp_rep.$mypid" add_uri='https://' path_uri='' end_uri='/' PORT='' exit_code=2 if [ $# -lt 1 ] then echo "Arguments are missing! Run ./check_https IP_or_DNS port (optional) " echo "Eg: ./check_https mywebsite.com" echo "Eg: ./check_https ::ffff:192.168.1.1 444" exit 1 fi if [ $# -gt 1 ] then PORT=:$2 fi # For https://www.example.com/WebService/Service.svc # path_uri is WebService/Service.svc if [ $# -gt 2 ] then path_uri=:$3 fi # Give some brain to this script. Detect yourself if we are checking an hostname, an ipv4 or an ipv6 if ipcalc -sc4 $1 then target=ipv4 else if ipcalc -sc6 $1 then target=ipv6 else # we consider here cases in which the passed argument is DNS name target=DNS fi fi if [ ! "$target" == "ipv6" ] then /usr/bin/wget --timeout=10 --no-check-certificate --output-document=$html_tmp -S $add_uri$1$PORT$end_uri$path_uri 2> $rep_tmp else /usr/bin/wget --timeout=10 --no-check-certificate --output-document=$html_tmp -S $add_uri[$1]$PORT$$end_uri$path_uri 2> $rep_tmp fi
Should check ipcalc is installed. Should redirect ipcal in error to test ip addres: if ipcalc -sc4 $1 > /dev/null 2>&1 not if ipcacl -sc1 $1
Works very well, just took the check_http command and modified so it would work properly!
Works good with IPv4 addresses. With IPv6 addresses i get the error: Generic error code.
Hi RogerSik, i submitted a new version with IPv6 support!
You must be logged in to submit a review.
To:
From:
We’ve completely redesigned the world’s largest repository of Nagios plugins and monitoring tools. Join thousands of users sharing monitoring solutions for servers, applications, and everything in between.
Due to our redesign, all existing accounts require a password reset to access your account again.
Ready to explore 6,100+ projects and contribute to the community?
Reset Password Create Account
Happy Monitoring!