`
yunzhu
  • 浏览: 1145587 次
  • 性别: Icon_minigender_1
  • 来自: 南京
博客专栏
B2b19957-cda7-3a9e-83a0-418743feb0ca
监控应用服务器
浏览量:109922
2e8be8be-e51f-346c-bcdd-12623c9aa820
Web前端开发
浏览量:119764
Bfa5df64-a623-34b9-85b8-ef3ce2aed758
经典异常的解决
浏览量:204624
社区版块
存档分类
最新评论
阅读更多

注明:本文转载自网上,原文地址(该地址已经不能访问了):
http://hi.baidu.com/lff0305/blog/item/cb80ac3107ccdca05fdf0e3e.html

 

前提:需要通过JMX访问WebSphere的AdminClient API采集监控数据时,如果WebSphere启用了管理安全性,就不能直接访问,而必须配置安全证书。

 

基本上没什么可说的, 使用SOAP, 需要把ws_runtime.jar放到classpath中. 这个ws_runtime.jar可以搜索一下WAS6.1的安装目录, 有两个, 应该都能用.

Properties adminProps = new Properties();
adminProps.setProperty("type", AdminClient.CONNECTOR_TYPE_SOAP);
adminProps.setProperty("host", "192.168.1.100");
adminProps.setProperty("port", "8880");
adminClient = AdminClientFactory.createAdminClient(adminProps);
ObjectName objName = new ObjectName("WebSphere:name=JVM,process=server1,platform=proxy,node=test-e4dd24fa82Node02,j2eeType=JVM,J2EEServer=server1,version=6.1.0.0,type=JVM,mbeanIdentifier=JVM,cell=test-e4dd24fa82Node02Cell,spec=1.0");
Object value = adminClient.getAttribute(objName, "freeMemory");
System.out.println(value);

 

上面紫色的部分不是能通用的, 需要查询下自己的WAS Server.

 

运行结果:

2009-6-2 17:56:33 com.ibm.websphere.management.AdminClientFactory警告: ADMC0046W
2009-6-2 17:56:33 com.ibm.ws.management.connector.interop.JMXClassLoader警告: Could not find tmx4jTransform.jar in null/etc/tmx4jTransform.jar - Interoperability to older versions of WebSphere is disabled
2009-6-2 17:56:34 com.ibm.ws.ssl.config.SSLConfigManager信息: ssl.disable.url.hostname.verification.CWPKI0027I31406800

 

这个很简单, 但是正常运行的前提是WAS6.1 的安全关掉了 (登录不需要密码, 只需要用户名) 如果安全没有关掉, 及其麻烦, 以后详细写~~需要注意的一点: WAS6.1只支持到JDK/JRE5.0, 所以上面的Java环境应该在JDK/JRE5.0中运行. 在JDK/JRE6.0中运行将报错.


继续前面的. 如果启用了安全(WAS6.1默认的), 会出现下面的错误:

-6-4 10:25:49 com.ibm.websphere.management.AdminClientFactory
警告: ADMC0046W2009-6-4 10:25:50 com.ibm.ws.management.connector.interop.JMXClassLoader
警告: Could not find tmx4jTransform.jar in null/etc/tmx4jTransform.jar - Interoperability to older versions of WebSphere is disabled2009-6-4 10:25:50 com.ibm.ws.ssl.config.SSLConfigManager
信息: ssl.disable.url.hostname.verification.CWPKI0027Icom.ibm.websphere.management.exception.ConnectorException: ADMC0016E: 系统无法创建 SOAP 连接器以连接到端口 8880 上的主机 192.168.1.100。

 

如何判断安全已经启用了比较简单 如果WAS6.1 要求输入用户名和密码同时浏览器中查看控制台的协议是HTTPS, 那么就说明安全启用了 (默认的应该是启用的)



 

下面的步骤比较麻烦WAS6.1特殊的因为需要WAS6.1的证书WAS6.0里面这个步骤很简单默认的证书能直接用但是WAS6.1就不行默认的证书不能用必须生成自己的证书并配置到WAS6.1里面.

 

首先进入 <WAS_HOME>AppServer/bin, 运行ikeyman.bat文件进入证书配置工具:



 

点击添加:

 

选择类型JKS, 首先生成KeyStore. 目录设定为c:\test , 名称是store.jks

 

点击 OK , 之后会询问密码这里要输入KeyStre的密码: (密码要记住后面会用到)

 

点击OK, 返回主界面下面列表中很多默认的证书没有用Ctrl-A 全选然后点击右侧的DELETE, 都删掉:

 

删掉后创建自签署证书:

 

在弹出的界面中输入必填的信息基本上都是证书的标识可以填入自己的一些信息:

 

点击OK. 这时KeyStore就创建完毕了这里需要把它导出稍后创建TrustStore:

 

点击右下角的Extract Certificate... , 导出证书这里命名为cert.arm, 放到c:\test下面:

 

OK, 此时KeyStore就生成完毕了下面生成TrustStore. 再次点击New: (这次用的文件名是trust.jks , 同样放到了c:\test下面同样要记住TrustStore的密码)

 

同样把下面没有用的证书删掉然后点击 Add:

 

原创:本人实践过程中这一步有点问题,需要 先在下拉列表中选择“签署者证书”。

 

在弹出的界面中选择刚刚导出的cert.arm文件:

 

这时会询问Label. 随便填点文本:

 

点击OK, TrustStore生成完毕了.

 

这时 查看c:\test 文件夹里面应该有三个文件 : store.jks (KeyStore), cert.arm (导出文件), trust.jks (TrustStore文件)

 

下面的工作就是让WAS6.1应用这些KeyStoreTrustStore。

登录WAS6.1控制台点击 Security - SSL certificate and key management - Key stores and certificates 选项:



 

点击 new :

 

在界面中输入KeyStore的名称(这里用testKeyStore), Path(刚刚创建的, c:\test\store.jks), 密码 (创建的时候使用的密码这里用到了!!) 类型选择JKS:

 

一样的步骤加入TrustStore.jks:

 

这样自己生成的证书就导入到WAS中了下面要让WAS使用它点击证书配置项:

 

点击当前节点:

 

然后选择刚刚创建好的KeyStoreTrustStore, 然后点击"Get Certificate Alias", 获得别名.

 

之后点击OK 保存更改这时, WAS6.1的配置就完毕了重启WAS , 再重新登录控制台就可以在浏览器的证书信息中查看到刚才使用ikeyman生成证书时输入的一些信息了如果使用Firefox等浏览器可能还需要加入一个Exception, 因为这个证书是我们自己生成的不是Firefox认为"安全的"机构生成的所以会报告安全警告Firefox询问的时候加入Exception, 忽略它就行了.

 

下面就是Java程序了

test文件夹拷贝到Java程序运行的机器上这里有两种方法.

 

第一种修改程序:
在创建adminClient前面加入下面的代码定义Keystore 和 TrustStore. 注意程序里面用到了上面生成KeyStore/TrustStore的口令!

adminProps.setProperty(AdminClient.USERNAME, "websphere");
adminProps.setProperty(AdminClient.PASSWORD, "websphere");
adminProps.setProperty(AdminClient.CONNECTOR_SECURITY_ENABLED, "true");
adminProps.setProperty("javax.net.ssl.trustStore", "c:/test/trust.jks");
adminProps.setProperty("javax.net.ssl.keyStore", "c:/test/store.jks");
adminProps.setProperty("javax.net.ssl.trustStorePassword", "password for keystore");
adminProps.setProperty("javax.net.ssl.keyStorePassword", "password for truststore");

 

然后在文档(1) 中的程序就能正常运行了.

第二种导入生成的KeyStore.jks 到 Java程序运行的JRE中 就不用运行的时候指定了目标密匙口令JDK/JRE中默认的如果没改过就是changeit; 源密匙口令即上面生成KeyStore的口令 (又一次用到了)

 

之后上面代码里面的青色的部分就可以忽略了注意运行Java程序的JRE/JDK, 应该指定为上面命令行导入目标的JDK/JRE, 即 -destkeystore 中的参数.

 

使用证书监控WebSphere示例代码(本人追加的)

Properties adminProps = new Properties();
adminProps.setProperty(AdminClient.CONNECTOR_TYPE, AdminClient.CONNECTOR_TYPE_SOAP);
adminProps.setProperty(AdminClient.CONNECTOR_HOST, "localhost");
adminProps.setProperty(AdminClient.CONNECTOR_PORT, "8880");
adminProps.setProperty(AdminClient.USERNAME, "chenfeng");
adminProps.setProperty(AdminClient.PASSWORD, "chenfeng");
adminProps.setProperty(AdminClient.CACHE_DISABLED, "false");
// WebSphere服务器是否已启用管理安全性
adminProps.setProperty(AdminClient.CONNECTOR_SECURITY_ENABLED, "true");
adminProps.setProperty(AdminClient.CONNECTOR_AUTO_ACCEPT_SIGNER, "true");
adminProps.setProperty("javax.net.ssl.trustStore","D:/JavaTools/IBM/MyKey/trust.jks");
adminProps.setProperty("javax.net.ssl.keyStore","D:/JavaTools/IBM/MyKey/store.jks");
adminProps.setProperty("javax.net.ssl.trustStorePassword","chenfeng222");
adminProps.setProperty("javax.net.ssl.keyStorePassword", "chenfeng111");
AdminClient adminClient = AdminClientFactory.createAdminClient(adminProps);
// 这里只是最简单了获取了domainName
String domainName = adminClient.getDomainName();

 

 

后记:终于搞定,转载这么一篇文章那叫一个累啊,二十多张图片,下载再上传,还要排版。不过值得!

 

  • 大小: 22.8 KB
  • 大小: 21.8 KB
  • 大小: 16 KB
  • 大小: 13.1 KB
  • 大小: 13.7 KB
  • 大小: 35.4 KB
  • 大小: 26.1 KB
  • 大小: 28.8 KB
  • 大小: 26.1 KB
  • 大小: 12.7 KB
  • 大小: 16 KB
  • 大小: 23.6 KB
  • 大小: 12.7 KB
  • 大小: 17.3 KB
  • 大小: 43.9 KB
  • 大小: 31.3 KB
  • 大小: 32.3 KB
  • 大小: 47.9 KB
  • 大小: 33 KB
  • 大小: 26 KB
  • 大小: 36.7 KB
  • 大小: 16 KB
分享到:
评论

相关推荐

    websphere 6.1 资料集

    Websphere 6.1 资料集涵盖了关于IBM的Websphere Application Server (WAS) 6.1版本的全面知识,包括安装、配置和实用操作等多个方面。Websphere是IBM提供的一个强大的企业级Java应用服务器,用于部署和管理基于Java...

    WebSphere 6.1 SSL配置

    本配置文件详细介绍了如何在 WebSphere 6.1 中配置 SSL 加密连接,包括创建密钥库和证书、导入证书、生成 SSL 配置和配置 plugin 等步骤。通过遵循这些步骤,可以实现安全的数据传输和身份验证。

    Websphere6.1安装配置说明

    【Websphere6.1 安装配置说明】 在IT领域,WebSphere是IBM提供的一款企业级应用服务器,常用于构建、部署和管理Java应用程序。本文将详细介绍如何安装和配置WebSphere 6.1,包括设置DataSource、JDBC连接、JNDI命名...

    IBM WebSphere Application Server 6.1 for Linux安装步骤

    本文将详细介绍在 Linux 平台上安装 WebSphere 6.1 的步骤,以及相关的配置和设置。 安装准备 在安装 WebSphere 6.1 之前,需要准备好操作系统和环境。首先,需要检查操作系统的版本和配置,确保其满足 WebSphere ...

    监控启用全局安全后ND环境下的WebSphere6.1.

    在IT行业中,WebSphere Application Server...总的来说,这份文档将为IT专业人员提供关于在复杂、安全敏感的ND环境中运行WebSphere 6.1的宝贵指南,帮助他们更好地监控、管理和维护应用服务器,确保系统的稳定和安全。

    WebSphere6.1

    本篇将详细讲解WebSphere 6.1的安装、部署以及集群配置的相关知识点。 1. **安装说明** - WebSphere 6.1的安装过程适用于Windows和Unix/Linux系统。 - 集群安装不在本手册范围内,适用于单独服务器的安装和部署。...

    WebSphere6.1 for oracle数据源配置

    总之,“WebSphere6.1 for Oracle数据源配置”涉及了WebSphere与Oracle数据库的集成,包括JDBC驱动的管理、数据源的创建和配置、以及应用与数据源的绑定。正确配置数据源能够保证应用程序高效、可靠地访问数据库,...

    MYEclipse6.0下Websphere6.1的配置

    ### MyEclipse 6.0 下 Websphere 6.1 的配置详解 #### 一、概述 在软件开发过程中,集成开发环境的选择至关重要。MyEclipse 作为一款功能强大的 Java 开发工具,深受广大开发者的喜爱。而 WebSphere Application ...

    IBM WebSphere 6.1 ND 集群安装配置

    在IT行业中,IBM WebSphere是企业级应用服务器的典型代表,尤其在大型企业中广泛使用。...在实际操作中,还要注意遵循最佳实践,如定期备份配置,监控系统健康状态,以及及时更新补丁,以确保系统的安全性和可靠性。

    Websphere6.1集群安装和配置最终.rar

    【Websphere6.1集群安装与配置详解】 在企业级应用环境中,WebSphere Application Server (WAS) 是IBM提供的一款强大的Java EE应用服务器,它提供了高性能、高可用性和可扩展性的平台。WebSphere 6.1版本是该产品线...

    WebSphere6.1安装配置手册

    ### WebSphere 6.1 安装与配置详解 #### 一、WebSphere Application Server 的安装与配置 ##### (一)安装 WebSphere Application Server **1. Windows 下安装 WebSphere** WebSphere Application Server (WAS)...

    Websphere6.1集群安装和配置

    提供的文档“was6集群配置简要说明.doc”和“Websphere6.1集群安装和配置最终.pdf”应该详细涵盖了这些步骤,并可能包含特定的配置示例和最佳实践。阅读这些文档,可以深入理解每个步骤的细节,有助于成功部署和管理...

    WebSphere 6.1应用服务器安装部署手册

    #### 九、WAS6.1管理控制台的使用 这部分主要介绍了如何使用WebSphere 6.1的管理控制台来进行各种管理操作。 ##### 3.1 创建集群和应用服务器 - **集群**:创建应用服务器集群。 - **应用服务器**:创建单独的...

    手把手教你安装配置websphere6.1

    【安装配置Websphere 6.1】是一个关键任务,对于任何希望管理和部署基于IBM Websphere的应用程序的IT专业人员来说,都是必备技能。Websphere是IBM提供的一款强大的企业级应用程序服务器,用于托管Java EE(Java ...

    WebSphere6.1详细安装过程图解

    值得注意的是,WebSphere 6.1的版本较为老旧,现代企业通常会使用更新的版本,如WebSphere Application Server 9或更高版本,以获取更好的性能、安全性和功能支持。尽管如此,理解老版本的安装和配置流程对理解整个...

    WebSphere6.1-db2数据源配置文档.pdf

    WebSphere 6.1 db2 数据源

    WebSphere6.1+SSL配置

    在提供的文档"WebSphere 6.1 SSL配置.doc"中,你应该能找到更详细的步骤和具体配置选项,包括如何处理自签名证书、处理中间证书以及解决可能遇到的错误和警告。务必仔细阅读并按照指导操作,确保SSL配置正确无误。

Global site tag (gtag.js) - Google Analytics