JBoss 应用服务器监控
JBoss 应用服务器(JBoss EAP)是一款广泛使用的开源 Java 应用服务器,专为高效构建、部署和管理企业级应用程序而设计。
借助 Site24x7,您可以深入了解 JBoss 环境,监控服务器健康状况、JVM 性能以及应用服务器的资源利用率。通过对 JVM 内存、CPU 使用率、线程池、数据源连接、已部署应用程序和事务指标的实时洞察——以及即时告警——您可以快速发现性能瓶颈、排查问题,并确保应用程序性能处于最佳状态。
支持的 JBoss 版本
企业版:JBoss EAP 6+
社区版:JBoss AS 7 和 WildFly 8+
前提条件
注意
需要 JBoss 7.x 及以上版本(EAP 6 及以上版本)。
单机模式:
- 打开 JBoss 配置文件:
<JBOSS_HOME>\standalone\configuration\standalone-full.xml
- 更新管理绑定地址:
- 将:
jboss.bind.address.management:127.0.0.1
- 改为:
jboss.bind.address.management:0.0.0.0
EAP(域模式)设置:
- 打开 JBoss 配置文件:
<JBOSS_HOME>\domain\configuration\host.xml
- 更新以下条目:
- 将:
jboss.bind.address.management:127.0.0.1
- 改为:
jboss.bind.address.management:0.0.0.0
Wildfly 设置:
- 配置管理接口:
打开配置文件:
<JBOSS_HOME>\standalone\configuration\standalone-full.xml
- 更新以下条目:
- 将:
jboss.bind.address.management:127.0.0.1
- 改为:
jboss.bind.address.management:0.0.0.0
- 创建管理用户:
- 导航至:<JBOSS_HOME>\bin 目录
- 在命令提示符中执行以下命令:
- Windows:
add-user.bat <USERID> <PASSWORD> ManagementRealm -silent
- Linux:
./add-user.sh <USERID> <PASSWORD> ManagementRealm -silent
添加监视器
- 导航至插件 > 企业应用 > JBoss,然后点击 + 图标。
- 在添加 JBoss页面上,添加本地轮询器或从现有轮询器中选择。
注意
JBoss 监控从轮询器 6.8.2 及以上版本开始支持。
- 在添加 JBoss 监视器页面上,填写以下详细信息:
- 显示名称:提供一个名称,用于在 Site24x7 中识别 JBoss 监视器。
- 主机名/IP 地址:输入 JBoss 服务器的主机名或 IP 地址。
- 端口:指定用于访问 JBoss 管理控制台和 CLI 的管理端口(默认:9990)。
- 域模式:选择 JBoss 的运行模式:单机或域模式。
- 主机控制器(适用于域模式):提供 JBoss 主机控制器名称。
- 服务器名称:指定在主机上运行的 JBoss 服务器实例名称。
- 启用 SSL:选择是否为安全通信启用 SSL。
- 检查频率:从下拉列表中选择轮询频率。
- 位置配置文件:从下拉列表中选择可以监控 JBoss 应用服务器的位置配置文件。了解更多信息,请参阅位置配置文件帮助页面。
- 关联监视器组:从下拉列表中选择监视器组,以逻辑方式分组您的监视器。了解如何为监视器创建组,请参阅监视器组帮助页面。
- 在 JBoss 用户凭据部分,选择存储在 Site24x7 凭据配置文件中的适当凭据,或添加新凭据。
添加新凭据的步骤:
- 点击 JBoss 凭据字段旁的 + 图标。
- 在弹出的添加凭据对话框中,提供凭据名称以标识该凭据。凭据类型将自动选择为 JBoss。
- 提供关联的 JBoss 应用服务器账户的用户名和密码。
- 点击保存。
- 填写配置文件、告警设置和第三方集成的详细信息:
- 标签:将监视器与预定义的标签关联,以便创造性地组织和管理监视器。了解如何添加标签。
- IT 自动化模板:选择在 WebSphere 应用服务器状态变为"宕机"、"故障"或"正常",或发生任何状态变更、属性变更时执行的自动化操作。当状态发生变化时,将执行已定义的操作并向所选用户组发送告警。要自动执行故障修复操作,请参阅 IT 自动化帮助手册。
- 用户告警组:选择在中断期间需要接收告警的用户组。要在组中添加多个用户,请参阅用户告警组帮助手册。
- 通知配置文件:从下拉列表中选择通知配置文件,或选择可用的默认配置文件。通知配置文件用于配置在发生宕机时通知的时间和对象。请参阅通知配置文件帮助手册创建自定义通知配置文件。
- 第三方集成:将监视器与预配置的第三方服务关联,将监视器告警推送到所选服务,促进更好的事件管理。
- 点击保存。
查看监视器
查看已添加的 JBoss 应用服务器监视器的步骤:
- 导航至插件 > 企业应用 > JBoss。
- 选择相应的监视器以查看性能指标。
性能指标
以下性能指标可用于监控 JBoss 服务器及其组件的健康状况和行为。
服务器 / JVM
| 指标 |
描述 |
| Aborted |
已中止的事务总数 |
| Aborted Percentage |
被中止的事务百分比 |
| Applications |
已部署的应用程序数量 |
| Commited |
已提交的事务总数 |
| Commited Percentage |
已提交的事务百分比 |
| Current Aborted |
当前已中止的事务数 |
| Current Applications |
当前活跃的应用程序数 |
| Current Commited |
当前已提交的事务数 |
| Current Heuristics |
启发式事务计数 |
| Current Inflight |
当前进行中的事务数 |
| Current Nested |
正在进行的嵌套事务数 |
| Current Resources |
当前正在使用的资源数 |
| Current Timed Out |
当前已超时的事务数 |
| Current Total |
当前事务总数 |
| Daemon Threads |
正在运行的守护线程数 |
| Heap Size Current |
当前堆大小(字节) |
| Inflight |
进行中的事务总数 |
| Live Threads |
存活线程总数 |
| Loaded Class Count |
当前已加载的类数 |
| Max Free Memory |
最大可用堆内存(MB) |
| Max Free Memory Percentage |
可用内存占总内存的百分比 |
| Nested |
嵌套事务总数 |
| Object Pending Finalization |
等待垃圾回收的对象数 |
| Peak Thread Count |
历史最高线程数 |
| Resources |
正在使用的资源总数 |
| Timed Out Percentage |
超时事务的百分比 |
| Total |
事务总计数 |
| Total Loaded Class Count |
自启动以来加载的所有类数 |
| Total Started Threads |
自启动以来启动的所有线程数 |
| Unloaded Class Count |
已卸载的类数 |
| Response Time |
脚本/轮询响应时间(ms) |
服务器配置
| 指标 |
描述 |
| Host Name / IP Address |
服务器主机名或 IP |
| Launch Type |
服务器启动方式(例如:STANDALONE) |
| Process Type |
服务器进程类型 |
| Product Name |
产品名称(例如:WildFly Full) |
| JBoss Version |
服务器版本字符串 |
| Release Codename |
版本发布代号 |
| Server Name |
配置的服务器名称 |
| Server State |
当前状态(例如:running) |
| Running Mode |
运行模式(例如:NORMAL) |
| Available Processors |
可用 CPU 核心数 |
| Operating System |
主机操作系统名称 |
内存使用情况
| 指标 |
描述 |
| Memory Type |
内存池类型(Heap、Non-Heap、G1_Eden_Space、Metaspace 等) |
| Memory Used (MB) |
当前已使用的内存量 |
| Memory Free (MB) |
可用内存量 |
| Committed (MB) |
已提交给 JVM 的内存 |
| Maximum (MB) |
该内存池允许的最大内存 |
| Used % |
已使用内存百分比 |
| Free % |
可用内存百分比 |
Web 连接器
| 指标 |
描述 |
| Connector Name |
连接器标识符(例如:default、https) |
| Request Count |
已处理的请求总数 |
| Request Count Diff |
自上次轮询以来的请求数 |
| Error Count |
遇到的错误总数 |
| Error Count Diff |
自上次轮询以来的错误数 |
| Max Time (ms) |
最长请求处理时间 |
| Processing Time (ms) |
累计总处理时间 |
| Bytes Sent |
已发送字节总数 |
| Bytes Received |
已接收字节总数 |
| Requests Failed % |
请求失败率百分比 |
JDBC 连接池
| 指标 |
描述 |
| Connection Pool Name |
数据源/连接池名称(例如:ExampleDS) |
| Available Count |
连接池中可用的连接数 |
| In Use Connections |
当前正在使用的连接数 |
| Connections Created |
历史创建的连接总数 |
| Connections Destroyed |
历史销毁的连接总数 |
| Max Used Count |
历史最高使用连接数 |
| Max Used Percentage |
连接池的历史最高使用百分比 |
| Timed Out |
已超时的连接数 |
| Current Size |
当前连接池大小 |
| Hit Count |
缓存命中次数 |
| Hit Count Diff |
自上次轮询以来的缓存命中数 |
| Miss Count |
缓存未命中次数 |
| Miss Count Diff |
自上次轮询以来的缓存未命中数 |
| Max Pool Size |
已配置的最大连接池大小 |
| Hit Ratio |
缓存命中与未命中的比率 |
| Active % |
当前活跃连接池百分比 |
| Total Blocking Time (ms) |
线程等待连接的总时间 |
| Total Creation Time (ms) |
创建连接所花费的总时间 |
| Wait Count |
等待连接的线程数 |
| Idle Timeout Minutes |
连接空闲超时设置 |
JMS 队列
| 指标 |
描述 |
| Name |
队列名称(例如:OrderQueue、DLQ) |
| Number of Consumer |
队列上的活跃消费者数 |
| Messages Added |
添加到队列的消息总数 |
| Messages in Queue |
队列中当前的消息数 |
| Messages Scheduled |
已调度为延迟投递的消息数 |
| In Delivery |
当前正在投递的消息数 |
| Currently Delivering (%) |
正在投递的消息百分比 |
| Is Paused |
队列是否已暂停 |
JMS 主题
| 指标 |
描述 |
| Name |
主题名称(例如:AuditTopic、EventTopic) |
| Messages Added |
发布到主题的消息总数 |
| Messages in Topic |
主题中当前的消息数 |
| In Delivery |
当前正在投递的消息数 |
| Currently Delivering (%) |
正在投递的消息百分比 |
| Subscriptions |
订阅总数 |
| No of Durable Subscribers |
持久订阅者数量 |
| No of Non-Durable Subscribers |
非持久订阅者数量 |
| No of Durable Messages |
持久消息数量 |
| No of Non-Durable Messages |
非持久消息数量 |
| Durable Messages (%) |
持久消息的百分比 |
| Non-Durable Messages (%) |
非持久消息的百分比 |
Web 应用部署
| 指标 |
描述 |
| Name |
已部署的应用程序名称(例如:medrec.ear) |
| Context |
应用程序 URL 上下文路径 |
| Enabled |
部署是否已启用 |
| Runtime Name |
实际运行时部署名称 |
| Status |
部署健康状态(OK / FAILED) |
| Sub-Deployments |
归档包中的子部署数量 |
| Servlets |
已注册的 Servlet 数量 |
Web 应用会话
| 指标 |
描述 |
| Active Sessions |
当前活跃的用户会话数 |
| Created Sessions |
已创建的会话总数 |
| Expired Sessions |
自然过期的会话数 |
| Rejected Sessions |
被拒绝的会话数(例如超出限制) |
| Duplicated Sessions |
重复会话数 |
| Session Alive Time (Avg) (ms) |
会话平均生命周期 |
EJB 统计
| 指标 |
描述 |
| EJB Name |
EJB 组件名称 |
| EJB Type |
Bean 类型(无状态、有状态、消息驱动) |
| Web Module |
EJB 所属的模块 |
| Create Count |
已创建的 Bean 实例数 |
| Remove Count |
已移除的 Bean 实例数 |
| Pooled Count |
连接池中当前的 Bean 数 |
| Ready Count |
准备处理请求的 Bean 数 |
| Method Ready Count |
方法就绪的 Bean 实例数 |
| Passive Count |
已钝化(换出)的 Bean 数 |
| Message Count |
已处理的消息数(适用于 MDB) |
Servlet 统计
| 指标 |
描述 |
| Servlet Name |
Servlet 名称 |
| Web Module |
Servlet 所属的 Web 应用 |
| Invocation Count |
Servlet 调用总次数 |
| Avg Time (ms) |
每次调用的平均执行时间 |
| Min Time (ms) |
最短执行时间 |
| Max Time (ms) |
最长执行时间 |
| Total Time (ms) |
累计总执行时间 |
JPA 连接
| 指标 |
描述 |
| Persistence Unit Name |
JPA 持久化单元(例如:EmployeePU) |
| Sessions Opened |
已打开的 EntityManager 会话总数 |
| Sessions Closed |
已关闭的会话总数 |
| Connections Requested |
请求的数据库连接总数 |
| Percentage Closed |
已关闭的已开放会话百分比 |
| Statistics Enabled |
JPA 统计收集是否已开启 |
JPA 事务
| 指标 |
描述 |
| Completed |
已完成的事务总数 |
| Successful |
成功提交的事务数 |
| Successful Transactions (%) |
成功的事务百分比 |
JPA 查询缓存
| 指标 |
描述 |
| Query Put Count |
添加到查询缓存的查询数 |
| Query Hit Count |
查询缓存命中次数 |
| Query Miss Count |
查询缓存未命中次数 |
| Query Hit Ratio |
查询缓存命中与未命中的比率 |
| Query Execution Count |
已执行的查询总数 |
| Exec Max Time (ms) |
最慢的查询执行时间 |
| Slow Query |
最慢查询的标识符 |
| Query Cached |
存储在缓存中的查询数 |
| Query Cache Hits |
缓存查询结果的命中次数 |
| Query Cache Missed |
缓存查询结果的未命中次数 |
| Query Cache Hit Ratio |
缓存效率比率 |
JPA 二级缓存
| 指标 |
描述 |
| Second Level Put Count |
插入到 L2 缓存的实体数 |
| Second Level Hit Count |
L2 缓存读取成功次数 |
| Second Level Miss Count |
L2 缓存读取失败次数 |
| Second Level Hit Ratio |
L2 缓存效率比率 |
许可
JBoss 应用服务器监视器是一个高级监视器。
相关文章
IBM WebSphere 应用服务器