监控网路丢包脚本
[root@gtcq-gt-monitor-prometheus-01 ~]# timeout 50 ping -q -A -s 500 -W 1000 -c 1000 10.1.32.95|grep transmitted|awk '{print $6}'
[root@gtcq-gt-monitor-prometheus-01 shell_script]# more icmp_gpu_monitor.sh
#!/bin/bash
#
#####################################
#@brief 功能:监控网路丢包率和延迟 -s 是一个ping包的大小 -W 是延迟timeout -c 是发生多少数据包
#@author xiajing
#@version 1.0
#@date 2021/01/13
#@log no
#####################################
#shell Env
#ping发包数
c_times=200
#IP列表数组
ip_arr=( 10.1.33.188 )
for (( i = 0; i < ${#ip_arr[@]}; ++i ))
do
result=`timeout 16 ping -q -A -s 200 -W 250 -c $c_times ${ip_arr[i]}|grep transmitted|awk '{print $6,$10}'`
if [ -z "$result" ]
then
value_lostpk=101
value_rrt=1000
echo "ykt_lostpk_gt_jd ${value_lostpk}" | curl --data-binary @- http://127.0.0.1:9091/metrics/job/ykt_icmp/instance/${ip_arr[i]}
echo "ykt_rrt_gt_jd ${value_rrt}" | curl --data-binary @- http://127.0.0.1:9091/metrics/job/ykt_icmp/instance/${ip_arr[i]}
else
lostpk=$(echo $result|awk '{print $1}')
rrt=$(echo $result|awk '{print $2}')
value_lostpk=$(echo $lostpk | sed 's/%//g')
value_rrt=$(echo $rrt |sed 's/ms//g')
#value_rrt=$(($value_rrt/$c_times))
value_rrt=$(printf "%.5f" `echo "scale=5;$value_rrt/$c_times"|bc`)
echo "ykt_lostpk_gt_jd ${value_lostpk}" | curl --data-binary @- http://127.0.0.1:9091/metrics/job/ykt_icmp/instance/${ip_arr[i]}
echo "ykt_rrt_gt_jd ${value_rrt}" | curl --data-binary @- http://127.0.0.1:9091/metrics/job/ykt_icmp/instance/${ip_arr[i]}
fi
echo ${ip_arr[i]}"==="$value_lostpk"==="$value_rrt
done
[root@gtcq-gt-monitor-prometheus-01 shell_script]#
数据图表