AnonSec Shell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /usr/share/munin/plugins/ntp_offset
#!/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

Anon7 - 2022
AnonSec Team