当weblogic进程的cpu超过阀值时, 运行wlst脚本, dump出thread stack.
#!/usr/bin/perl -w
use warnings;
use strict;
$| = 1;
my $SAMPLE_INTERVAL = 2;
my @SAMPLE_PROCESS = ('domain=ecssApp','domain=ecssWeb');
my @SAMPLE_PORT = (7001,8016);
my @USER=('weblogic', 'weblogic');
my @PASSWORD=('xx', 'xx');
my $THRESH_HOLD = 100;
my $WLST="/export/home/wls10/bea/wlserver_10.3/common/bin/wlst.sh";
my $SCRIPT="/mboss/home/crmgz/bin/dumpthread.py";
while(1){
sleep $SAMPLE_INTERVAL;
for(my $i=0; $i<@SAMPLE_PROCESS; $i++){
open(PROC, "ps -eo'pid,pcpu,args'|grep java | grep -v grep |grep $SAMPLE_PROCESS[$i]|");
my $xx = <PROC>;
$xx =~ s/^\s+//;
my $pos1=index($xx, ' ', 0);
my $pos2=index($xx, ' ', $pos1);
my $pid = substr($xx, 0, $pos1);
my $cpu = substr($xx, $pos1+1, $pos2);
print("pid: " . $pid . " cpu: " . $cpu . "\n");
if($cpu>$THRESH_HOLD){
print("i will dump server: " . $pid . "\n");
`$WLST $SCRIPT 127.0.0.1:$SAMPLE_PORT[$i] $USER[$i] $PASSWORD[$i]`;
}
close(PROC);
}
}
wlst脚本:
import sys
serverName = 'AdminServer'
counter = 0
sleepTime = 4000
dateFormat = java.text.SimpleDateFormat("yyyyMMddHHmmssSSS")
connect (sys.argv[2],sys.argv[3],sys.argv[1])
for counter in range(3):
java.lang.Thread.sleep(sleepTime)
fileName = 'dump_' + serverName + '_' + dateFormat.format(java.util.Date()) + '.dmp'
threadDump('true', fileName, serverName)
分享到:
相关推荐
python 脚本从nohup.out ibm core 文件 ,或者从weblogic 的console 里面 thread dump 整理出来,统一格式便于查看,适合于性能分析
本文将详细介绍WebLogic的自动化管理,特别是通过WLST(WebLogic Scripting Tool)脚本进行自动化管理的方法。 首先,让我们理解WLST是什么。WLST是WebLogic Server的一个内置工具,它提供了一种基于Python的交互式...
Weblogic反序列化远程代码执行漏洞(CVE-2018-2893)是Oracle WebLogic Server中一个严重安全问题,它允许攻击者通过发送恶意构造的序列化对象来执行任意代码,从而获得对服务器的完全控制。这个漏洞存在于WebLogic ...
获取Threaddump可以通过操作系统命令,例如在Unix/Linux系统中,可以使用kill -3命令发送信号到运行WebLogic的Java进程来生成Threaddump。此外,WebLogic控制台也提供了生成Threaddump的功能。 #### 4.3 Threaddump...
这些代码用于设置 DOMAIN_NAME、SERVER_NAME、USERDOMAIN_HOME、WLS_USER 和 WLS_PW 等环境变量,这些变量将被用于自动启动 Weblogic。 安装服务 在编辑完 `commEnv.cmd` 文件后,我们需要安装服务以便实现自动...
WebLogic Server 管理任务自动化是通过使用WebLogic脚本工具(WLST)来实现的,这使得在Linux环境下对WebLogic Server的管理和配置变得更为高效和便捷。WLST提供了一系列的命令,允许管理员创建、获取和设置配置...
IBM的WebLogic Development Tools插件也可以帮助实现热部署,通过监控源代码变更并自动部署到WebLogic。 7. **Maven插件**: 使用maven-war-plugin的war overlay机制,可以在不重启服务器的情况下更新WAR文件。 ...
Weblogic反序列化远程代码执行漏洞(CVE-2018-2893)是Oracle WebLogic Server中一个严重安全问题,它涉及到组件T3协议处理中的对象反序列化过程。该漏洞允许攻击者通过构造恶意的T3请求,远程执行任意代码,从而...
综上所述,"JavaEE5实用教程——基于WebLogic和Eclipse程序源代码"涵盖了从基础组件到高级特性的广泛内容,旨在帮助开发者利用JavaEE5的简化特性,结合WebLogic Server的稳定性和Eclipse的高效开发工具,创建高质量...
WebLogic Dump 文件分析器是一款专为管理和解析Oracle WebLogic Server应用服务器生成的诊断(dump)文件而设计的实用工具。WebLogic Server是企业级Java EE应用程序的流行平台,它在运行过程中可能会因为各种原因...
对于像WebLogic这样的Java应用服务器,在启动时可以将标准输出重定向到一个文件,例如使用命令 `nohup sh startWebLogic.sh > start.log &` 来启动WebLogic服务,之后再执行 `kill -3 <pid>` 可以将Thread Dump信息...
自动登录weblogic 省去手工输入的麻烦,很简单的小代码,其中用户名及密码都是weblogic
WebLogic服务器内存调优是一个关键的过程,以确保应用程序的稳定性和高效性。内存配置不当可能导致系统性能下降,甚至出现内存溢出错误。以下是对JVM内存原理和WebLogic内存调优的详细说明。 首先,JVM内存分为两大...
本示例代码是针对在WebLogic上开发WebSocket应用的一个详细实例,旨在帮助开发者理解和实践WebSocket在WebLogic中的应用。 WebSocket API是基于HTTP的,但与HTTP不同的是,它在建立连接后可以保持长时间开放,从而...
### SVN与WebLogic的自动同步 #### 背景与需求 在企业级软件开发过程中,通常会遇到两次上传的情况:一是将代码提交到版本控制系统(如SVN或CVS),二是将构建好的应用程序部署到测试服务器上进行验证。这种双重...
在Linux环境下,自动启动WebLogic Server是系统管理的重要一环,尤其对于持续运行的服务来说,确保WebLogic能够在系统启动时自动运行能节省大量的手动操作时间。以下是如何在Linux上配置WebLogic服务以便自动启动的...
在Java Web开发中,WebLogic Server是一款非常流行的Java EE应用服务器,它提供了全面的企业级服务,包括对JSP(JavaServer Pages)的支持。本示例主要关注如何在WebLogic环境中进行JSP的预编译,这有助于提升应用...
此外,还可以通过 WebLogic Admin 的命令 `weblogic.Admin THREAD_DUMP` 来获取,但前提是服务器必须能够被 ping 通。 #### 获取失败时刻的 Thread Dump 为了捕捉到确切的故障时刻的 Thread Dump,可以在启动 JVM ...
linux下自动运行weblogic工程脚本
在这个场景中,我们将详细探讨如何在WebLogic 12.1.3的控制台(Console)模式下配置“可服务实例自动迁移的动态集群”。 首先,你需要确保WebLogic Server 12.1.3已经正确安装并启动了AdminServer和NodeManager。在...