Add dsa-check-timedatectl
authorPeter Palfrader <peter@palfrader.org>
Fri, 9 Dec 2016 10:20:39 +0000 (11:20 +0100)
committerPeter Palfrader <peter@palfrader.org>
Fri, 9 Dec 2016 10:20:39 +0000 (11:20 +0100)
dsa-nagios-checks/checks/dsa-check-timedatectl [new file with mode: 0755]
dsa-nagios-checks/debian/changelog

diff --git a/dsa-nagios-checks/checks/dsa-check-timedatectl b/dsa-nagios-checks/checks/dsa-check-timedatectl
new file mode 100755 (executable)
index 0000000..88c1771
--- /dev/null
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+# Copyright 2016 Peter Palfrader
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+set -e
+set -u
+
+MAX=2
+
+temp="$(mktemp)"
+trap "rm -f '$temp'" EXIT
+
+timedatectl > "$temp"
+ut=$(sed '/Universal time:/ { s/^[^:]*: *//; p}; d' t)
+rtc=$(sed '/RTC time:/ { s/^[^:]*: *//; p}; d' t)
+
+uts=$(date -d "$ut" +%s)
+rtcs=$(date -d "$rtc" +%s)
+
+d=$((uts - rtcs))
+
+if [ "$d" -lt "-$MAX" ] ||
+   [ "$d" -gt "$MAX" ]; then
+       echo "Warning: time desync $d: RTC vs. system time: $rtc vs. $ut"
+       exit 1
+fi
+
+
+sced=$(sed '/NTP synchronized:/ { s/^[^:]*: *//; p}; d' t)
+if [ "$sced" != "yes" ]; then
+       echo "Warning: not synced with NTP (but clock is OK for now)."
+       exit 1
+fi
+
+echo "OK: synced at $ut."
index c4626d0..6045e3e 100644 (file)
@@ -36,6 +36,7 @@ dsa-nagios-checks (108+XXXX) UNRELEASED; urgency=medium
     data) in detail output.
   * dsa-check-zone-rrsig-expiration-many: sort zone details by state.
   * dsa-check-zone-signature-all: add.
+  * dsa-check-timedatectl: add
 
   [ Tollef Fog Heen ]
   * dsa-update-unowned-file-status: ignore fdescfs, used for /dev/fd on
@@ -48,7 +49,7 @@ dsa-nagios-checks (108+XXXX) UNRELEASED; urgency=medium
   * Add dsa-check-hpssacli, replaces hpacucli for new hosts.
   * dsa-check-hpssacli: accept 12.0Gbps as transfer speed for SAS
 
- -- Peter Palfrader <weasel@debian.org>  Mon, 14 Nov 2016 15:36:09 +0100
+ -- Peter Palfrader <weasel@debian.org>  Fri, 09 Dec 2016 11:20:26 +0100
 
 dsa-nagios-checks (108) unstable; urgency=medium