Page tree
Skip to end of metadata
Go to start of metadata

中文标题【使用 JMX 界面实时监控】

使用 JMX 界面(Java Management Extensions API ),你可以实时的查看你 Confluence 运行实例的状态。 JMX 使用的对象被称 MBeans (Managed Beans) ,通过这个对象来向外暴露你应用的数据,提供资源的的使用情况,数据库延迟等很多有用的信息和数据,能够帮助你诊断你 Confluence 实例在运行的时候遇到的问题。

这个页面将会指导你如何使用 JConsole 来在你本地监控远程的 Confluence 实例。JConsole 已经包含在 Java Development Kit (JDK) 中了,你也可以使用其他的任何客户端。

这个指南提供了有关 JMX 界面的一些基本的介绍。我们的支持小组能够帮你解决有关 Confluence 的具体问题,但是我们不能帮助你设置 JMX 的远程监控,同时我们也不能帮你解释监控中数据的意义是什么。

使用 JConsole 监控本地 Confluence

如果你遇到了一些特定的问题,或者你仅仅是希望在一个很短的时间内监控你 Confluence 的运行,你可以使用本地监控。本地监控将会对你的服务器性能产生影响,所以我们并不推荐你使用本地监控来长时间的监控你运行的 Confluence 实例。

启动本地监控:

  1. 启动 JConsole (你可以在 JDK 安装目录中找到了启动需要的 bin)。

  2. 选择 本地进程(Local Process)
  3. 选择 Confluence 进程。这个进程被命名为 org.apache.catalina.startup.Bootstrap start

请参考 Using JConsole 来获得有关本地监控的更多有用信息。

使用 JConsole 监控远程 Confluence

针对生产系统中,我们推荐你使用远程监控,这个将不会消耗你远程 Confluence 服务器的资源。

启动远程监控:

  1. 添加下面的属性到 setenv.sh / setenv.bat 文件中,端口你可以定义任何你没有使用的端口。

    set CATALINA_OPTS=-Dcom.sun.management.jmxremote %CATALINA_OPTS%
    set CATALINA_OPTS=-Dcom.sun.management.jmxremote.port=8099 %CATALINA_OPTS%
  2. 确定你将如何保持你远程连接的安全。请 Remote Monitoring and Management 页面来获得更多的信息。
    尽管可以在监控的时候禁用安全授权,我们不推荐你在生产环境下配置使用禁用安全授权。

  3. 启动 JConsole (你可以在 JDK 安装目录中找到了启动需要的 bin)。
  4. 选择 远程进程(Remote Process)
  5. 输入你的主机名和端口(这个端口是你在配置文件中配置的,这个端口不是你 Confluence 运行的端口)。
  6. 单击 连接(Connect)。

请参考 Using JConsole 来获得有关远程监控的更多有用信息。

Confluence MBeans

你可以使用下面的 Confluence MBeans  来实时查看你 Confluence 实例运行的实时信息。

CacheStatistics

这个 MBean 显示了 Confluence 有关的缓存信息。有关更多的内容请查看 Viewing System Information 页面中的内容。

IndexingStatistics

这个 MBean 显示有关搜索索引的相关信息。这里是一些有用的配置属性。

属性名(Property name)

功能(Function)

值(Values)

Flushing

显示当前缓存有没有刷新。

布尔值(True/False)

LastElapsedMilliseconds

上一次进行索引所消耗的时间。

毫秒(Milliseconds)

TaskQueueLength

显示任务队列中的数量。

整数(Integer)

ReIndexing确定 Confluence 当前是否在进行重新索引。布尔值(True/False)

SystemInformation

这个 MBean 显示了 Confluence 的版本和已经运行的时间想信息。你也可以通过 Viewing System Information 页面来查看这方面的信息。

属性名(Property name)

功能(Function)

值(Values)

DatabaseExampleLatency

显示进行数据库示例查询的延迟时间。

毫秒(Milliseconds)

RequestMetrics

这个 MBean 显示了系统负载和错误页面的相关信息。

属性名(Property name)

功能(Function)

值(Values)

AverageExecutionTimeForLastTenRequests

最后 10 个查询执行的平均时间。

毫秒(Milliseconds)

CurrentNumberOfRequestsBeingServed

这个实例已经执行的查询数量。

整数(Integer)

ErrorCount

Confluence 错误页面的数量。

整数(Integer)

NumberOfRequestsInLastTenSeconds

最后 10 秒内执行的查询数量

整数(Integer)

MailServer-SMTPServer

这个 MBean 显示了电子邮件发送和失败的相关信息。针对你安装的 Confluence 实例中的每一个系统中配置的 SMTP 邮件服务器,都会有一个独立的 MBean 显示。

属性名(Property name)

功能(Function)

值(Values)

EmailsAttempted

Confluence 尝试发送的电子邮件数量。

Integer

EmailsSent

成功发送的电子邮件数量。

Integer

MailTaskQueue

这个 MBean 显示电子邮件有关的工作情况。

属性名(Property name)

功能(Function)值(Values)

ErrorQueueSize

队列中的错误数量。

整数(Integer)

Flushing

显示状态(例如:flushing 或不是)。

布尔值(True/False)

FlushStarted

操作开始的时间。

时间(Time)

RetryCount

整个操作总计处理已处理的总数。

整数(Integer)

TaskSize

需要等待发送的电子邮件队列中的消息数量。

整数(Integer)

SchedulingStatistics

这个 MBean 显示当前任务有关的信息,已经计划的任务和这些任务上次运行所花费的时间。

属性名(Property name)功能(Function)值(Values)
AllJobNames显示当前任务有关的信息,已经计划的任务和这些任务上次运行所花费的时间。字符串(String)
CurrentlyRunningJobNames显示当前正在执行的计划任务。列表(List)


其他 MBeans

希望监控 Hibernate 和 Hazelcast(仅针对 Confluence 数据中心)你需要在你的 setenv.sh / setenv.bat 文件中添加下面的内容。

set CATALINA_OPTS=-Dconfluence.hazelcast.jmx.enable=true %CATALINA_OPTS%
set CATALINA_OPTS=-Dconfluence.hibernate.jmx.enable=true %CATALINA_OPTS%

这个修改将会让 Hibernate 和 Hazelcast 的 MBeans 在你的 JMX 客户端中可查看。

监控高 CPU 消耗线程

JConsole  Top Threads Plugin 插件能够帮你监控当前那个线程消耗了最多的 CPU 时间,你可以在启动的时候添加下面的启动参数来启动这个插件:

JConsole -pluginpath /pathto/topthreads.jar
  • No labels