监控网路丢包脚本
[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]#
数据图表
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。