By Daniel Mortimer-Oracle on May 07, 2013
Further to blog entry "WLST Offline Script to Create Summary of WebLogic Domain", I have created a solution which extends the capability to collecting an online summary if a connection to the domain's Admin Server can be established.
Search the web, and you will find many WLST examples which summarize managed server status and performance, JMS, JDBC and more. In this respect, my efforts are nothing new. However, I thought I would share as my scripts have the following "bells and whistles".
1. If you are unable to connect to the domain's Admin Server, an offline summary of the domain will automatically be obtained
Screenshot : Snippet of WLST Summarizer HTML Output
3. If a managed server has a "FAILED" health state or there is 1 or more thread hogs in its JVM thread pool, three thread dumps will be captured (15 seconds apart).
Download Sample Script
You can grab the sample script by clicking here.
Instructions to Run:
1. After download, extract the zip to the machine hosting the WebLogic environment. You should have three directories along with a readme.txt
2. In the scripts directory, find the start wrapper script startWLSTDomainSummarizer.sh (Unix) or startWLSTDomainSummarizer.cmd (MS Windows). Open the appropriate file in an editor and change the environment variable settings to suit your system.
Example - startWLSTDomainSummarizer.cmd
set WL_HOME=D:\product\FMW11g\wlserver_10.3 set DOMAIN_HOME=D:\product\FMW11g\user_projects\domains\MyDomain set WLST_OUTPUT_PATH=D:\WLSTDomainSummarizer\output\ set WLST_OUTPUT_FILE=WLST_Domain_Summary_Via_MBeans.html call "%WL_HOME%\common\bin\wlst.cmd" StartDomainSummarizer.py
Note: The WLST_OUTPUT_PATH directory value must have a trailing slash. If there is no trailing slash, the script will error and not continue.
3. Run the shell / command line wrapper script. It should launch WLST and kick off "StartDomainSummarizer.py". This initial python script will hit you with some prompts e.g.
Is your domain Admin Server up and running and do you have the connection details? (Y /N ): Y
Enter connection URL to Admin Server e.g t3://mymachine.acme.com:7001 : t3://localhost:7001
Enter weblogic username: weblogic
Enter weblogic username password (function prompt 1): welcome1
(Note: the value typed in for password will not be echoed back to the console).
Depending on your responses it will call "WLSDomainInfoOffline.py" or "WLSDomainInfoOnline.py".
4. If the scripts run successfully, you should get a HTML summary in the specified output directory.
5. For the HTML to render correctly, ensure the .js and .css files provided (review the output directory created by the zip file extraction) are accessible. For example, to view the HTML locally (without using a web server), place the HTML output, jquery-ui.js, spry.js and wlstsummarizer.css in the same directory.
This is a sample script. I have tested it against WebLogic Server 10.3.6 domains on MS Windows and Unix. I cannot guarantee that the script will run error free or produce the expected output on your system. If you have any feedback add a comment to the blog. I will endeavour to fix any problems with my WLST code.