【问题标题】:Jolokia Java clientJolokia Java 客户端
【发布时间】:2014-12-19 18:14:03
【问题描述】:

我是 JMX 的新手。我开发了一个 Web 服务,使用 Glassfish 作为服务器。现在我想监控我的应用;

我的第一个想法是使用 Jconsole 和 JVM 作为远程监控工具。继续我的研究后,我发现这篇文章:

http://www.javacodegeeks.com/2012/02/client-side-server-monitoring-with.html

Accessing JMX via HTTP alternatives

这表明我必须使用像 Jolokia 这样的桥,我显然不明白原因。 JConsole + mbeans 还不够?

我继续我的研究,并使用他们的示例创建了一个 java 项目:

  public static void main(String[] args) throws MalformedObjectNameException, J4pException {
        J4pClient j4pClient = new J4pClient("http://localhost:8080/jolokia/");
        J4pReadRequest req = new J4pReadRequest("java.lang:type=Memory",
                "HeapMemoryUsage");
        J4pReadResponse resp = j4pClient.execute(req);
        Map<String, String> vals = resp.getValue();
        System.out.println("Memory usage: used: " + vals);

    }

它起作用了,我收到了一些与我的使用内存有关的消息。但是,我不知道目的是什么。

监控我的 Web 服务的最佳方式是什么?

【问题讨论】:

  • 我首先要问我要监控什么?而不是继续我应该怎么做

标签: glassfish jvm jconsole jolokia


【解决方案1】:

我推荐使用 JVisualVM。它非常易于使用并提供大量信息。只需启动您的应用程序,然后启动 JVisualVM,它就会检测到正在运行的 java 应用程序。您可以单击它以图形形式获取各种信息。使用它来监控内存、线程、垃圾收集和创建堆转储。

您提到的 Jolokia 工具提供了一种监控影响较小的应用程序的方法, 但似乎你需要做更多的编码。 JVisualVM 提供了大量开箱即用的信息。

你可能需要考虑 JVisualVM 对性能的影响,但我一开始不会担心,除非你的网站有很高的点击率。您还可以选择要监控的内容以降低影响。

【讨论】:

    猜你喜欢
    • 2017-07-05
    • 2011-08-12
    • 2015-06-21
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多