Jolokia 教程 - part1(翻译)

前言

JMX 是 Java 环境下系统管理的标准解决方案,从 jdk 1.5 开始,JMX 在所有 JVM 中都可用,企业级应用服务器中甚至通过 JVM 进行管理。JMX 是一个精心设计的规范,在其它 EJB 规范轰轰烈烈的失败的时候创建。在创建之后十年,JMX 仍然是 Java 环境下唯一的管理解决方案。JMX 丰富的 MBeans 实现方式和层次是它设计的亮点,从简单的 标准 MBean 到非常灵活的开放 MBeans 和 MXBeans

然而,JMX 里的一些概念直到过时也没有被正式使用,比如 JSR-77 没有达到发布标准,JSR-160 被设计用于远程访问 JMX,希望能够隐藏通信细节,让远程和本地访问 JMX 没有却别,但不幸的是 RMI 协议和编程模型以 Java 为中心,导致在 Java 环境外并不适用。这就是 Jolokia 的切入点,它是基于 Agent 的,与 JSR-160 并存,但是它使用更加开放的 HTPP 协议,通过 Json 协议序列化数据内容。这为 非 Java 环境的客户端打开了崭新的世界。在协议之外,Jolokia 也为 远程 JMX 带来了新特性:一次通信完成多个 JMX 操作;只允许某些 JMX 操作的安全机制,其它一些特性比如 代理模式和历史跟踪对于 Jolokia 也是定制的。

这篇参考手册详细介绍了 Jolokia,第二章 介绍 Jolokia 的整体架构,第三章介绍 安装和配置不同的 Jolokia 客户,接下来的两章介绍安全机制和代理模式。在第六章介绍了 Jolokia 客户端实现者最感兴趣的协议定义。Jolikia 预置的 MBeans 列表在第七章介绍,第八章列举了可用的 Jolokia 客户端。

第二章 - 架构

Jolokia 的架构与 JSR-160 的连接器有所不同,其中最厉害的是 Jolokia 无类型的连接方式。JSR-160 是2003年释放,其设计目标是定义一个客户端标准,可以以透明的方式调用远程或本地的 MBeanServer 中的Mbean。这给 JMX 客户端提供了方便,但同时隐藏远程调用细节也存在一定风险。调用者应该至少了解调用过程。同时,RMI 传递实体类型,所以调用者需要明确知道实体结构,这增大了开发成本,所以在远程调用方面,RMI 渐渐失去了市场。

JSR-160 的问题是依赖于 RMI,需要完成的 Java 对象序列化/反序列化机制,限制了客户端必须使用 Java 环境。Jolokia 是采用无类型、轻量级的 Json 传输数据。尽管这种方式也有弊端,但利大于弊。

Agent 模式

下图展示了 Jolokia 的 Agent 模式,Agent 可以调用本地的 MBeanServer 暴露 json 接口供外部调用,在客户端上可以应用不同的技术来展示通过 Http 获取的 JMX 数据。Agent 可以放到一个轻量级的 Servlet 容器中,像 Tomcat、Jetty 之类的,它和普通的 Web 应用的行为一致,所以对于 Web 应用开发人员来讲非常熟悉。


除了放到 Servlet 容器之外,Jolokia 也可以定义特殊的 Agent,比如实现 OSGi 或者内置 Jetty 服务器。Agent 的详细内容在第三章中描述。

Jolokia 也可以集成到 Web 应用中,jolokia-core 库作为一个 Jar 包,提供一个 Servlet,加入到 Web 应用中之后就可以访问。

代理模式

代理模式为了解决不能向目标应用加入 Agent 的情况,可能由于不能改变目标应用,或者目标应用已经暴露了 JMX 调用。一个专用的 Servlet 代理服务器来部署 jolokia.war, Tomcat 或 Jetty 是非常好的选择。

下图展示了代理模式,客户端发送标准的 Jolokia 请求给 代理,请求中包含了路由信息,所以代理服务器中也不需要额外进行配置。


综上,代理模式应该仅在必要时使用,Agent 模式比代理模式更为高效,因为代理模式增加了一次中间转发,增加了复杂性,而且有些功能,比如合并 MBeanServers 在代理模式下不能使用。

第三章 - Agents

Jolokia 是基于 Agent 访问 JMX 的方式,需要安装 agent 来访问 JMX,agent 可以安装到目标应用上,也可以安装到独立的 Servlet 容器中,作为代理,访问目标应用。一共有四种不同类型的 agents.

War Agent: 以 War 包的形式分发和部署

OSGi Agent

Mule Agent

JVM Agent

应用集成 Jolokia Agent:通过加入 jolokia-core 可以将 Agent 集成到 web 应用中,方便使用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,012评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,589评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,819评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,652评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,954评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,381评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,687评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,404评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,082评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,355评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,880评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,249评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,864评论 3 232
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,007评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,760评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,394评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,281评论 2 259

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,087评论 18 139
  • 这部分主要是与Java Web和Web Service相关的面试题。 96、阐述Servlet和CGI的区别? 答...
    杂货铺老板阅读 1,343评论 0 10
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,293评论 6 344
  • spring官方文档:http://docs.spring.io/spring/docs/current/spri...
    牛马风情阅读 1,570评论 0 3
  • 虽已立冬,但仍就一番晚秋景象,仍旧暖暖冬阳。 我喜欢坐在獐子岛南门前的阶梯上抬头看远方天际飞机划出美丽的轨迹。以及...
    四毛姐姐阅读 200评论 0 3