shell監控伺服器埠加web飛信報警
#!/bin/sh
#################################################
# check remote os service
#
#
# date:2010-02-26
##################################################
export LANG=en_US.UTF-8
###########################################
# check pid
#
############################################
MY_PID=`/tmp/check.pid`
#媯€鏌id鏂囦歡鏄惁瀛樺湪
if [ -f “$MY_PID” ]
then
#pid鏂囦歡瀛樺湪
PID_NUM=$(cat /tmp/check.pid)
CHECK_PID=$(ps aux | grep $PID_NUM | grep -v grep)
#媯€鏌ヨ繖涓猵id榪涗▼鏄惁瀛樺湪
if [ “$CHECK_PID” != “” ]
then
exit 0
fi
fi
#鐢熸垚紼嬪簭鑷繁鐨㓨id,騫朵繚瀛?
#$$鎸囩殑鏄綋鍓嶇▼搴廝ID
echo $$ > $MY_PID
##################################################################################
ROOT_DIR=`/root/monitor`
#IPADDR_ARRAY=(“http://www.pk.com” “http://news.pk.com/shtml/20100401/864541.shtml” “http://down.pk.com/xiazai/6661.shtml” “http://xin.1.html” “http://act.2pk.com/spe/10/wow/5years/”)
IPADDR_ARRAY=(“www.51112pk.com” “p2p.inbel.com”)
IPADDR_ARRAY_LEN=${#IPADDR_ARRAY[@]}
#SERVICE_PORT=`80`
CHECK_LOG_DIR=”$ROOT_DIR/check_log”
COUNT_LOG_DIR=”$ROOT_DIR/count_log”
#####################################
#check directory and count file
#
#####################################
if [ ! -d “$CHECK_LOG_DIR” ]
then
mkdir -p $CHECK_LOG_DIR
fi
if [ ! -d “$COUNT_LOG_DIR” ]
then
mkdir -p $COUNT_LOG_DIR
fi
i=0
while [ $i -lt $IPADDR_ARRAY_LEN ]
do
IPADDR=${IPADDR_ARRAY[$i]}
CHECK_LOG_FILE=”$CHECK_LOG_DIR/$IPADDR.log”
COUNT_LOG_FILE=”$COUNT_LOG_DIR/$IPADDR.txt”
WEB_MESSAGE_FAILED=”$IPADDR–is-not-running”
WEB_MESSAGE_SUCCESS=”$IPADDR–is-up-and-runing-fine”
if [ ! -s “$COUNT_LOG_FILE” ]
then
echo 0 > $COUNT_LOG_FILE
fi
COUNT_FILE_NUMBER=$(cat $COUNT_LOG_FILE)
echo | curl -I $IPADDR > $CHECK_LOG_FILE
#grep “404” $CHECK_LOG_FILE > /dev/null
HTTP_STATUS=$(head -n 1 $CHECK_LOG_FILE | awk `{print $2}`)
if [ “$HTTP_STATUS” = “200” ]
then
if [ “$COUNT_FILE_NUMBER” = “3” ]
then
curl “http://sms.api.bz/fetion.php?username=159555555&password=254605sxz&sendto=1595333333&message=$WEB_MESSAGE_SUCCESS”
echo 0 > $COUNT_LOG_FILE
fi
else
case $COUNT_FILE_NUMBER in
0)
echo 1 > $COUNT_LOG_FILE
curl “http://sms.api.bz/fetion.php?username=159522222&password=254605sxz&sendto=1595555557&message=$WEB_MESSAGE_FAILED”
;;
1)
echo 2 > $COUNT_LOG_FILE
curl “http://sms.api.bz/fetion.php?username=1592222&password=254605sxz&sendto=15911111&message=$WEB_MESSAGE_FAILED”
;;
2)
echo 3 > $COUNT_LOG_FILE
curl “http://sms.api.bz/fetion.php?username=15952222&password=254605sxz&sendto=159111111&message=$WEB_MESSAGE_FAILED”
;;
*)
;;
esac
fi
let i++
done
##################################################################
rm -rf $MY_PID
根據自己的需要可以變化修改這個指令碼檢測伺服器埠存活報警
`
本文轉自 liang3391 51CTO部落格,原文連結:http://blog.51cto.com/liang3391/456605
相關文章
- 基於飛信對系統計劃任務crontab報警監控
- linux通過cacti監控apache通過飛信郵件進行報警LinuxApache
- 【python 監控報警】python自動發微信監控報警Python
- CentOS 配置OOM監控報警CentOSOOM
- Prometheus監控報警系統Prometheus
- 伺服器磁碟監控指令碼分享(含報警郵件)伺服器指令碼
- 每5秒監控5000埠的shell指令碼指令碼
- 支援全平臺的伺服器監控報警系統 Shinken伺服器
- logstash監控海量日誌並報警
- shell監控web服務的多種方案Web
- Nagios 裡面監控MySQL 監控事務夯住(RUNNING)報警通知iOSMySql
- Cacti監控一臺Web伺服器上多個Tomcat埠的實現Web伺服器Tomcat
- zabbix監控之同時向多人郵件報警
- 一步一步配置 Dell OME 監控 Dell 伺服器硬體報警伺服器
- 埠監控指令碼指令碼
- 終於用上環境監控電話報警系統
- 同事寫的監控Logical Standby SQL apply 程式stop的監控報警指令碼SQLAPP指令碼
- .Net Core服務監控報警指標上報Prometheus+Grafana指標PrometheusGrafana
- 圖解JanusGraph系列 - JanusGraph指標監控報警(Monitoring JanusGraph)圖解指標
- 生產區域人數超員監控報警系統
- 【shell】磁碟監控指令碼指令碼
- memcached程式埠監控指令碼指令碼
- 智慧校園:資料機房動環監控報警系統
- linux下日誌檔案error監控報警指令碼分享LinuxError指令碼
- 自動化部署nginx負載均衡及監控簡訊報警Nginx負載
- 分散式監控系統Zabbix-3.0.3--簡訊報警設定分散式
- JavaMelody JAVA Web專案伺服器效能監控工具JavaWeb伺服器
- 大資料技術 - 監控預警大資料
- 伺服器監控之 ping 監控伺服器
- 通達信條件預警使用教程(引用選股公式盤中實時監控)公式
- 網路監控工作模式:旁路映象、埠映象和旁路監控模式
- Mycat Web監控工具Web
- shell埠監聽異常郵箱告警
- 年輕人的第一個go程式:監控資料庫欄位 報警Go資料庫
- 基於Nginx+Keepalived的LB服務監控(郵件報警)Nginx
- Conntrack 監控,別等故障了再回來加監控
- 伺服器開機報警伺服器
- cacti配置路由器埠閥值報警路由器