This commit is contained in:
maxi322 2026-01-12 14:16:53 +01:00 committed by GitHub
commit 0864b80ee0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -19,19 +19,19 @@ if [ -z "$HOST" ]; then
fi fi
# run dig and measure the time it takes to run # run dig and measure the time it takes to run
START_TIME=$(date +%s%3N) START_TIME=$(perl -MTime::HiRes -e 'print Time::HiRes::time')
dig_output=$(dig +short +timeout=2 +tries=1 "$HOST" @"$SERVER" 2>/dev/null) dig_output=$(dig +short +timeout=2 +tries=1 "$HOST" @"$SERVER" 2>/dev/null)
dig_rc=$? dig_rc=$?
END_TIME=$(perl -MTime::HiRes -e 'print Time::HiRes::time')
dig_output_ips=$(echo "$dig_output" | grep -E '^[0-9.]+$' | sort | paste -sd ',' -) dig_output_ips=$(echo "$dig_output" | grep -E '^[0-9.]+$' | sort | paste -sd ',' -)
END_TIME=$(date +%s%3N) ELAPSED_TIME=$(perl -e "printf('%.3f', $END_TIME - $START_TIME)")
ELAPSED_TIME=$((END_TIME - START_TIME))
# validate and perform nagios like output and exit codes # validate and perform nagios like output and exit codes
if [ $dig_rc -ne 0 ] || [ -z "$dig_output" ]; then if [ $dig_rc -ne 0 ] || [ -z "$dig_output" ]; then
echo "Domain $HOST was not found by the server" echo "Domain $HOST was not found by the server"
exit 2 exit 2
elif [ $dig_rc -eq 0 ]; then elif [ $dig_rc -eq 0 ]; then
echo "DNS OK: $ELAPSED_TIME ms response time. $HOST returns $dig_output_ips" echo "DNS OK: $ELAPSED_TIME seconds response time. $HOST returns $dig_output_ips"
exit 0 exit 0
else else
echo "Unknown error" echo "Unknown error"