仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 583|回复: 7
打印 上一主题 下一主题

[shell编程] 来一发使用shell剧本监控网站形态

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:21:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!比来公司办事器地点机房常因打击和收集妨碍招致网站没法一般会见,为了能第一工夫获知网站没法会见,并疾速处置成绩,特使用shell剧本对办事器会见情况举行监控,一但网站没法会见便可触发短信报警,这内里参考了张晏和junnan的博文,在此暗示感激!!

起首必要有一个已守旧飞信的手机号,并把吸收警报短信的手机号加为飞信密友(也能够本人给本人发),挪用飞信的收费短信接口发送报警短信,也可以使用MSN报警,绝对短信报警更实时。
编纂剧本http.sh
vi/opt/http.sh

#!/bin/sh
LANG=C

#被监控办事器、端口列表
server_all_list=(
www.ckuyun.com:80
www.ckuyun.com:80
www.ckuyun.com:80
)

telnum=已守旧飞信的手机号
passwd=飞信暗码

date=$(date-d"today"+"%Y-%m-%d_%H:%M:%S")
#接纳HTTPPOST体例发送检测信息给接口步伐inte***ce.php,接口步伐卖力剖析信息,决意是不是发送报警MSN动静、手机短信、电子邮件。
send_msg_to_inte***ce()
{
if[[$2="0"]]||[[$2="2"]];then
#入手下手发送警报短信,13500000000是吸收方手机号
curl-m600-dusername=${telnum}-dpassword=${passwd}-dsendto=13500000000-dmessage=$1http://sms.api.bz/fetion.php
echo"`date+%Y-%m-%d%H:%M:%S`$1">>http_down.log
#发送msn警报动静(假如不必要msn警报能够正文这行)
#curl-m600-dmenu=http-ddate=$date-dip=$server_ip-dport=$server_port-dstatus=$statushttp://127.0.0.1/monitor/inte***ce.php
fi;
}

server_all_len=${#server_all_list
[*]}
i=0
while[$i-lt$server_all_len]
do
server_ip=$(echo${server_all_list[$i]}|awk-F:{print$1})
server_port=$(echo${server_all_list[$i]}|awk-F:{print$2})
server_message=""
ifcurl-m10-Ghttp://${server_all_list[$i]}/>/dev/null2>&1
then
#status:0,httpdown1,httpok2,httpdownbutpingok
status=1
echo"办事器${server_ip},端口${server_port}可以一般会见!";
server_message="办事器${server_ip},端口${server_port}可以一般会见!";
else
ifcurl-m30-Ghttp://${server_all_list[$i]}/>/dev/null2>&1
then
status=1
echo"办事器${server_ip},端口${server_port}可以一般会见!"
server_message="办事器${server_ip},端口${server_port}可以一般会见!";
else
ifping-c1$server_ip>/dev/null2>&1
then
status=2
echo"办事器${server_ip},端口${server_port}没法会见,可是可以Ping通!";
server_message="办事器${server_ip},端口${server_port}没法会见,可是可以Ping通!";
else
status=0
echo"办事器${server_ip},端口${server_port}没法会见,而且没法Ping通!";
server_message="办事器${server_ip},端口${server_port}没法会见,而且没法Ping通!";
fi
fi
fi
send_msg_to_inte***ce"${server_message}""${status}";
leti++
done

inte***ce.php(必要设置监控端办事器的让其可会见到,如:http://127.0.0.1/monitor/inte***ce.php,与下面剧本对应)
这里必要一个PHP类sendMsg,用来经由过程PHP发送动静到MSN,下载后把目次解压到inte***ce.php目次便可。

include(sendmsg/sendMsg.php);

//HTTP办事器监控
if(isset($_POST["menu"]))
{
if(htmlspecialchars($_POST["menu"])=="http")
{
$date=htmlspecialchars($_POST["date"]);
$ip=htmlspecialchars($_POST["ip"]);
$port=htmlspecialchars($_POST["port"]);
$status=htmlspecialchars($_POST["status"]);//形态,0暗示没法会见,1暗示一般,2暗示没法会见但能ping通

$message=;
switch($status)
{
case0:
$message=$ip.办事器没法会见;
break;
case1:
$message=$ip.办事器事情一般;
break;
case2:
$message=$ip.办事器没法会见但能ping通;
break;
}

if($status==0&&$status==1)
{
$sendMsg=newsendMsg();
$sendMsg->login(用来发动静的MSN帐号,暗码);
$sendMsg->createSession(用来吸收动静的MSN帐号);
$sendMsg->sendMessage(iconv("GBK","UTF-8",$message),TimesNewRoman,FF0000);

}
}
}


然后实行crontab-e,到场以下语句:

*/5****sh/opt/http.sh

servicecrondrestart

如许剧本将会每5分钟实行一次,假如反省到网站妨碍就会触发报警

以上剧本运转了很长一段工夫都很一般,也能第一工夫懂得办事器的down机情形,但比来发明不克不及报警了,飞信的短信接口不克不及挪用了,无法只能借助于139邮件报警,邮箱跟手机绑定

使用sendEmail发送报警邮件:
cd/opt
wgethttp://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar-zxvfsendEmail-v1.56.tar.gz
cdsendEmail-v1.56
cpsendEmail/usr/local/bin
chmod+x/usr/local/bin/sendEmail
#sendEmail利用***
sendEmail-f13512345678@139.com-t13512345678@139.com-ssmtp.139.com-u"fromcacti"-xu13512345678@139.com-xp123456-omessage-charset=utf-8-m“测试邮件发送”
#注释:-f暗示发送者的邮箱
-t暗示吸收者的邮箱
-s暗示SMTP办事器的域名大概ip
-u暗示邮件的主题
-xu暗示SMTP考证的用户名
-xp暗示SMTP考证的暗码(注重,这个暗码貌似无限制,比方我用d!5neyland就不克不及被准确辨认)
-m暗示邮件的内容假如你不带-m参数的话,就会提醒你自行输出
-o文本信息字符集,如不加这一项,发送的中文信息就会酿成乱码

把原剧本中的
curl-m600-dusername=${telnum}-dpassword=${passwd}-dsendto=13500000000-dmessage=$1http://sms.api.bz/fetion.php

修正为:
sendEmail-f13512345678@139.com-t13512345678@139.com-ssmtp.139.com-u"fromcacti"-xu13512345678@139.com-xp123456-omessage-charset=utf-8-m$1
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
小魔女 该用户已被删除
沙发
发表于 2015-1-16 09:46:46 来自手机 | 只看该作者

来一发使用shell剧本监控网站形态

其实当你安装了一个完整的Linux系统后其中已经包含了一个强大的帮助,只是可能你还没有发现和使用它们的技巧。
蒙在股里 该用户已被删除
板凳
发表于 2015-1-25 13:33:04 | 只看该作者
你需要提供精确有效的信息。Linux这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。
灵魂腐蚀 该用户已被删除
地板
发表于 2015-2-2 22:30:17 | 只看该作者
其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。
第二个灵魂 该用户已被删除
5#
发表于 2015-2-26 02:31:01 | 只看该作者
其实老师让写心得我也没怎么找资料应付,自己想到什么就写些什么,所以不免有些凌乱;很少提到编程,因为那些在实验报告里已经说了,这里再写就多余了。
金色的骷髅 该用户已被删除
6#
发表于 2015-3-8 12:03:24 | 只看该作者
编程学习及开发,Linux是免费,开源的操作系统,并且可开发工具相当多,如果您支持自由软件,一定要同广大热爱自由软件人士一同为其不懈努力。
兰色精灵 该用户已被删除
7#
发表于 2015-3-16 05:38:24 | 只看该作者
下面看看一个让人无法回答的问题:“救命各位高手,向你们请教一些问题:如何在Linux下配制HTTP、FTP、Samba、DNS、DHCP、Sendmail服务器,谢谢”这样的问题。
不帅 该用户已被删除
8#
发表于 2015-3-22 21:50:15 | 只看该作者
我感觉linux的学习,学习编程~!~!就去学习C语言编程!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-25 06:50

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表