| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | 
							- #!/bin/sh
 
- ZBX_SERVER_ADDR="127.0.0.1"
 
- ZBX_SERVER_PORT="10051"
 
- HOST_IP="${1}"
 
- HOST_NAME="${2}"
 
- PING_COUNT="${3}"
 
- PING_INTERVAL="${4}"
 
- NOFORK="${5}"
 
- if [ $# -lt 4 ]; then
 
-     printf "Wrong parameter count\n" >&2
 
-     printf "Usage: $(basename "${0}") <HOST_IP> <ZABBIX_HOST_NAME> <NUMBERS_OF_PING_REQUESTS> <INTERVAL> [<NOFORK>]\n" >&2
 
-     exit 2
 
- fi
 
- if [ "${NOFORK}" != 1 ]; then
 
-     start-stop-daemon --background --start --exec $(readlink -f "${0}") -- "${HOST_IP}" "${HOST_NAME}" "${PING_COUNT}" "${PING_INTERVAL}" 1
 
- else
 
- read ping_loss ping_min ping_max ping_avg <<EOC
 
- $(fping -c "${PING_COUNT}" -q -p "${PING_INTERVAL}" "${HOST_IP}" 2>&1 | sed -r 's#.*([0-9\.])%, min/avg/max = ([0-9\.]+)/([0-9\.]+)/([0-9\.]+)$#\1 \2 \3 \4#')
 
- EOC
 
-     if zabbix_sender -z "${ZBX_SERVER_ADDR}" -p "${ZBX_SERVER_PORT}" -s "${HOST_NAME}" -k PingLoss -o "${ping_loss}" | grep -v 'sent:' | grep -q -v 'failed: 0'; then
 
-         echo 0
 
-         exit 1
 
-     fi
 
-     if zabbix_sender -z "${ZBX_SERVER_ADDR}" -p "${ZBX_SERVER_PORT}" -s "${HOST_NAME}" -k PingLatencyMin -o "${ping_min}" | grep -v 'sent:' | grep -q -v 'failed: 0'; then
 
-         echo 0
 
-         exit 1
 
-     fi
 
-     if zabbix_sender -z "${ZBX_SERVER_ADDR}" -p "${ZBX_SERVER_PORT}" -s "${HOST_NAME}" -k PingLatencyMax -o "${ping_max}" | grep -v 'sent:' | grep -q -v 'failed: 0'; then
 
-         echo 0
 
-         exit 1
 
-     fi
 
-     if zabbix_sender -z "${ZBX_SERVER_ADDR}" -p "${ZBX_SERVER_PORT}" -s "${HOST_NAME}" -k PingLatencyAvg -o "${ping_avg}" | grep -v 'sent:' | grep -q -v 'failed: 0'; then
 
-         echo 0
 
-         exit 1
 
-     fi
 
- fi
 
- echo 1
 
- exit 0
 
 
  |