问题标签 [jolokia]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1019 浏览

java - 如何使用 Jolokia 启动通常在计时器上触发的路线部分

我可以调用以下 URL 来了解 Camel 路线部分的状态...

http://localhost:8080/gateway047/jolokia/exec/org.apache.camel:context=VCM047,type=routes,name=%22VCM047_store_list_schedule%22/getState()

这会给

路线部分定义为...

我希望能够触发此部分进行测试。

因此,如果我可以停止/启动该部分,它可能会触发它。

这导致我尝试...

http://localhost:8080/gateway047/jolokia/exec/org.apache.camel:context=VCM047,type=routes,name=%22VCM047_store_list_schedule%22/stop()

但这永远不会回来。

谁能提供一些关于如何通过 Jolokia 停止/开始骆驼节的建议。

0 投票
1 回答
10411 浏览

java - 使用 Jolokia 监控同一 Tomcat 服务器上 webapp 的 JMX 端点

Jolokia对我来说是一个未知领域,在阅读了文档之后,我仍然不确定它是否适用于我想到的场景。

设置:

  • Tomcat 应用服务器(版本范围从 6.x 到 7.x),通常在 Windows 平台上,偶尔也有类似 Linux 的版本。
  • 部署了启用了 JMX 监控的第三方 Java Web 应用程序 (SAP BusinessObjects)(可通过 RMI 访问)。

可能的问题:

  • 要监控的 Java Web 应用程序是商业和封闭源代码,因此无法修改。唯一可以更改的是 JMX 端口号
  • JMX 端点是自定义端点,因此不是默认jmxrmi端点。
  • JMX 连接需要身份验证。

目标:

我想做的是将 Jolokia WAR 文件部署到 Tomcat 服务器上,然后对其进行配置,以便我可以从其他 Web 应用程序读取 MBean 属性。

我会使用 Python(版本 3)和Requests HTTP 库自己编写客户端代码。

我一直在阅读 Jolokia 文档(同样,此时我是一个完整的新手),但无法弄清楚这是否可能(因为我似乎无法找到进入 JMX 的位置/RMI url 或身份验证信息)。

问题:

  1. 我可以使用 WAR 代理进行此设置吗?
  2. 如果不是,请您解释一下原因(这样我可以理解,而不是因为我不相信您)。另外,是否还有其他更适合这种情况的代理?
  3. 如果是,您能否指出正确的方向,如何将 Jolokia 配置到要连接的 Web 应用程序?
0 投票
1 回答
2666 浏览

activemq - 如何在 ActiveMQ 命令行中从 DLQ 重新传递消息?

我正在寻找通过命令行工具重试来自 DLQ 的一些消息的方法。快速查看activemq-admin工具并没有给我答案。

我有一个选择器,DLQ 中的消息列表,我想再试一次。我知道,从管理 Web 界面可以选择一条或多条消息并重试它们,但出于安全原因,我们不使用 Jolokia。

0 投票
1 回答
254 浏览

java - hawtio - 远程代理的预定义列表

我正在开发一个应用程序,该应用程序由许多 Web 容器组成,这些容器上安装了 WAR-s。目前我有一个大约 10 台这样的服务器场。我即将开始集成 jolokia/hawtio 以跟踪每个服务器上暴露的 JMX mbean。

为此(我认为)我将在这些服务器中的每一个上安装一个 jolokia 代理(只需将战争放入部署库中。现在我认为将 hawtio 放在专用节点上并连接到部署在其余服务器上的远程代理我的 10 台服务器。

我的问题是是否有可能以某种方式给出预定义代理(主机/端口/凭据)的列表?

我有很多像这样管理的农场,我更喜欢使用每个农场生成的预定义列表,而不是处理自动发现

提前致谢

0 投票
2 回答
673 浏览

spring-boot - Spring Boot WAR jolokia 集成

根据Spring Boot 1.2.3 Reference Docs。启用 jolokia 似乎就像添加以下 Maven 依赖项一样简单:

虽然这确实适用于打包为胖 jar 的 Spring Boot 应用程序,但当打包为 WAR 文件时,我无法让它工作。

根本原因似乎是:

我将 STS 用于开发目的并部署到嵌入式关键 tc Server 3.1。包含 的依赖项(json-simple-1.1.1.jar)org.json.simple.JSONAware 确实出现在 Maven 依赖项节点下,所以我不确定问题是什么。

0 投票
1 回答
807 浏览

apache-camel - 在 vanilla Java/Camel/Spring 中从 JSON 中提取数据

我正在尝试编写 Camel 路由以通过 Jolokia REST API 从 ActiveMQ 服务器获取 JMX 数据。我能够成功地从 ActiveMQ 服务器获取 JSON 对象,但是我遇到了一个问题,我无法弄清楚如何在我的 Camel 路由中解析 JSON 对象。Camel 与 Jackson、Gson 和 XStream 集成,但它们似乎都需要一个我没有的额外库。Camel 也支持 JSONPath,但它需要另一个我没有的库。到目前为止,我所有的研究似乎都指向使用一个新的软件库,所以我正在寻找一个知道解决方案的人,以节省我尝试更多死胡同的时间。

最大的问题是我试图用 Java/Camel/Spring/ActiveMQ/apache-commons 附带的东西来解析 JSON。我更喜欢只使用 Camel/Spring XML 的解决方案,但使用 Java 的另一种解决方案也可以工作(也许 JXPath 和 Apache Commons?)。

我尝试使用我目前拥有的库的原因是我们公司获得批准新软件库的漫长过程。我可以等待几个月以获得批准的库,或者我可以编写自己的专业解析器,但我希望有其他方法可以从我从 Jolokia JMX REST API 获得的 JSON 对象中提取一些信息在 ActiveMQ 中。

0 投票
1 回答
2946 浏览

cross-domain - Spring Boot,Jolokia 远程访问返回不存在“Access-Control-Allow-Origin”标头

我在我的 Spring Boot 应用程序上使用 jmx 设置了 jolokia,所以我可以通过 HTTP 获取 jmx 信息。

但是,我无法通过 javascript ajax 获取数据,并出现错误“请求的资源上不存在 'Access-Control-Allow-Origin' 标头。因此,不允许访问Origin ' http://localhost:8080 '。”

我想让 jolokia 端点返回“Access-Control-Allow-Origin:*”标头以允许任何来源,或者至少返回具有我在 jolokia-access.xml 上指定的允许来源的标头,但我没有得到标头回应,我不确定我错过了什么

我正在运行的监控 javascript 不在具有我的 spring boot 应用程序的同一台服务器上,因为我想让脚本远程运行。

下面是我的 Spring Boot 应用程序设置。

application.properties 和 jolokia-access.xml 都在类路径中,所以我可以看到我对 application.properties 上的 management.port 所做的更改以及对 jolokia-access.xml 的远程发布访问限制已应用

pom.xml

应用程序属性

jolokia-access.xml

当我通过 curl 访问 jolokia 端点时,我可以将 jmx 数据作为 json 响应,如下所示

但是,由于 jolokia 端点的响应没有 Access-Control-Allow-Origin 标头,因此 javascipt 下面失败了。即使我设置了 'endpoints.cors.allowed-origins=*' 属性,但我没有看到响应的标题

监控 javascript

发送的 javascript 请求标头

收到的 javascript 响应标头

正如您在上面看到的,根本没有“Access-Control-Allow-Origin”标头。

0 投票
0 回答
3666 浏览

spring - 使用 Spring 的 Jolokia 代理配置

我正在尝试按照此处给出的 Jolokia Spring 支持参考文档在 Spring 应用程序中配置 Jolokia JVM 代理。

我已添加jolokia-spring-1.3.1为 Maven 依赖项,以下是我的 Spring 应用程序上下文:

运行代码会在控制台上提供以下输出,但不会创建 Jolokia 代理:

浏览至http://127.0.0.1:15151/jolokia/显示以下内容:

使用hawtio列出可用的 JVM 会显示创建的 JVM,但在“代理 URL”下为空白。尝试在 hawtio 中启动代理会在控制台上出现以下错误:

如果不使用 spring XML,而是使用以下 java 选项运行代码:

然后代理正确启动并可用,这由以下控制台输出确认:

以及列出代理及其正确端口 15000 的 hawtio。

我还尝试按照参考文档中的建议在不使用 Jolokia 命名空间的情况下重写 Spring 配置,例如:

但这仍然会带来同样的问题。

所以我的问题是,我在导致 Jolokia 代理失败的 Spring 配置中做错了什么?

有关信息,我的 Spring 版本是 4.1.6,JDK 是 1.8.0_45。

谢谢

0 投票
1 回答
557 浏览

java - Jolokia 防止 Tomcat 关闭

我将 jolokia 与我的 tomcat 集成(tomcat 7.0.53,jdk 1.8.0_45)

我在 tomcat-directory/bin/setenv.sh 中配置了 javaagent:

现在,我在关闭 tomcat 时遇到了麻烦。ps 告诉我,java 进程已经在运行。这是关机的输出:

这是线程转储:

当我现在从 catalina_opts 中删除 javaagent 时,一切都恢复正常了。我在stackoverflow上搜索过,但没有找到任何解决方案。

0 投票
1 回答
607 浏览

activemq - 使用 Jolokia 和 Hawt.io 查看 Activemq 消息

尽管浏览了几个网站并在此处出现堆栈溢出,但似乎有一种方法可以使用 Jolokia 和 Hawt.io 查看 Activemq 队列中的消息,但到目前为止我还没有成功。

我们在 Spring Webapp 的嵌入式服务中运行我们的 Activemq(版本 5.12.0),并暴露了 Jolokia Web 服务,如本网页所述: https ://jolokia.org/reference/html/agents.html#agent-war -程序化

通过 Hawt.io 查看 Jolokia Web 服务时,我无法弄清楚如何实际查看队列中的消息。

这是显示队列大小的屏幕截图:

在此处输入图像描述

那么,如何使用 Jolokia 和 Hawt.io 查看 Activemq 队列中的消息?