Server IP : 85.193.89.191 / Your IP : 3.12.161.84 Web Server : Apache System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64 User : bitrix ( 600) PHP Version : 8.1.27 Disable Function : NONE MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/munin/plugins/ |
Upload File : |
#!/usr/bin/sh # -*- sh -*- : << =cut =head1 NAME ntp_offset - Plugin to monitor NTP time offset =head1 CONFIGURATION The following environment variables are used by this plugin: nodelay - add "delay_graph no" to RRD graph configuration =head2 EXAMPLE CONFIGURATION [ntp_*] env.nodelay 1 - Set to 1 to remove delay =head1 AUTHOR Unknown author =head1 LICENSE GPLv2 =head1 NOTES Loosely based on ntp_ plugin, but reworked to shell. =head1 MAGIC MARKERS #%# family=auto #%# capabilities=autoconf =cut . "$MUNIN_LIBDIR/plugins/plugin.sh" nodelay=${nodelay:-} do_autoconf () { ntpq -c help >/dev/null 2>&1 || { echo 'no (no ntpq program)'; exit 0; } case "$(ntpq -n -p 2>/dev/null | wc -l)" in 0) echo 'no (unable to list peers)' exit 0 ;; 1|2) echo 'no (no peers?)' exit 0 ;; *) echo yes exit 0 ;; esac } do_config () { syspeer="$(ntpq -n -p | grep '^[*o]')" # shellcheck disable=SC2086 set - $syspeer peer=$1 # Times in ms, therefore cdefs to divide to obtain seconds # delay=$8 # offset=$9 # jitter=$10 cat <<EOF graph_title NTP timing statistics for system peer graph_args --base 1000 --vertical-label seconds --lower-limit 0 graph_category time graph_info Currently our peer is $peer. Please refer to ntp docs and ntpc docs for further explanations of these numbers. delay.label Delay delay.cdef delay,1000,/ offset.label Offset offset.cdef offset,1000,/ jitter.label Jitter jitter.cdef jitter,1000,/ EOF case $nodelay in 1) echo "delay.graph no";; esac print_thresholds delay print_thresholds offset print_thresholds critical } do_ () { # Fetch operation syspeer="$(ntpq -n -p | grep '^[*o]')" # shellcheck disable=SC2086 set - $syspeer # peer=$1 # Times in ms, therefore cdefs to divide to obtain seconds shift # Avoid having to use $10 delay=${7:-U} offset=${8:-U} jitter=${9:-U} cat <<EOF delay.value $delay offset.value $offset jitter.value $jitter EOF } case $1 in autoconf|config|'') "do_$1" exit $? ;; *) echo "Don't know how to do that" >&2 exit 1 ;; esac echo 'What am I doing here?' >&2 exit 1 # vim:syntax=sh