use fping instead of ping to reduce processing time
This commit is contained in:
parent
c1f246bad8
commit
5ee398302f
20
multiping_
20
multiping_
@ -42,7 +42,7 @@
|
|||||||
|
|
||||||
SCRIPT_NAME=$(basename $0)
|
SCRIPT_NAME=$(basename $0)
|
||||||
SRC=`echo $SCRIPT_NAME | sed -n s/multiping_//p`
|
SRC=`echo $SCRIPT_NAME | sed -n s/multiping_//p`
|
||||||
PING=`which ping` || exit 1
|
FPING=`which fping` || exit 1
|
||||||
FSRC=`echo ${SRC} | sed 's/\./_/g'`
|
FSRC=`echo ${SRC} | sed 's/\./_/g'`
|
||||||
IPS=`ifconfig ${interface} | awk '/inet /{print $2}' | grep -Ev '^(10|192)\.'`
|
IPS=`ifconfig ${interface} | awk '/inet /{print $2}' | grep -Ev '^(10|192)\.'`
|
||||||
|
|
||||||
@ -55,19 +55,15 @@ if [ $# -lt 1 ]; then
|
|||||||
|
|
||||||
TMPFILE=`mktemp -t multiping`
|
TMPFILE=`mktemp -t multiping`
|
||||||
|
|
||||||
for DST in `echo ${hosts} | tr , " "`; do
|
DST=`echo ${hosts} | tr , " "`
|
||||||
fname=`echo ${DST} | sed 's/\./_/g'`
|
fname=`echo ${DST} | sed 's/\./_/g'`
|
||||||
ping -q -W1 -i0.1 -c10 -S ${SRC} ${DST} | sed 's/\// /g' | awk '
|
${FPING} -A -q -s -i10 -c50 -p 25 -S ${SRC} -t1000 ${DST} 2>&1 | grep ':' | tr '%/,' ' ' | awk '
|
||||||
/^round-trip/ {
|
/xmt/ {
|
||||||
print "rtt_'${fname}'.value " $7;
|
printf "rtt_%s.value %0.0f\n", $1, $15;
|
||||||
}
|
printf "loss_%s.value %0.0f\n", $1, $9;
|
||||||
/ packet loss/ {
|
|
||||||
loss=$7;
|
|
||||||
gsub(/\%/, "", loss);
|
|
||||||
print "loss_'${fname}'.value " loss;
|
|
||||||
}
|
}
|
||||||
' >> ${TMPFILE}
|
' >> ${TMPFILE}
|
||||||
done
|
|
||||||
|
|
||||||
echo "multigraph rtt_${FSRC}"
|
echo "multigraph rtt_${FSRC}"
|
||||||
grep ^rtt ${TMPFILE}
|
grep ^rtt ${TMPFILE}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user