有没有这样的一种监控程序

2014-06-12 13:15:33 +08:00
 thinkxen
设定PING某一个IP,并且可以设定一个掉包的阀值,如果超过了阀值就给一份MTR出来。

如果支持多用户管理自己的IP就更好了,呃,好吧,好像有点像监控宝了~~~
2688 次点击
所在节点    问与答
10 条回复
msg7086
2014-06-12 14:30:56 +08:00
错别字提醒:阈值

你这种需求,写个shell脚本扔进cron跑就行了。
Zhang
2014-06-12 14:33:39 +08:00
而且是念“yu(四声)”哦!
est
2014-06-12 14:34:27 +08:00
我想自己搞个这样的东西,无奈rawsocket需要root,不是很好用。mac下搞了半天setuid没成功。弱爆了。orz
thinkxen
2014-06-12 14:35:37 +08:00
@msg7086
@Zhang 多谢知道~~~念错的朋友请跟我一起念,yu值,思密达~~~
a2z
2014-06-12 15:11:18 +08:00
#!/bin/bash

timeout="100"

if [ -z "$1" ]; then
echo 'Please specify the host'
exit
fi

while true
do
out=`ping $1 -c 2|tail -1|awk '{print $4}' | cut -d '/' -f 2`
if [ "$out" == "" ] || [ "$out" > "$timeout" ]; then
echo 'ping test failed, starting mtr...'
mtr --report --report-cycles 5 $1 > google_net_report.txt
fi

echo 'ping test passed'
done
a2z
2014-06-12 15:12:16 +08:00
那啥,注意不要让别人执行,因为参数都没过滤,可以导致命令执行
a2z
2014-06-12 15:16:27 +08:00
有个bug,mtr那行后面加个continue,另外似乎对比的是字符串而不是数字,也有点问题,但是大概就是这么一个意思
thinkxen
2014-06-12 15:56:40 +08:00
@a2z 我擦,惊现SHELL小王子呀~~~
RainFlying
2014-06-12 16:26:11 +08:00
关键是,按照你的思路,你开始 mtr 的时候可能网络就已经恢复了,
那 mtr 又有什么意义呢?
thinkxen
2014-06-12 20:31:54 +08:00
@RainFlying mtr秒级就可以完成,设置阈值3,在很多时侯还是很有意义的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/117097

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX