HawtIO在JBoss EAP上(第二部分)

我刚刚发布了一篇关于在JBoss Wildfly 8.1上运行HawtIO的条目 。 从那篇文章中,您将了解HawtIO多么出色 ,以及它必须具备的所有 出色 插件,才能从单个仪表板管理基于JVM的技术……好吧…… hawt ……。

徽标-450像素

但是,出于上一篇文章中概述的相同原因,我想专门发布一篇在JBoss EAP上运行HawtIO的文章:

当我们在Red Hat推出JBoss Fuse和JBoss Fuse Serviceworks时 ,我们在集成各个组件方面变得越来越好。 例如,通过Fuse Service Works订阅,您可以完全访问A-MQ,Fuse及其所有组件,包括HawtIO。 不幸的是,到目前为止,EAP尚未“正式”支持HawtIO,但是在下一发行版中将对此进行修复。 这不是技术的局限性,而是存在着太多的东西,并且Red Hat具有严格的测试/兼容性要求,因此我们需要在完全“支持”它之前完成所有测试/认证。

但是……在我们等待支持的过程中,实际上没有理由不使用它(至少是Development和QA)。 而且已经有很多人这样做了。 请记住,它尚未得到官方支持!

因此,本博客的其余部分是分步指南,其中包含有关如何在您的JBoss EAP 6.x应用服务器上部署和保护HawtIO的最佳实践。 本指南将使用HawtIO 1.4.11(社区的最新版本)。

as7_to_eap

在JBoss EAP 6.1上的HawtIO

第一部分将讨论EAP 6.1,因为按照与在Wildfly 8.1上部署HawtIO相似的指导,它似乎可以很好地工作。 基本上,如果您按照博客文章中关于在Wildfly上运行的说明进行操作 ,则可以正常运行 。 具体来说,请执行以下操作:

  • 删除log4j.properties文件以使用EAP日志记录子系统
  • 将发行版重命名为hawtio.war
  • 在ApplicationRealm中创建具有“管理员”角色的用户
  • 编辑standalone.xml文件以说明以下设置:

我还添加了[这些说明到HawtIO文档中] [http://hawt.io/getstarted/index.html](网站应该很快会随着这些更改进行更新)。

在将HawtIO成功部署到JBoss EAP 6.1之后 ,应该在以下URL上找到登录页面: http:// localhost:8080 / hawtio

02-重量级安全

在JBoss EAP 6.2上的HawtIO

因此,不幸的是,让HawtIO在JBoss EAP 6.2 上运行存在JAAS的一些问题 ,我无法弄清。 如果您是Wildfly 7 / EAP 6.x向导,并希望看一眼,请查看我已打开的github问题 。

值得庆幸的是,HawtIO用途广泛,不必在您要管理的容器上并置一个Web应用程序即可运行。 您可以将其作为Chrome扩展程序 独立运行,也可以在非JBoss EAP的单独容器中运行。 有效地,您可以使用HawtIO的“ 连接”页面远程连接到您要管理的容器。

例如, 下载HawtIO的独立发行版,该发行版最终只是一个可执行jar。 像这样运行(确保添加用于端口更改的参数,因为如果在同一台计算机上运行,​​我们不想与EAP端口冲突):

ceposta@postamachat(standalone) $ java -jar hawtio-app-1.4.11.jar --port 9091

这将启动独立运行(带有内部Jetty服务器!Woohoo!)的HawtIO。

然后单击“连接”选项卡,您应该看到如下页面:

03-hawtio-连接

只是连接?

你问:“这怎么工作?” “我们如何连接到EAP并让HawtIO对其进行管理?”

好吧,神奇的是这个名叫Jolokia的超赞小图书馆。

687474703a2f2f6c6162732e636f6e736f6c2e64652f77702d636f6e74656e742f75706c6f6164732f323031302f31302f6a6f6c6f6b69615f6c6f676f2e706e67

Jolokia提供对您的JMX树的REST访问。 因此,让HawtIO管理您的JBoss EAP 6.2容器的方法是在其上启用Jolokia,然后使用HawtIO的“连接”选项卡登录。如果您没有看过Jolokia,那么您就错过了! 不再需要复杂的JMX API /客户端和查询/过滤器API。 只需使用REST端点并卷曲即可。 简单。

Jolokia有一些用于部署/启用的选项 。 最直接的是Web应用程序,但是您也可以在启动时附加为JVM代理。 我们将采用简单的方法并将Jolokia部署为Web应用程序:

重命名发行版

对于此博客文章,我使用的是Jolokia 1.2.2。 因此,当您下载它时,它的名称类似于jolokia-1.2.2.war 。 让我们重命名发行版,以便我们不考虑版本号来更轻松地访问URL:

ceposta@postamachat(rename) $ mv jolokia-war-1.2.2.war jolokia.war

为Jolokia启用安全性

接下来,我们要为jolokia Web应用程序启用安全性。 我们将按照Jolokia文档中的说明进行操作 。 我们需要编辑Jolokia jar中的web.xml文件,并取消注释出于安全考虑而被屏蔽的部分:

ceposta@postamachat(rename) $ vi jolokia.war

您在WEB-INF / web.xml中的配置应具有如下安全性部分:

163   <!--
164   Example Configuration for switching on BASIC security. The role 'Jolokia'
165   must be mapped to real users with passwords on the Appserver side:
166   -->
167   <login-config>
168     <auth-method>BASIC</auth-method>
169     <realm-name>Jolokia</realm-name>
170   </login-config>
171
172   <security-constraint>
173     <web-resource-collection>
174       <web-resource-name>Jolokia-Agent Access</web-resource-name>
175       <url-pattern>/*</url-pattern>
176     </web-resource-collection>
177     <auth-constraint>
178       <role-name>Jolokia</role-name>
179     </auth-constraint>
180   </security-constraint>
181
182   <security-role>
183     <role-name>Jolokia</role-name>
184   </security-role>
185
186 </web-app>

现在, 像在上一个博客中一样添加一个具有“ Jolokia”角色的用户。 注意,请确保将此用户添加到ApplicationRealm。

连接到EAP 6.2

现在返回到独立的HawtIO(我们在上一步中将其部署在http:// localhost:9091 / hawtio ),然后输入connect参数(路径如下):

04-hawtio-connect2

单击“连接到远程服务器”,然后中提琴! 你真受不了

从这往哪儿走

您也可以尝试通过http连接启用SSL,也可以使用DIGEST身份验证代替默认的BASIC身份验证。 我将其留给读者练习!

翻译自: https://www.javacodegeeks.com/2014/08/hawtio-on-jboss-eap-part-ii.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/362895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux命令行中执行多个命令

[rootlocalhost /]# date;date;date 2019年 05月 03日 星期五 09:08:37 CST 2019年 05月 03日 星期五 09:08:37 CST 2019年 05月 03日 星期五 09:08:37 CST [rootlocalhost /]# date&& data&&date 2019年 05月 03日 星期五 09:09:03 CST -bash: data: 未找到命…

JS设计模式(13)状态模式

什么是状态模式&#xff1f; 定义&#xff1a;将事物内部的每个状态分别封装成类&#xff0c;内部状态改变会产生不同行为。 主要解决&#xff1a;对象的行为依赖于它的状态&#xff08;属性&#xff09;&#xff0c;并且可以根据它的状态改变而改变它的相关行为。 何时使用…

Save info in Hidden Field

Hidden fields are used to store data at the page level protected System.Web.UI.HtmlControls.HtmlInputHidden Hidden1; //to assign a value to Hidden field Hidden1.Value"Create hidden fields"; //to retrieve a value string strHidden1.Value; 转载于:ht…

课堂测试

package 测试;import java.util.Scanner;class ScoreInformation {private String stunumber;private String name;private double mathematicsscore;private double englishiscore;private double networkscore;private double databasescore;private double softwarescore;…

Mule ESB,ActiveMQ和DLQ

在本文中&#xff0c;我将展示一个简单的Mule ESB流程&#xff0c;以了解实际中使用的Active MQ 的DLQ功能 。 我假设您有一个正在运行的Apache ActiveMQ实例&#xff08;如果没有&#xff0c;则可以在此处下载一个版本&#xff09;。 在此示例中&#xff0c;我使用了Mule ESB…

JS设计模式(2)策略模式

什么是策略模式&#xff1f; 定义&#xff1a;根据不同参数可以命中不同的策略 主要解决&#xff1a;在有多种算法相似的情况下&#xff0c;使用 if...else 所带来的复杂和难以维护。 何时使用&#xff1a;有许多种情况&#xff0c;而区分它们的只是他们直接的行为。 如何解…

C#中使用多线程访问Winform问题解决方案

我们在做winform应用的时候&#xff0c;大部分情况下都会碰到使用多线程控制界面上控件信息的问题。然而我们并不能用传统方法来做这个问题&#xff0c;下面我将详细的介绍。 首先来看传统方法&#xff1a; public partial class Form1 : Form{public Form1(){InitializeCompon…

Choose and Divide UVa 10375

题目大意&#xff1a;给出p,q,r,s&#xff0c;求组合数C(p,q)/C(r,s) 题目思路&#xff1a; 化简得到&#xff1a;原式等价于(p!(r-s)!s!) / (r!(p-q)!q!) 由算数基本定理可知任意一个正整数可被唯一分解为素数幂乘积的形式&#xff0c;将分子分母分解后&#xff0c;进行约分即…

在Java中避免空检查

对于Java开发人员&#xff08;从初级到专家&#xff09;最糟糕的噩梦之一是空对象引用检查。 我很确定您已经看过几次这样的代码&#xff1a; public void addAddressToCustomer(Customer customer, Address newAddress){if ( cutomer null || newAddress null)return;if ( …

Linux sudo 详解

简单的说&#xff0c;sudo 是一种权限管理机制&#xff0c;管理员可以授权于一些普通用户去执行一些 root 执行的操作&#xff0c;而不需要知道 root 的密码。严谨些说&#xff0c;sudo 允许一个已授权用户以超级用户或者其它用户的角色运行一个命令。当然&#xff0c;能做什么…

echarts自定义图例legend文字和样式

话不多说&#xff0c;先上效果图。 要完成这个图并不难&#xff0c;主要是下面那个图例比较难&#xff0c;需要定制。 让我们从官方文档找找思路&#xff0c;官方文档关于legend.formatter是这样的&#xff1a;链接在这 难点在于&#xff1a; 1.这里的图例文本包含两个变量&am…

DataGridView常见用法和FAQ汇总

前段时间在项目中用到了WinForm&#xff0c;其中最复杂的控件当属DataGridView了&#xff0c;特别喜欢它那高度的可配置性(提供了大量的属性&#xff0c;方法和事件)、丰富的内置列类型&#xff0c;而且易于扩展&#xff0c;对性能问题也提供了良好的解决方案。不过最初看着它那…

信息的Raid存储方式,更安全的保障,更花钱的保障!

raid0 就是把多个&#xff08;最少2个&#xff09;硬盘合并成1个逻辑盘使用&#xff0c;数据读写时对各硬盘同时操作&#xff0c;不同硬盘写入不同数据&#xff0c;速度快。  raid1就是同时对2个硬盘读写&#xff08;同样的数据&#xff09;。强调数据的安全性。比较浪费。 …

Java调试器和超时

在代码中存在超时的情况下如何使用调试器。 我的调试器王国&#xff01; 因此&#xff0c;您一直忙于编写一个项目&#xff0c;一切顺利&#xff0c;直到出现错误为止。 您可以进入开发人员的工具箱&#xff0c;然后拔出调试器。 很棒–您可以设置断点&#xff0c;可以在发生异…

【题解】整理书本

题目描述 小A想把他满屋子的书整理一下。书本分成若干堆。每一堆的书本都有质量w和价值v。小A的任务是将所有书合成一堆。因为小A认为合并i&#xff0c;j两堆的书所需要的力为w[i]-v[i]w[j]-v[j]。合并后的书堆的质量和价值均为合并前两堆书的质量和价值的总和。也就是说&#…

C#正则表达式编程(二):Regex类用法

上一篇讲述了在C#中有关正则表达式的类之间的关系&#xff0c;以及它们的方法&#xff0c;这一篇主要是将Regex这个类的用法的&#xff0c;关于Match及MatchCollection类会在下一篇讲到。对于正则表达式的应用&#xff0c;基本上可以分为验证、提取、分割和替换。仅仅利用Regex…

浏览器记住密码的自动填充Input问题完美解决方案

1、input 前from和input占位隐藏 <form style"width:0;height:0;display:none;"><input type"password" /></form><input type"password" style"width:0;height:0;display:none;" /> 2、input autocomplete&…

Java数字格式

当我看到其他人编写不必要的Java代码并且由于缺乏对已经提供所需功能的JDK类的了解而编写了不必要的Java代码时&#xff0c;我会想到很多次。 这样的一个例子是时间相关的常量的使用硬编码值的写入&#xff0c;如60 &#xff0c; 24 &#xff0c; 1440 &#xff0c;和86400时TI…

数据模型设计

数据&#xff1a;是符号。例如 张三 模型&#xff1a;现实世界事与物特征的抽象与模拟。如飞机模型、空气动力模型。 数据模型&#xff1a;通过对现实世界的事与物主要特征的分析、抽象&#xff0c;为信息系统的实施提供数据存取的数据结构以及相应的约束。 数据模型的要素由操…

优课在线 嵌入式系统(胡威)2018春季测验 参考解析

一、单选题 (共 20.00 分) μCOS-II操作系统属于&#xff08; &#xff09;。 A.一般实时操作系统 B.非嵌入式实时操作系统 C.占先式实时操作系统 D.非占先式实时操作系统 正确答案&#xff1a;C 寄存器R13除了可以做通用寄存器外&#xff0c;还可以做&#xff08; &#xff0…