DevOps是当今最热门的话题之一。 而且围绕它的主题范围很广,因此很难真正找到完整的描述或涵盖体面粒度的所有内容。 可以肯定的一件事:最重要的部分之一是提供正确的度量标准和信息以监视应用程序。

Java EE和JMX

监视Java EE服务器的标准方法是JMX。 使用JConsole,VisualVM或Oracle Mission-Control Suite等工具可以实现此目的。 这种方法有很多优点,并且大多数运营团队在过去实际上经常使用这种方法。 但这并不完全适用于DevOps方式。 它是一个单独的工具,在没有安装所有工具和操作系统(Nagios等)的情况下,DevOps团队没有一种好的方法来实际编写脚本。 如今,使用http端点公开配置和运行时信息感觉更加自然,而且使用起来也更加容易。

Jolokia –使用JSON的JMX到HTTP

对于JMX,一种非常方便的方法是使用Jolokia 。 Jolokia是一个JMX-HTTP桥,可替代JSR-160连接器。 这是一种基于代理的方法,支持许多平台。 除了基本的JMX操作外,它还通过独特的功能(例如批量请求和细粒度的安全策略)增强了JMX远程处理功能。 最近,它与许多JBoss项目捆绑在一起(例如WIldFly-Camel子系统),并且可以轻松地在自己的应用程序中使用。

装有Jolokia的简单Java EE 7应用

只需创建一个简单的Java EE 7项目(也许使用Adam Bien的maven工件 )并向其中添加一个依赖项即可:

<dependency><groupId>org.jolokia</groupId><artifactId>jolokia-core</artifactId><version>1.3.1</version></dependency>

下一步是在web.xml中配置Jolokia AgentServlet并将其映射到适合您需求的模式:

<servlet><servlet-name>jolokia-agent</servlet-name><servlet-class>org.jolokia.http.AgentServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>jolokia-agent</servlet-name><url-pattern>/metrics/*</url-pattern></servlet-mapping>

照常构建您的应用程序,并根据需要访问相关指标。 完整的。 Jolokia参考资料解释了不同的操作和类型 。

将您的应用程序部署到WildFly 9

将WildFly 9下载并解压缩到您选择的文件夹中。 使用bin / standalone.xml启动。

指标示例

虽然您可以访问服务器中定义的每个JMX MBean,但这里是一系列指标,这些指标可以帮助您立即使用。

堆内存使用情况:

  • http:// localhost:8080 / javaee-devops / metrics / read / java.lang:type = Memory / HeapMemoryUsage
{"request": {"mbean": "java.lang:type=Memory","attribute": "HeapMemoryUsage","type": "read"},"value": {"init": 67108864,"committed": 241696768,"max": 477626368,"used": 141716336},"timestamp": 1437392335,"status": 200
}

服务器环境概述:

  • http:// localhost:8080 / javaee-devops / metrics / read / jboss.as:core-service = server-environment

您不仅可以读取JMX属性,还可以执行操作,例如访问server.log文件的最新10行:

  • http:// localhost:8080 / javaee-devops / metrics / exec / jboss.as.expr:subsystem = logging / readLogFile / server.log / UTF-8 / 10/0 / true

保护端点

如您所料,可以像访问应用程序一样访问AgentServlet。 为了防止这种情况,您必须对其进行保护。 好消息是,使用WildFly中的基本身份验证和应用程序领域,这是可能的。 第一步是将用户添加到应用程序领域。 这可以通过bin / add-user.sh | bat脚本来完成。 确保添加角色“ SuperUser”。 现在将以下内容添加到您的web.xml中:

<security-constraint><display-name>Metrics Pages</display-name><web-resource-collection><web-resource-name>Protected Metrics Site</web-resource-name><description>Protected Metrics Site</description><url-pattern>/metrics/*</url-pattern></web-resource-collection><auth-constraint><description/><role-name>SuperUser</role-name></auth-constraint><user-data-constraint><transport-guarantee>NONE</transport-guarantee></user-data-constraint></security-constraint><login-config><auth-method>BASIC</auth-method><realm-name>ApplicationRealm</realm-name></login-config><security-role> <role-name>SuperUser</role-name> </security-role>

这里要做的最后一件事是向WEB-INF /添加一个名为jboss-web.xml的文件。 这将仅包含三行:

<jboss-web><security-domain>other</security-domain>
</jboss-web>

现在,无论何时尝试访问度量标准端点,服务器都会向您发出基本身份验证请求。

寻找更多?

这只是基于WildFly公开的标准JMX指标的一个简单示例。 您可以肯定地注册自己的MBean或通过将单个调用聚合为一个来扩展它。 另一个选择是,将hawt.io用作可立即使用的可扩展UI,该UI已经为WildFly和许多其他子系统提供了各种指标。 但这是非常简单的方法。 Jolokia的下一个主要版本可能会提供更多功能,使DevOps的使用更加便捷。

翻译自: https://www.javacodegeeks.com/2015/07/monitoring-devops-style-with-wildfly-9-and-jolokia.html

使用WildFly 9和Jolokia监视DevOps样式相关推荐

  1. jolokia_使用WildFly 9和Jolokia监视DevOps样式

    jolokia DevOps是当今最热门的话题之一. 并且围绕它的广泛主题使您很难真正找到完整的描述或涵盖体面粒度的所有内容. 可以肯定的一件事是:最重要的部分之一是提供正确的度量标准和信息以监视应用 ...

  2. TIBCO产品的微服务和DevOps

    如今,每个人都在谈论微服务. 您可以在数百篇文章和博客文章中读到很多有关微服务的信息. 马丁·福勒 ( Martin Fowler )的文章是一个很好的起点,该文章引发了有关这种新架构概念的大量讨论. ...

  3. Vue2.0学习总结

    文章目录 入门呢案例分析 模板语法 数据绑定 el与data的两种写法 MVVM模型 数据代理 事件处理 事件的基本使用 Vue中事件的修饰符 键盘事件 计算属性 监视属性 深度监视 绑定样式 条件渲 ...

  4. jmx jolokia_使用Jolokia和JMX进行客户端服务器监视

    jmx jolokia Java监视工具的选择非常广泛(由Google提供的随机选择和顺序): javamelody 压力探头 JVisualVM 控制台 贾蒙 Java JMX Nagios插件不适 ...

  5. 使用Jolokia和JMX进行客户端服务器监视

    Java监视工具的选择非常广泛(由Google提供的随机选择和顺序): javamelody 压力探头 JVisualVM 控制台 贾蒙 Java JMX Nagios插件不适用 此外,还有各种专用工 ...

  6. JBoss Wildfly 8.1上的HawtIO

    HawtIO为基于JVM的中间件提供了令人赞叹的视觉效果. 它是应用程序的统一控制台,否则将不得不构建自己的糟糕的Web控制台. 老实说,它们的构建方式各不相同,技术不同,用户体验不同,并且都围绕一种 ...

  7. devops 开源工具链_使用开源工具构建DevOps管道的初学者指南

    devops 开源工具链 DevOps已成为修复缓慢,孤立或其他功能不正常的软件开发流程的默认答案. 但是,当您不熟悉DevOps并且不确定从哪里开始时,这并不意味着什么. 本文探讨了什么是DevOp ...

  8. DevOps工具链介绍

    DevOps工具链介绍 简介 这篇文章主要分享关于DEVOPS 工具链的相关知识. 关于DevOps和工具 关于DevOps及其相应工具的注意事项: · 目标是持续改进 · 你不能买DevOps · ...

  9. 使用开源工具构建DevOps管道的初学者指南

    DevOps已成为修复缓慢,孤立或不正常运行的软件开发流程的默认答案.但是,当您不熟悉DevOps并且不确定从哪里开始时,这并不意味着什么.本文探讨了什么是DevOps管道,并提供了五步创建过程.虽然 ...

最新文章

  1. 视频系列:RTX实时射线追踪(上)
  2. 算法基础知识科普:8大搜索算法之二叉搜索树(上)
  3. jBPM4.4:分配任务的几种方式
  4. python学习笔记系列----(五)输入和输出
  5. qt中QMap与QMultimap用foreach遍历
  6. Java中文乱码破碎重组_总结彻底解决Spring MVC+Mybatis中文乱码问题
  7. 职工系统c语言链表,C语言职工信息管理系统(链表)..doc
  8. 力扣226. 翻转二叉树(JavaScript)
  9. java中类与方法叙述正确的是
  10. cocos2dx-lua 批量打包及修改
  11. linux子目录大小限制,如何解决linux子目录的数量限制?
  12. ABP框架使用打印日志
  13. qq linux 2014,linux下安装 QQ2014
  14. 用python把微信好友头像拼成一张图
  15. gif动图表情包如何制作?教你一键生成gif表情包
  16. scandir、direct的用法
  17. 【讲清楚】rebase的使用
  18. 微软视频直播服务器,使用微软云媒体服务快速搭建视频直播
  19. 百度地图(二) - 模仿百度地图搜索框
  20. 诺基亚N9刷旗鱼jolla,一键移植双系统旗鱼固件包

热门文章

  1. Bladex生成Swagger的方法
  2. 老师 累了,我们 泪了!
  3. 三大框架题目整合考试题(含详解)
  4. 你们也只剩下点赞的交情
  5. 简化得最没道理的6个汉字,让人大跌眼镜
  6. Mybatis中properties标签的使用
  7. easyui根据select下拉框内容更新表单内容_Ant Design 4.0 的一些杂事儿 - Select 篇
  8. 转: 记录centos7 安装erlang22.3和rabbitMQ
  9. LNCS用户写作指南【 Springer Computer Science Proceedings 】
  10. facelets_Java EE 8中的MVC 1.0:使用Facelets入门