linux监视服务,Linux监控指定服务是否正常

使用shell监控指定的页面是否正常访问,我们可以采取请求某个接口的方式,如果请求错误到达一定次数,则发送警告信息到指定手机

环境:CentOS7、Tomcat9

1. 编写shell脚本

1.1 创建个tomcatChenk.sh文件

[root@localhost ~]# vi /usr/sbin/tomcatChenk.sh

1.2 编写内容

#!/bin/sh

################################### 基本参数配置 ############################################

# 要监控的页面地址

reqUrl=http://baidu.com

# 服务名称

serverName=Tomcat

# 通知联系人电话

phoneNumber=186xxxxxxxx

# tomcat启动路径

startTomcat=/opt/tomcat/bin/startup.sh

# tomcat缓存路径

tomcatCatalina=/opt/tomcat/work/Catalina

# 日志文件存放路径

checkLogPath=/opt/tomcat_check_log.txt

# 重试请求次数

checkNum=1

# 最大重试请求次数

maxCheckNum=5

# 验证结果

checkResult=false

################################## 定义函数 #############################################

# 大于 -gt (greater than)

# 小于 -lt (less than)

# 大于或等于 -ge (greater than or equal)

# 小于或等于 -le (less than or equal)

# 不相等 -ne (not equal)

# 相等 -eq (equal)

# 定义一个函数

check(){

echo "$(date +'%F %H:%M:%S') [info]--------------- 开始监控$serverName --------------"

while [ true ]

do

# 1.获取请求 http://baidu.com 的返回状态,成功返回为200

reqCode=`curl -s -w %{http_code} -o $checkLogPath $reqUrl`

# 2.验证请求验证接口状态是否正常,正常则退出验证

if [ $reqCode -ne 200 ]; then

echo "$(date +'%F %H:%M:%S') [info]第$checkNum次请求监控接口失败,返回状态为[$reqCode]"

else

checkResult=true

break

fi

# 获取Tomcat进程ID(暂未使用,可扩展)

# tomcat_id=$(ps -ef | grep tomcat | grep -w 'tomcat' | grep -v 'grep' | awk '{print $2}')

# 3.计算执行次数,如果执行次数大于最大重试请求次数则结束此次验证,否则停止5秒进行下一次验证

let checkNum=$checkNum+1

if [ $checkNum -gt $maxCheckNum ]; then

break

else

sleep 5

fi

done;

if [ $checkResult == true ]; then

echo "$(date +'%F %H:%M:%S') [info]$serverName服务运行正常"

else

curl -k -i -d 'tpl_id=199141&mobile=18812345678&tpl_value=%23code%23%3D110911&key=key值' http://v.juhe.cn/sms/send

echo "$(date +'%F %H:%M:%S') [info]$serverName服务运行异常,发送预警信息到指定手机"

fi

echo "$(date +'%F %H:%M:%S') [info]--------------- 结束监控$serverName --------------"

}

# 调用check函数

check

1.3 给文件分配权限

[root@localhost opt]# chmod 755 tomcatChenk.sh

2. 定时执行

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值