【问题标题】:Connect to JMX using PowerShell使用 PowerShell 连接到 JMX
【发布时间】:2011-08-04 19:14:24
【问题描述】:

我不是开发人员,因此请在阅读以下消息时记住这一点:

我需要能够使用 Windows PowerShell 连接到主机上的 JMX RMI 代理,这可能吗?

我得到的java客户端的示例字符串如下:

JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:7979/jmxrmi");

这样做的原因是我正在我的 PowerShell 脚本中执行其他工作,并希望将其全部保存在一个地方。

谢谢!

【问题讨论】:

  • 是否有用于 JMX 的 .Net API?如果是这样,您可以使用它,因为您可以直接访问 PS 中的 .net 对象或在 PS 中运行 c#\vb.net 代码。

标签: powershell rmi jmx


【解决方案1】:

这是两种技术的不寻常组合,但它是可能的。

如果您尝试连接到 JBoss 服务器,最快的方法可能是调用 twiddle,这是一个命令工具,它将 JMX 请求发送到目标 JBoss 服务器并将结果返回给标准输出。

另一种方法是在目标服务器上实现Jolokia 代理。这将允许您使用 REST 发出 JMX 请求。响应也将以 REST 格式返回,您可以在 PowerShell 中使用these solutions 之一进行处理。

第三,您还可以在目标服务器上部署JMX-WS 服务,这将允许您使用 Web 服务与 JMX 服务器进行通信。 document 提供了一些 VBScript 示例。

以上都没有真正使用您概述的 JMXServiceURL 语法,我想不出一种方法可以将这个基于 RMI 的协议真正干净地集成到 PowerShell 中,但希望以上其中一个对您有用。

========== 更新 ===========

可能有一种方法可以使用 RMI 实现。看看IKVM。它是 .NET 编译器的 Java 字节码。我已经成功地将 JMX/RMI java 代码编译成 .Net 程序集并从 C# 中使用它。我认为PowerShell会做同样的事情。

【讨论】:

    猜你喜欢
    • 2017-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多