#!/bin/bash
#
# Plugin to monitor clock offset and delay, using ntpdate
#
# Parameters understood:
#
# 	config   (required)
#
# Author: Rune Nordbøe Skillingstad <rune.skillingstad@ntnu.no>
#
# Magic markers - optional - used by installation scripts and
# munin-node-configure:
#
#%# family=manual
#%# capabilities=
#

NTPDATE="/usr/sbin/ntpdate"
PEER=$(basename $0 | sed -e 's/^ntpdate_//' -e 's/_/./g')

if [ ! -x "$NTPDATE" ]; then
  echo "Can't find ntpdate executable"
  exit 1
fi

if [ "$PEER" = "" ]; then
  echo "Unknown peer"
  exit 1
fi

if [ "$1" = "config" ]; then
  echo "graph_title NTP offset and delay to peer $PEER"
  echo "graph_category time"
  echo "graph_args --base 1000 --vertical-label msec"
  echo "offset.label Offset"
  echo "offset.draw LINE2"
  echo "delay.label Delay"
  echo "delay.draw LINE2"
  exit 0
fi

LANG=en_US
DATA=($($NTPDATE -q $PEER | awk '/^server.*offset/{gsub(/,/,"");if(dela==0||$8<dela){offs=$6;dela=$8;}}END{print offs*1000,dela*1000;}'))

[ -z "$DATA" -o "x$DATA" = "x0" ] && exit 1
echo "offset.value ${DATA[0]}"
echo "delay.value ${DATA[1]}"

exit 0

