NTP 오프셋 은 다음 UNIX 파이프 라인을 사용하여 얻을 수 있습니다.
/usr/sbin/ntpq -pn | /usr/bin/awk 'BEGIN { offset=1000 } $1 ~ /^\*/ { offset=$9 } END { print offset }'
NTP 피어 수 는 다음 UNIX 파이프 라인을 사용하여 얻을 수 있습니다.
/usr/sbin/ntpq -pn | egrep -c '^\*|^\+'
들어 NTP의 offet 우리는 사용
들어 NTP 피어 카운트 우리가 사용 :
Zabbix 지원 NTP 모니터링 구성 (소스 : Joyent) :
# NTP
UserParameter=ntp.offset,/usr/sbin/ntpq -pn | /usr/bin/awk 'BEGIN { offset=1000 } $1 ~ /^\*/ { offset=$9 } END { print offset }'
UserParameter=ntp.peers,/usr/sbin/ntpq -pn | egrep -c '^\*|^\+'
Nagios 지원 NTP 모니터링 플러그인 :
check_ntp_offset :
#!/bin/bash
# thresholds
thresh_warn=250
thresh_crit=500
# metric
ntp_offset=$(/usr/sbin/ntpq -pn | /usr/bin/awk 'BEGIN { offset=1000 } $1 ~ /^\*/ { offset=$9 } END { print offset }')
# Exit codes
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
if [[ ! "$ntp_offset" =~ ^[0-9]+$ ]] ; then
# NTP offset could not be read successfully
echo "NTP OFFSET UNKNOWN - $ntp_offset"
exit $STATE_UNKNOWN
elif [[ "$ntp_offset" -gt "$thresh_crit" ]] ; then
# NTP offset is higher than the critical threshold
echo "NTP OFFSET CRITICAL - ${ntp_offset}ms (> ${thresh_crit}ms)"
exit $STATE_CRITICAL
elif [[ "$ntp_offset" -gt "$thresh_warn" ]] ; then
# NTP offset is higher than the warning threshold
echo "NTP OFFSET WARNING - ${ntp_offset}ms (> ${thresh_warn}ms)"
exit $STATE_WARNING
else
# NTP offset is within thresholds
echo "NTP OFFSET OK - ${ntp_offset}ms (< ${thresh_warn}ms)"
exit $STATE_OK
fi
check_ntp_peers :
#!/bin/bash
# thresholds
thresh_warn=1
thresh_crit=1
# metric
ntp_peers=$(/usr/sbin/ntpq -pn | egrep -c '^\*|^\+')
# Exit codes
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
if [[ ! "$ntp_peers" =~ ^[0-9]+$ ]] ; then
# NTP peers could not be read successfully
echo "NTP PEERS UNKNOWN - $ntp_peers"
exit $STATE_UNKNOWN
elif [[ "$ntp_peers" -lt "$thresh_crit" ]] ; then
# NTP peers is lower than the critical threshold
echo "NTP PEERS CRITICAL - $ntp_peers (< $thresh_crit)"
exit $STATE_CRITICAL
elif [[ "$ntp_peers" -lt "$thresh_warn" ]] ; then
# NTP peers is lower than the warning threshold
echo "NTP PEERS WARNING - $ntp_peers (< $thresh_warn)"
exit $STATE_WARNING
else
# NTP peers is within thresholds
echo "NTP PEERS OK - $ntp_peers (> $thresh_warn)"
exit $STATE_OK
fi
Nagios 스크립트의 경고 및 위험 임계 값을 -w 및 -c로 구성 할 수있게해야합니다. 그것들이 없으면 완전히 플러그인 준비가 된 것은 아닙니다. 여기 튜토리얼에 대한 추가 지침 :
http://www.kernel-panic.it/openbsd/nagios/nagios6.html