diff --git a/Makefile b/Makefile
index 5b2059b63f264e57a61c0ece934af76f1a55a8e9..5475d934e0ec6c8469a5fe2ba1dc8f9c8066ff86 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,7 @@
 DESTDIR = /usr/local/nagios/libexec/
 SCRIPTS = check_cups check_glsa check_saned check_lpd check_hddtemp \
-	check_link_status check_true check_lysrdiff check_syslog
+	check_link_status check_true check_lysrdiff check_syslog \
+	check_ping check_enodia_monitored
 
 all:;
 
diff --git a/check_enodia_monitored b/check_enodia_monitored
new file mode 100755
index 0000000000000000000000000000000000000000..b55b7be53cedd8667f37d8f96a4255f24d18a517
--- /dev/null
+++ b/check_enodia_monitored
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# Check that all hosts in /opt/enodia/export/active_ips.txt are
+# monitored by Nagios.  More accurately, for each line in
+# active_ips.txt, check that /usr/local/nagios/var/checked_ips/$ip
+# exists and is at most 24 hours old.  That file is created by the
+# check_ping script.
+
+CHECKED=/usr/local/nagios/var/checked_ips
+UNCHECKED=`tempfile`
+unmonitored=""
+
+find "$CHECKED" -mtime +1 -exec rm {} \;
+while read ip host
+do
+    if [ ! -f $CHECKED/$ip ]
+    then
+	echo "$ip ($host)" >> "$UNCHECKED"
+    fi
+done < /opt/enodia/export/active_ips.txt
+
+unchecked=`wc -l < "$UNCHECKED"`
+if [ $unchecked = 0 ]
+then
+    echo "OK - all checked | unchecked=0"
+    mv -f "$UNCHECKED" /usr/local/nagios/var/unchecked
+    exit 0
+else
+    echo -n "CRITICAL - $unchecked unchecked hosts: "
+    sed 's/\.lysator\.liu\.se)$/)/' "$UNCHECKED" \
+    | awk 'BEGIN { sz = 0 }
+             NR > 1 && sz < 198 { printf ", "; sz += 2 } 
+             sz < 200 { printf "%s", $0; sz += length($0) }
+	     END { if (sz >= 200) printf ", others" } ' \
+    | sed 's/, \([^,]*\)$/ and \1/'
+    echo ". | unchecked=$unchecked"
+    mv -f "$UNCHECKED" /usr/local/nagios/var/unchecked
+    exit 2
+fi
diff --git a/check_ping b/check_ping
new file mode 100755
index 0000000000000000000000000000000000000000..4ae64d67d8963050fb594dada08ad2a437a972bd
--- /dev/null
+++ b/check_ping
@@ -0,0 +1,18 @@
+#!/bin/sh
+[ "$1" = "-H" ] || fatal
+HOSTADDRESS="$2"
+[ "$3" = "-w" ] || fatal
+WARN="$4"
+[ "$5" = "-c" ] || fatal
+CRIT="$6"
+[ "$7" = "-p" ] || fatal
+P="$8"
+
+IP_TMP=`tempfile`
+if getent hosts  $HOSTADDRESS  > "$IP_TMP"
+then
+    read ip host < "$IP_TMP"
+    touch /usr/local/nagios/var/checked_ips/$ip
+fi
+rm -f "$IP_TMP"
+exec /usr/nagios/libexec/check_ping -H "$HOSTADDRESS" -w "$WARN" -c "$CRIT" -p "$P"