文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>服务端口是否正常监控

服务端口是否正常监控

时间:2006-02-18  来源:weicr

昨天稍有空闲,到原办公室晃晃,见一同事用delphi猛写程序,凑近一看,是写监控排队机服务机端口是否正常的程序————要求一旦发现故障,主动通过 IVR及短信还有现场声乐报警(原由本人开发)。回到自已的办公室后,想想在Linux下解决这个问题相当简单。就用shell即可。

程序要求:周期性监控 10.243.70.1的服务端口 3100 如果有故障(主要是服务停摆),通过socket发字符串到报警接入服务器。我的代码如下:(其他端口均可适用)
checkonline.sh代码

#bash
a=1
while [ $a -eq 1 ]
do
telnet 10.243.70.13100 >/home/oracle/backup/check.log<<CHECK
quit
CHECK
b=`more /home/oracle/backup/check.log|grep 'Connected'|wc -l`
if [ $b -ne 1 ]
   then
   #socket传送报警字符串,此处要按自己的报警方式来定,有绑定短信的邮箱者可参考我blog中的另一篇文档
   /home/oracle/backup/socketsend "1332200(我的手机号码)##排队机服务端口掉线"
fi
sleep 100
done
##linux7.2 下的shell结束
运行nohup /home/oracle/backup/checkonline.sh>/dev/null&
即可

下面是发送字符串到socket服务端的程序 报警接入服务器也开通FTP接入通道,可全完用
shell完成。那也就echo '1332200***#**********'>alert.sms put alert.sms
简单的办法而已。我喜欢用C来写,因为好玩。

socketsend.c

      1 #include <ctype.h>
      2 #include <sys/types.h>
      3 #include <sys/socket.h>
      4 #include <netinet/in.h>
      5 #define SIZE sizeof(struct sockaddr_in)
      6
      7 main(argc,argv)
      8 int argc;
      9 char **argv;
     10 { int sockfd,msglength;
     11   /*char *teststr="1332200****#kkkk" for debug*/
     12   struct sockaddr_in remoteserver;
     13   remoteserver.sin_family = AF_INET;
     14   remoteserver.sin_addr.s_addr = inet_addr("10.243.70.2");
     15   remoteserver.sin_port = htons(4119);/*报警报务器接入端口号*/
     16   if((sockfd = socket(AF_INET,SOCK_STREAM,0)) ==-1)
     17   {perror("socket call error");
     18    exit(1);
     19   }
     20   if(connect(sockfd,(struct sockaddr *)&remoteserver,SIZE)==-1)
     21   {perror("socket connect error");
     22    exit(1);
     23   }
     24   if (argc>1)
     25   ++argv;
     26   msglength=strlen(*argv);
     27   printf("%s\n",*argv);
     28   printf("%d\n",msglength);
     29   send(sockfd,*argv,msglength,0);
     30
     31 }

cc -o socketsend socketsend.c
一切工作正常。
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载