中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Shell Web監控

發布時間:2020-07-09 09:35:28 來源:網絡 閱讀:644 作者:葉俊海 欄目:開發技術

shell web監控腳本,全套都在里面了 ,判定規則改了幾次,多個結合的用可以看舊版本的,后續懶得寫新的。

舊版本鏈接:

https://blog.51cto.com/junhai/2407485

此次有3個腳本組成,寫下大致實現的過程

計算故障時間效果在:?

https://blog.51cto.com/junhai/2443931

使用微信機器人:

https://blog.51cto.com/junhai/2424374

因為沒用數據庫只能這樣用3個txt了 ,其實是我不會。。。。。。- -! 多個sed可以sed -e寫成1句,懶得花時間優化了。

url.txt(存放監控鏈接)> url.del(存放不可達的網址,第二個腳本分析后在)>url.add(第三個腳本分析是否網址是否恢復)

監控效果 如下圖:

Shell Web監控

Shell Web監控

對外使用用郵件發送告警,因為政務云監控的web太多了都要發送郵件,郵箱經常被認為供給發送垃圾郵件,被封了好多次。

Shell Web監控

1次告警1次恢復,這里防止多次告警,一次故障只會發出2封郵件,恢復用第三個腳本控制,用于政務云平臺WEB監控。


3次不可達停止告警,恢復告警一次,告警@相關系統人員,使用第二個腳本控制,用于長威內部系統監控告警。郵件可選,內部用企業微信比較快。

Shell Web監控




#!/bin/bash
#×××?
#QQ×××

.?/root/weixin.sh?#調用企業微信機器人??
#時間
cur_time(){
????????date?"+%Y/%m/%d?%H:%M:%S"
}???

systemname(){
name=`cat?url2.txt|grep?$url|wc?-l`
if?[?$name?-eq?1?];then
	cat?url2.txt|grep?-w?$url
else
????????echo?"$url"
fi
}??????

[?!?-f?/root/url.txt?]?&&?echo?"url.txt文件不存在"?&&?exit?1
sed?-i?'/^$/d'?url.txt???
while?read?url
do
	[?-z?$url??]?&&?echo?"url.txt存在空格?檢查文件格式"?&&?exit?1
????????for?((i=1;i<7;i++))
????????do
			rule=`curl?-i?-s?-k?-L?-m?10?$url|grep?-w?"HTTP/1.1?200"|wc?-l`?
			if?[?$rule?-eq?1?];then
				echo?"$(cur_time)?第$i次檢查$url網頁訪問成功"?>>?check.log?
				break
????????????elif?[?$i?=?6?];then?
				echo?$url?>>?url.del?
				info=`echo?-e?"$(cur_time)?\n$(systemname)?網頁無法訪問,請檢查!"`
				wx_web?
				echo?-e?"$(cur_time)?\n\n$(systemname)?網頁無法訪問,請檢查!"|mail?-s?"【重要告警】網頁不可達"?×××@×××.com?
				echo?"$(cur_time)?$(systemname)?網頁$(expr?$i?\*?3)秒無法訪問,請檢查!"?>>?checkfail.log?
				sh?/root/checkdel.sh?#第二個腳本
????????????else
				echo?"$(cur_time)?第$i次檢查$url網頁訪問失敗"?>>?checkfail.log?
				sleep?3?
?????????????fi
????????done
done?<?/root/url.txt
sh?/root/checkadd.sh?#第三個腳本?我喜歡把第三個腳本單獨用設置間隔1分鐘1次
#!/bin/bash
.?/root/weixin.sh

cur_time(){
????????date?"+%Y/%m/%d?%H:%M:%S"
}?#顯示時間

sed?-i?'/^$/d'?url.del?
sed?-i?'/^$/d'?url.delout?

cat?url.del|sort|uniq?-c?>>?url.delout?

while?read?line
do
	i=`echo?$line|awk?'{print$1}'`
	newurl=`echo?$line|awk?'{print$2}'`
	if?[?-z?$newurl?];then
		continue
	elif?[?$i?-eq?1?];then??
		echo?$newurl?>>?url.add??
		sed?-i?"s|$newurl||"?url.txt?
		sed?-i?"s|$newurl||"?url.del?
		sed?-i?'/^$/d'?url.txt
		sed?-i?'/^$/d'?url.del
		#info=`echo?-e?"$(cur_time)?\n?$i次告警網站$newurl未恢復?暫停發送告警"`?
		#wx_web
		#echo?"$(cur_time)??$i次告警網站$newurl未恢復?暫停發送告警"|mail?-s?"【暫停告警】"?×××@×××.com
		#echo?"$(cur_time)??網站$newurl未恢復?暫停告警"?>>?checkfail.log
		sed?-i?"s|$newurl||"?url.delout
		sed?-i?'/^$/d'?url.delout
	else
		echo?>?url.del
		continue	
	fi
done<?url.delout
echo?>?url.delout
#!/bin/bash

.?/root/weixin.sh
.?/root/downtime.sh?

cur_time(){
????????date?"+%Y/%m/%d?%H:%M:%S"
}

systemname(){
name=`cat?url2.txt|grep?$url|wc?-l`
if?[?$name?-eq?1?];then
	cat?url2.txt|grep?$url|awk?'{print$1,$2}'
else
????????echo?"$url"
fi
}

sed?-i?'/^$/d'?url.add?

while?read?url
do
		[?-z?$url??]?&&?echo?"url.del存在空格?檢查文件格式"?&&?exit?1
		rule=`curl?-i?-s?-k?-L?-m?10?$url|grep?-w?"HTTP/1.1?200"|wc?-l`?
		if?[?$rule?-eq?1?];then
????????????u=$(grep?-w?"$url"?url.txt|wc?-l)
			if?[?$u?-eq?1?];then?
				echo?"$url已存在"?>>?checkfail.log
			else
				echo?"$url"?>>?url.txt
			fi
			sed?-i?"s|$url||"?url.add?
			sed?-i?'/^$/d'?url.add?
			echo?"$(cur_time)?$url?已恢復監控"?>>?checkfail.log
			info=`echo?-e?"$(cur_time)?\n$(systemname)?網站恢復啦?\n$(fail_time)"`
			wx_ah
			echo?-e?"$(cur_time)?$(systemname)?網站已恢復?\n$(fail_time)"|mail?-s?"【網站恢復】"?×××@×××.com
????????else
			echo?"$(cur_time)?檢查$url網頁訪問失敗"?>>?/dev/null?????#checkfail.log

????????fi
done<?url.add

后面寫了個傻瓜式交互腳本 將就著用吧 用戶增刪改查監控網址 sh 腳本 add 就可以批量添加監控網站了。。。。。。。。。。。。。。。。

#!/bin/bash
#20190831
case?$1?in
????????add?)
?????????????????[?-z?$2?]?&&?echo?"請在add后面輸入要增加監控的網站地址?用法:?add?baidu.com"?&&?exit?1
????????????????u=$(grep?-w?"$2"?url.txt|wc?-l)
????????????????if?[?$u?-eq?1?];then
????????????????????????echo?"$2?網站已存在"?
????????????????else
????????????????????????echo?$2?>>?url.txt
????????????????????????echo?"$2?網站已加入監控列表"
????????????????fi
????????????????;;
????????del?)
????????????????[?-z?$2?]?&&?echo?"請在del后面輸入要移除監控的網站地址?用法:?del?baidu.com"?&&?exit?1
????????????????u=$(grep?-w?"$2"?url.txt|wc?-l)
????????????????if?[?$u?-eq?1?];then
????????????????????????sed?-i?"s|$2||"?url.txt
????????????????????????sed?-i?'/^$/d'?url.txt
????????????????????????echo?"$2?網站已刪除"?
????????????????else
????????????????????????echo?"$2?網站未找到"
????????????????fi
????????????????;;
????????update?)
????????????????vi?url2.txt
????????????????;;
????????dis?????)
????????????????cat?url.txt|sort|uniq?-c
????????????????;;
????????back?)
????????????????cp?url.txt?url.bk
????????????????echo?"監控列表備份文件url.bk"
????????????????;;
????????disuniq?)
????????????????cp?url.txt?url.bk
????????????????cat?url.txt|sort|uniq?-c|awk?'{print$2}'?>?url.new
????????????????cat?url.new?>?url.txt
????????????????rm?-rf?url.new
????????????????sed?-i?'/^$/d'?url.txt
????????????????echo?"監控列表去重完成?備份文件?url.bk"
????????????????;;
????????*?)
????????????????echo?"-----------`date`-----------------"
????????????????echo?"sh?$0?add???????增加監控網站"
????????????????echo?"sh?$0?del???????刪除監控網站"
????????????????echo?"sh?$0?update????修改網站聯系人信息"
????????????????echo?"sh?$0?dis???????顯示監控列表"
????????????????echo?"sh?$0?back??????備份監控列表"
????????????????echo?"sh?$0?disuniq???監控列表去重"

????????????????echo?"----------------------------------"
????????????????;;
esac

順帶常用的crontab調用頻率 使用看舊版本博客。

*/5?*?*?*?*?sh?/root/check.sh
*/1?*?*?*?*?sh?/root/checkadd.sh
0?0?*?*?*?echo?>?url.del


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁都县| 宁安市| 小金县| 舒城县| 双辽市| 壶关县| 郁南县| 甘洛县| 祁阳县| 西青区| 板桥市| 隆子县| 舒兰市| 张家界市| 铁岭市| 姚安县| 延寿县| 改则县| 舟山市| 石景山区| 泰来县| 德庆县| 永靖县| 凤山市| 沧州市| 鹿泉市| 彰化市| 偏关县| 双江| 奇台县| 石渠县| 德兴市| 北票市| 家居| 昭觉县| 兴安盟| 富川| 满洲里市| 和硕县| 芦溪县| 三亚市|