Add check_ping_by_hostname
This commit is contained in:
parent
85de49d8ec
commit
ebfd7fbc3a
38
check_ping_by_hostname
Executable file
38
check_ping_by_hostname
Executable file
@ -0,0 +1,38 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# check_ping_by_hostname
|
||||||
|
#
|
||||||
|
# Attempts to resolve the name for and ping ourselves based on the device's
|
||||||
|
# hostname.
|
||||||
|
#
|
||||||
|
|
||||||
|
name="$HOSTNAME"
|
||||||
|
|
||||||
|
# Ensure $name is available
|
||||||
|
if [ -z "$name" ]; then
|
||||||
|
echo "CRITICAL: No hostname(?!)"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Ensure we have the tools we need
|
||||||
|
for cmd in dig ping; do
|
||||||
|
if ! command -v "$cmd" > /dev/null 2>&1; then
|
||||||
|
echo "UNKNOWN: Missing command for check: $cmd"
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Ensure we can dig ourselves
|
||||||
|
if [ -z "$(dig +short "$name")" ]; then
|
||||||
|
echo "CRITICAL: Could not resolve hostname or found empty record: $name"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Ping ourselves
|
||||||
|
if ! ping "$name" -c 1 > /dev/null 2>&1; then
|
||||||
|
echo "CRITICAL: Could not ping self"
|
||||||
|
exit 2
|
||||||
|
else
|
||||||
|
echo "OK"
|
||||||
|
exit 0
|
||||||
|
fi
|
Loading…
Reference in New Issue
Block a user