- A+
所属分类:Perl
程序调用远端服务,为了确保可用性最好在使用前进行健康检测,将异常的服务排除。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
#!/usr/bin/perl # use strict; use IO::Socket; my @servers; $servers[0]=['180.153.100.93',2222]; $servers[1]=['180.153.100.93',22]; $servers[2]=['180.153.100.93',80]; my $i=0; my $interval=3; my $count=int(60/$interval); while($i < $count){ foreach (@servers){ if(fetch_server_status(@$_)){ print $$_[0] . ':' . $$_[1] ."ok\n"; }else{ print $$_[0] . ':' . $$_[1] ."bad\n"; } } $i++; sleep $interval; } sub fetch_server_status(){ my($ip,$port)=@_; my $socket=IO::Socket::INET->new( PeerAddr => $ip, PeerPort => $port, Timeout => 1, ); if(!$socket){ return 0; }else{ return 1; } $socket->close; } |

微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~