一个简单的监控java进程获取日志的办法

公司里面一个长时间运行的环境会出现问题, 这边简单写了一个脚本自动获取日志信息

脚本如下

注意 我的path 其实就是复用的 我们应用里面的jdk  剩下的就非常简单了.

每个日志都自动打包 并且移除源文件来减少磁盘占用量. 

export PATH=$PATH:/gscloud/jstack/runtime/java/x86_64-linux/bin/
export pid=`jps |grep caf-bootstrap.jar |awk '{print $1 }' `
echo $pid
export now=`date +%Y%m%d%H%M`
echo $now
cd /javalog
jcmd $pid VM.flags >> $now.log
jcmd $pid Thread.print >> $now.log
jcmd $pid GC.class_histogram >> $now.log
jcmd $pid GC.heap_info >> $now.log
tar -zcvf $now.log.tar.gz $now.log --remove-files

设置后之后放到 /javalog 目录下面

然后执行一个计划任务就可以

crontab -e
输入
*/2 * * * * /javalog/java.sh
原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/13097456.html