shell脚本--监控java进程存活脚本

复制代码
复制代码
#!/bin/bash
base_dir=/opt
war_processor="tomcat"
jar_processor="manager-server.jar  platform-server.jar  platform-task.jar platform-trade.jar platform-user.jar"
IP_ADDR=`/usr/sbin/ifconfig |grep inet |awk '{print $2}'|head -1`
MALL_ADDR="493630393@qq.com"
#磁盘超过百分之80发送邮件告警
disk_used() {
   DISK_USED=`df -T |sed -n "2p" |awk '{print ($4/$3)*100}'`
   DISK_percentage=80
   if [ `expr "$DISK_USED > $DISK_percentage"` ]
     then
         echo "$IP_ADDR:当前硬盘使用率为$DISK_USED%" | mail -s "服务器硬盘监控告警" $MALL_ADDR
   fi 
       }
#内存使用率大于90%告警
mem_used() {
    mem_pused=`/usr/bin/free -m | sed -n '2p'|awk '{ print ($3+$6)/$2*100}'`
    #memory usage percentage
    percentage=90
    #clean mem_cache 使用bc来进行比较,不然会报错
    if [ $(echo "$mem_pused > $percentage"|bc) -eq 1 ]
        then
            echo "$IP_ADDR:当前内存使用率为$mem_pused%" | mail -s "服务器内存监控告警" $MALL_ADDR
            #echo "1qaz2wsx" |sudo -S sh /opt/shell/clean_mem_cache.sh
    fi
    }
#进程检测
process() {
    for jar in  $jar_processor
    do
    JAR_PROCESS=`ps -ef |grep $jar |grep -v grep |wc -l`
    if [ ! -n "jar_processor" ]
    then
        break
    else
        if [ $JAR_PROCESS = 0 ]
        then
               echo "$IP_ADDR:$jar进程已停止,请确认是否正常" | mail -s "服务器应用进程监控告警" $MALL_ADDR
        fi
    fi
   done

   for war in $war_processor
   do
    WAR_PROCESS=`ps -ef |grep $war |grep -v grep |wc -l`
     if [ ! -n "war_processor" ]
        then
                break
        else
        if [ $WAR_PROCESS = 0 ]
            then
                   echo "$IP_ADDR:$war进程已停止,请确认是否正常" | mail -s "服务器应用进程监控告警" $MALL_ADDR
            fi
    fi
   done
    
   
}
process
disk_used
复制代码

 

复制代码

 

posted @   什么都不会的小郭  阅读(2185)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示