欢迎来到徐庆高(Tea)的个人博客网站
磨难很爱我,一度将我连根拔起。从惊慌失措到心力交瘁,我孤身一人,但并不孤独无依。依赖那些依赖我的人,信任那些信任我的人,帮助那些给予我帮助的人。如果我愿意,可以分裂成无数面镜子,让他们看见我,就像看见自己。察言观色和模仿学习是我的领域。像每个深受创伤的人那样,最终,我学会了随遇而安。
当前位置: 日志文章 > 详细内容

prometheus如何使用pushgateway监控网路丢包

2025年07月10日 MsSqlserver
监控网路丢包脚本[root@gtcq-gt-monitor-prometheus-01 ~]# timeout 50 ping -q -a -s 500 -w 1000 -c 1000 10.1

监控网路丢包脚本

[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]# 

数据图表


总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。