视频的容积 发表于 2017-2-15 13:15:42

JMX WebLogic 8.x 监控

<%@ page contentType="text/html; charset=gb2312" %>
<%@page import="java.util.*"%>
<%@page import="java.awt.image.BufferedImage"%>
<%@page import="java.awt.*"%>
<%@page import="java.io.*"%>
<%
long startTime = System.currentTimeMillis();
long startMem = Runtime.getRuntime().freeMemory();
%>
<%!
public class LibInfo {

    boolean supportJNDI= false;
    boolean supportJavaxSql= false;
    boolean supportJAF = false;
    boolean supportMail = false;

    boolean supportBeanUtils= false;
    boolean supportCommonLogging = false;
    boolean supportCommonCodec = false;
    boolean supportCommonCollection = false;
    boolean supportCommonDigester = false;
    boolean supportCommonLang = false;
    boolean supportJakartaRegExp= false;
    boolean supportLucene= false;

    boolean supportDom4j= false;

    boolean supportMmMysqlDriver = false;
    boolean supportComMysqlDriver= false;

    boolean supportImageProcessing= false;

    public LibInfo() {
      try {
            Class.forName("javax.naming.Name");
            supportJNDI = true;
      } catch (ClassNotFoundException ex) {}

      try {
            Class.forName("javax.sql.DataSource");
            supportJavaxSql = true;
      } catch (ClassNotFoundException ex) {}

      try {
            Class.forName("javax.activation.DataSource");
            supportJAF = true;
      } catch (ClassNotFoundException ex) {}

      try {
            Class.forName("javax.mail.Message");
            supportMail = true;
      } catch (ClassNotFoundException ex) {}

      try {
            Class.forName("org.apache.commons.beanutils.MethodUtils");
            supportBeanUtils = true;
      } catch (ClassNotFoundException ex) {}

      try {
            Class.forName("org.apache.commons.logging.LogFactory");
            supportCommonLogging = true;
      } catch (ClassNotFoundException ex) {}

      try {
            Class.forName("org.apache.commons.codec.Decoder");
            supportCommonCodec = true;
      } catch (ClassNotFoundException ex) {}

      try {
            Class.forName("org.apache.commons.collections.ArrayStack");
            supportCommonCollection = true;
      } catch (ClassNotFoundException ex) {}

      try {
            Class.forName("org.apache.commons.digester.Digester");
            supportCommonDigester = true;
      } catch (ClassNotFoundException ex) {}

      try {
            Class.forName("org.apache.commons.lang.SystemUtils");
            supportCommonLang = true;
      } catch (ClassNotFoundException ex) {}

      try {
            Class.forName("org.apache.regexp.RE");
            supportJakartaRegExp = true;
      } catch (ClassNotFoundException ex) {}

      try {
            Class.forName("org.apache.lucene.index.IndexWriter");
            supportLucene = true;
      } catch (ClassNotFoundException ex) {}

      try {
            Class.forName("org.dom4j.Document");
            supportDom4j = true;
      } catch (ClassNotFoundException ex) {}

      try {
            Class.forName("org.gjt.mm.mysql.Driver");
            supportMmMysqlDriver = true;
      } catch (ClassNotFoundException ex) {}

      try {
            Class.forName("com.mysql.jdbc.Driver");
            supportComMysqlDriver = true;
      } catch (ClassNotFoundException ex) {}

      try {
            BufferedImage bufferedImage = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB);
            Graphics2D g = bufferedImage.createGraphics();
            g.drawLine(0, 0, 10, 10);
            g.dispose();// free resource

            supportImageProcessing = true;
      } catch (Throwable ex) {}

    }

    public boolean isSupportJAF() {
      return supportJAF;
    }

    public boolean isSupportJavaxSql() {
      return supportJavaxSql;
    }

    public boolean isSupportJNDI() {
      return supportJNDI;
    }

    public boolean isSupportMail() {
      return supportMail;
    }

    public boolean isSupportBeanUtils() {
      return supportBeanUtils;
    }

    public boolean isSupportCommonLogging() {
      return supportCommonLogging;
    }

    public boolean isSupportCommonCodec() {
      return supportCommonCodec;
    }

    public boolean isSupportCommonCollection() {
      return supportCommonCollection;
    }

    public boolean isSupportCommonDigester() {
      return supportCommonDigester;
    }

    public boolean isSupportCommonLang() {
      return supportCommonLang;
    }

    public boolean isSupportJakartaRegExp() {
      return supportJakartaRegExp;
    }

    public boolean isSupportLucene() {
      return supportLucene;
    }

    public boolean isSupportDom4j() {
      return supportDom4j;
    }

    public boolean isSupportMmMysqlDriver() {
      return supportMmMysqlDriver;
    }

    public boolean isSupportComMysqlDriver() {
      return supportComMysqlDriver;
    }

    public boolean isSupportImageProcessing() {
      return supportImageProcessing;
    }

}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>服务器信息</title>
<META http-equiv=Content-Type content="text/html; charset=UTF-8">
<LINK href="css/style.css" type=text/css rel=stylesheet>
<script>
function viewDetail(flag)
{
    if(flag==1)
    {
      document.getElementById('detail').style.display="";
      document.getElementById('showon').style.display="none";
      document.getElementById('showoff').style.display="";
    }   
    if(flag==0)
    {
      document.getElementById('detail').style.display="none";
      document.getElementById('showon').style.display="";
      document.getElementById('showoff').style.display="none";
    }
}
</script>
</head>

<body style="overflow-x:hidden;">
<br>
<table width="100%" height="25" border="0" cellpadding="0" cellspacing="0" bgcolor="#7171A5">
<tr>
    <td bgcolor="#CFFEFF" align="center" valign="middle" height="30">
    <span class="white"><font size="3">服务器信息</font></span>
    </td>
</tr>
</table>

<h3>服务器基本信息:</h3>
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#DEE3ED" class="line20">
<tr>
    <td width="30%" height="22" bgcolor="#CFFEFF"><span class="white">属性 </span></td>
    <td width="70%" height="22" bgcolor="#CFFEFF"><span class="white">对应值</span></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;服务器IP</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getServerName()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;服务器总内存</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=Runtime.getRuntime().maxMemory()/1000%>KB</td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;服务器当前可用内存</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=Runtime.getRuntime().freeMemory()/1000%>KB</td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;服务器端口</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getServerPort()%></td>
</tr>
<tr>

    <td align="center" bgcolor="#FFFFFF" height="25" colspan="3">
    <div id="showon"><input type="button"value="查看详细信息"></div>
    <div id="showoff" style="display:none"><input type="button"value="隐藏详细信息"></div>
    </td>
   
</tr>

</table>

<div id="detail" style="display:none">
<h3>Server Variables:</h3>
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#DEE3ED" class="line20">
<tr>
    <td width="30%" height="22" bgcolor="#CFFEFF"><span class="white">Property </span></td>
    <td width="70%" height="22" bgcolor="#CFFEFF"><span class="white">Value</span></td>
</tr>
<%
Properties props=System.getProperties();
Iterator iter=props.keySet().iterator();
while(iter.hasNext())
{
String key=(String)iter.next();
%>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=key%></td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=props.get(key)%></td>
</tr>
<%
}
%>
</table>

<h3>Request Variables:</h3>
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#DEE3ED" class="line20">
<tr>
    <td width="30%" height="22" bgcolor="#CFFEFF"><span class="white">Property </span></td>
    <td width="70%" height="22" bgcolor="#CFFEFF"><span class="white">Value</span></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getAuthType</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getAuthType()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getCharacterEncoding</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getCharacterEncoding()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getContentLength</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getContentLength()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getContentType</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getContentType()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getContextPath</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getContextPath()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getLocale</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getLocale()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getLocales</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getLocales()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getMethod</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getMethod()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getPathInfo</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getPathInfo()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getPathTranslated</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getPathTranslated()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getProtocol</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getProtocol()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getReader</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getReader()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getRemoteAddr</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getRemoteAddr()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getRemoteHost</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getRemoteHost()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getRemoteUser</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getRemoteUser()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getRequestDispatcher</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getRequestDispatcher("/")%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getRequestURI</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getRequestURI()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getRequestURL</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getRequestURL()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getServerName</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getServerName()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getServerPort</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getServerPort()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getServletPath</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getServletPath()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;getUserPrincipal</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=request.getUserPrincipal()%></td>
</tr>
</table>

<h3>Cookies Variables:</h3>
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#DEE3ED" class="line20">
<tr>
    <td width="30%" height="22" bgcolor="#CFFEFF"><span class="white">Property </span></td>
    <td width="70%" height="22" bgcolor="#CFFEFF"><span class="white">Value</span></td>
</tr>
<%
Cookie[] cos=request.getCookies();
   if(cos!=null){
for(int i=0;i<cos.length;i++)
{   
%>
<tr>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=cos.getName()%></td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=cos.getValue()%></td>
</tr>
<%
}
}
%>
</table>

<h3>Lib Info</h3>
<%
LibInfo lib=new LibInfo();
%>
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#DEE3ED">
<tr>
    <td height="25" bgcolor="#CFFEFF"><span class="white">Property </span></td>
    <td bgcolor="#CFFEFF"><span class="white">Value</span></td>
</tr>
<tr>
    <td width="30%" bgcolor="#FFFFFF" height="25">supportJNDI</td>
    <td width="70%" bgcolor="#FFFFFF" height="25">&nbsp;<%=lib.isSupportJNDI()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">supportJavaxSql</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=lib.isSupportJavaxSql()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">supportJAF</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=lib.isSupportJAF()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">supportMail</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=lib.isSupportMail()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">supportBeanUtils</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=lib.isSupportBeanUtils()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">supportCommonLogging</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=lib.isSupportCommonLogging()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">supportCommonCodec</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=lib.isSupportCommonCodec()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">supportCommonCollection</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=lib.isSupportCommonCollection()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">supportCommonDigester</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=lib.isSupportCommonDigester()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">supportCommonLang</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=lib.isSupportCommonLang()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">supportJakartaRegExp</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=lib.isSupportJakartaRegExp()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">supportLucene</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=lib.isSupportLucene()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">supportDom4j</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=lib.isSupportDom4j()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">supportMmMysqlDriver</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=lib.isSupportMmMysqlDriver()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">supportComMysqlDriver</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=lib.isSupportComMysqlDriver()%></td>
</tr>
<tr>
    <td bgcolor="#FFFFFF" height="25">supportImageProcessing</td>
    <td bgcolor="#FFFFFF" height="25">&nbsp;<%=lib.isSupportImageProcessing()%></td>
</tr>
</table>
<p><br>
</p>
</div>
</body>
</html>

以上是我的同事千辛万苦找到的!!!
jdk 1.4 weblogic 8.x
页: [1]
查看完整版本: JMX WebLogic 8.x 监控