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

#!/bin/bash
base_dir=/opt
war_processor="tomcat"
jar_processor="manager-server.jar  platform-server.jar  platform-item.jar platform-shop.jar platform-task.jar platform-trade.jar platform-user.jar"
IP_ADDR=`ifconfig |grep inet|awk -F "[: ]+" ‘{print $3}‘|head -n1`
MALL_ADDR="[email protected]"
#磁盘超过百分之80发送邮件告警
mem_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%告警
disk_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 [ $JAR_PROCESS = 0 ]
        then
           echo "$IP_ADDR:$jar进程已停止,请确认是否正常" | mail -s "服务器应用进程监控告警" $MALL_ADDR
        fi
   done
   for war in $war_processor
   do
        WAR_PROCESS=`ps -ef |grep $war |grep -v grep |wc -l`
        if [ $JAR_PROCESS = 0 ]
        then
           echo "$IP_ADDR:$war进程已停止,请确认是否正常" | mail -s "服务器应用进程监控告警" $MALL_ADDR
        fi
   done

}
process
mem_used
disk_used

原文地址:https://www.cnblogs.com/python-cat/p/12015896.html

时间: 2024-10-10 16:14:08

shell脚本--监控java进程存活脚本的相关文章

【如何使用shell 脚本调用java进程】

如何使用shell脚本调用java进程,直接看脚本: 源码地址:获取源码 更多java,java学习,java面试题 http://techfoxbbs.com

Zabbix 通过 JMX 监控 java 进程

参考: [ JMX monitoring ] [ Zabbix Java gateway ] [ JMX Monitoring (Java Gateway) not Working ] 这里会说明通过 JMX 监控 java 进程的配置过程以及需要注意的问题. 本文在 zabbix 已经安装好的基础之上展开. 如果使用 zabbix_proxy , 配置完全一致, 只需要打开zabbix_proxy 对 java app server 有所有端口的访问权限即可. 环境说明 基本环境 OS: Ce

利用VisualVm和JMX远程监控Java进程

自Java 6开始,Java程序启动时都会在JVM内部启动一个JMX agent,JMX agent会启动一个MBean server组件,把MBeans(Java平台标准的MBean + 你自己创建的MBean)注册到它里面,然后暴露给JMX client管理.简单来说就是每个Java程序都可以通过JMX来被JMX client管理,而且这一切都是自动发生的.而VisualVm就是一个JMX Client. VisualVm能够自动发现本机的Java进程,如果要监控远程主机上的Java进程则需

使用visualvm远程监控java进程(以hadoop进程为例)

(一)下载安装 1.下载visualvm 在官网上下载即可,有mac版 2.工具-插件,选择感兴趣的插件进行安装 此时若本地有运行java进程,则在本地那里已经可以进行监控分析 (二)远程服务器配置 1.在任意目录建立文件jstatd.all.policy,内容如下: grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; }; 2.运行jstad服务 n

Linux记录-JMX监控JAVA进程

1.下载 下载地址:http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html,下载jmx_remote-1_0_1_03-ri.zip和jmx-1_2-ri.zip. 2.上传jmx-java.zip并解压到$JAVA_HOME/jre/lib/ext下 3.修改xxx.sh加入export JAVA_OPTS="-Dcom.sun.ma

java调用autoit3脚本

selenium无法对窗口进行操作,此时需要借助autoit. 必备软件: autoit3 如果不会编写也没有关系,可以用Au3Record直接录制,Au3Record直接就在autoit3的安装路径(path0)下 步骤: 1.用Au3Record录制.au3文件.(保存路径path1) 2.调用Runtime.getRuntime().exec(“path0  path1”):完成了java调用autoit3脚本. java调用autoit3脚本,布布扣,bubuko.com

Java进程监控

目录 1.引言 2. 程序启停, 为进程自定义项目名称 3. 操作系统判断 4. 获取进程信息 5. 内存,CPU信息 6. 堆内存信息 7. 端口信息 8. 线程信息 9. MXBean使用样例 9.1 根据pid获取jvm对象 9.2 根据jvm对象获取jmx服务 9.3. 使用MXBean代理获取具体管理工具 9.4 访问MXBean demo 9.6 demo ?最近项目需要对Java进程,堆栈信息,内存,cpu等资源的消耗进行监控,借鉴了git已有的轮子JPOM java项目管理系统和

JVM探秘:VisualVM监控远程Java进程

VisualVM在Java 8中是JDK自带的一个图形化工具,项目主页 VisualVM,在后续版本中可能会从JDK移除. VisualVM可以监控Java进程的CPU与内存占用情况,可以监控Java进程内的各个线程的执行情况,还可以与MAT工具一样用来分析堆转储快照. 监控远程Tomcat进程 监控远程主机上的Tomcat进程,需要在Tomcat的catalina.sh文件中加入参数: JAVA_OPTS="$JAVA_OPTS -Dcom.sum.management.jmxremote -

shell实现简单的进程监控脚本

一个简单的需求:shell实现进程监控watchdog功能,配合计划任务每分钟执行一次shell脚本,对进程进行监控,如果意外中断那么启动他,如果正常则什么都不需要去做. #!/bin/bashNAME=javaNOP=/bin/trueDATE=$(/bin/date +”%Y-%m-%d %H:%M:%S”)ps -ef | awk -F ” ” ‘{print $8,$2}’ | grep ^java >/dev/null 2>&1case “$?” in0)# It is ru