使用JMX控制台监控服务器资源 monitoring-server-resources-using-the-jmx-console
通过JMX控制台,您可以监控和管理CRX服务器上的服务。 以下各节概述了通过JMX框架公开的属性和操作。
有关如何使用控制台控件的信息,请参阅 使用JMX控制台. 有关JMX的背景信息,请参阅 Java管理扩展(JMX)技术 页面。
有关创建MBean以使用JMX控制台管理服务的信息,请参阅 将服务与JMX控制台集成.
工作流维护 workflow-maintenance
用于管理正在运行、已完成、已失效和失败的工作流实例的操作。
- 域:com.adobe.granite.workflow
- 类型:维护
运营 operations
listRunningWorkflowsPerModel 列出为每个工作流模型运行的工作流实例数。
- 参数:无
- 返回的值:包含Count和ModelId列的表格数据。
listCompletedWorkflowsPerModel 列出每个工作流模型的已完成工作流实例数。
- 参数:无
- 返回的值:包含Count和ModelId列的表格数据。
returnWorkflowQueueInfo 列出有关已处理和已排队等待处理的工作流项目的信息。
-
参数:无
-
返回的值:包含以下列的表数据:
- Jobs
- 队列名称
- 活动作业
- 平均处理时间
- 平均等待时间
- 取消的作业
- 失败的作业
- 已完成的作业
- 已处理的作业
- 已排队作业
returnWorkflowJobTopicInfo 列出按主题组织的工作流作业的处理信息。
-
参数:无
-
返回的值:包含以下列的表格数据:
- 主题名称
- 平均处理时间
- 平均等待时间
- 取消的作业
- 失败的作业
- 已完成的作业
- 已处理的作业
returnFailedWorkflowCount 显示失败的工作流实例数。 您可以指定工作流模型来查询或检索所有工作流模型的信息。
-
参数:
-
模型:要查询的模型的ID。 要查看所有工作流模型的失败工作流实例计数,请不指定任何值。 ID是模型节点的路径,例如:
/conf/global/settings/workflow/models/dam/update_asset/jcr:content/model
-
-
返回的值:失败的工作流实例数。
returnFailedWorkflowCountPerModel 显示每个工作流模型失败的工作流实例数。
- 参数:无。
- 返回的值:包含计数和模型ID列的表格数据。
terminateFailedInstances 终止失败的工作流实例。 您可以终止所有失败实例,或仅终止特定模型的失败实例。 (可选)您可以在实例终止后重新启动实例。 您还可以测试操作以查看结果,而不实际执行操作。
-
参数:
-
重新启动实例:(可选)指定
true
以在实例终止后重新启动实例。 默认值为false
不会重新启动已终止的工作流实例。 -
练习:(可选)指定
true
查看操作结果,而不实际执行操作。 默认值为false
导致操作被执行。 -
模型:(可选)应用操作的模型的ID。 指定任何模型,以将操作应用到所有工作流模型的失败实例。 ID是模型节点的路径,例如:
/conf/global/settings/workflow/models/dam/update_asset/jcr:content/model
-
-
返回的值:有关已终止的实例的表格数据,包含以下列:
- 发起者
- InstanceId
- ModelId
- 有效负荷
- StartComment
- WorkflowTitle
retryFailedWorkItems 尝试执行失败的工作项步骤。 您可以重试所有失败的工作项,或仅重试特定工作流模型的失败工作项。 您可以选择测试该操作以查看结果,而不实际执行该操作。
-
参数:
-
练习:(可选)指定
true
查看操作结果,而不实际执行操作。 默认值为false
导致操作被执行。 -
模型:(可选)应用操作的模型的ID。 指定任何模型,以将操作应用于所有工作流模型的失败工作项。 ID是模型节点的路径,例如:
/conf/global/settings/workflow/models/dam/update_asset/jcr:content/model
-
-
返回的值:有关重试的失败工作项的表格数据,包括以下列:
- 发起者
- InstanceId
- ModelId
- 有效负荷
- StartComment
- WorkflowTitle
清除活动 删除特定年龄的活动工作流实例。 您可以清除所有模型的活动实例,或仅清除特定模型的实例。 您可以选择测试操作以查看结果,而不实际执行操作。
-
参数:
-
模型:(可选)应用操作的模型的ID。 指定任何模型,以将该操作应用到所有工作流模型的工作流实例。 ID是模型节点的路径,例如:
/conf/global/settings/workflow/models/dam/update_asset/jcr:content/model
-
工作流启动后间隔的天数:要清除的工作流实例的年龄(以天为单位)。
-
练习:(可选)指定
true
查看操作结果,而不实际执行操作。 默认值为false
导致操作被执行。
-
-
返回的值:有关已清除的活动工作流实例的表格数据,包括以下列:
- 发起者
- InstanceId
- ModelId
- 有效负荷
- StartComment
- WorkflowTitle
countStaleWorkflows 返回已失效的工作流实例数。 您可以检索所有工作流模型或特定模型的过时实例数。
-
参数:
-
模型:(可选)应用操作的模型的ID。 指定任何模型,以将该操作应用到所有工作流模型的工作流实例。 ID是模型节点的路径,例如:
/conf/global/settings/workflow/models/dam/update_asset/jcr:content/model
-
-
返回的值:过时的工作流实例数。
restartStaleWorkflows 重新启动过时的工作流实例。 您可以为特定模型重新启动所有过时实例或仅重新启动过时实例。 您还可以测试操作以查看结果,而不实际执行操作。
-
参数:
-
模型:(可选)应用操作的模型的ID。 指定任何模型以将操作应用到所有工作流模型的失效实例。 ID是模型节点的路径,例如:
/conf/global/settings/workflow/models/dam/update_asset/jcr:content/model
-
练习:(可选)指定
true
查看操作结果,而不实际执行操作。 默认值为false
导致操作被执行。
-
-
返回的值:重新启动的工作流实例列表。
fetchModelList 列出所有工作流模型。
- 参数:无
- 返回的值:用于标识工作流模型(包括ModelId和ModelName列)的表格数据。
countRunningWorkflows 返回正在运行的工作流实例数。 您可以检索所有工作流模型或特定模型的正在运行的实例数。
-
参数:
-
模型:(可选)返回运行实例数的模型的ID。 指定不返回所有工作流模型正在运行的实例数的模型。 ID是模型节点的路径,例如:
/conf/global/settings/workflow/models/dam/update_asset/jcr:content/model
-
-
返回的值:正在运行的工作流实例数。
countCompletedWorkflows 返回已完成的工作流实例数。 您可以检索所有工作流模型或特定模型的已完成实例数。
-
参数:
-
模型:(可选)返回已完成实例数的模型的ID。 指定任何模型以返回所有工作流模型的已完成实例数。 ID是模型节点的路径,例如:
/conf/global/settings/workflow/models/dam/update_asset/jcr:content/model
-
-
返回的值:已完成的工作流实例数。
purgeCompleted 从存储库中删除特定年龄的已完成工作流记录。 当您大量使用工作流时,请定期使用此操作以最大程度地减小存储库的大小。 您可以清除所有模型的已完成实例,或仅清除特定模型的实例。 您可以选择测试操作以查看结果,而不实际执行操作。
-
参数:
-
模型:(可选)应用操作的模型的ID。 指定任何模型,以将该操作应用到所有工作流模型的工作流实例。 ID是模型节点的路径,例如:
/conf/global/settings/workflow/models/dam/update_asset/jcr:content/model
-
工作流完成后间隔的天数:工作流实例处于已完成状态的天数。
-
练习:(可选)指定
true
查看操作结果,而不实际执行操作。 默认值为false
导致操作被执行。
-
-
返回的值:有关已清除的已完成工作流实例的表格数据,包括以下列:
- 发起者
- InstanceId
- ModelId
- 有效负荷
- StartComment
- WorkflowTitle
存储库 repository
有关CRX存储库的信息
- 域:com.adobe.granite
- 类型:存储库
属性 attributes
名称 JCR存储库实施的名称。 只读.
版本 存储库实施版本。 只读.
HomeDir 存储库所在的目录。 默认位置为 <quickstart_jar_location>/crx-quickstart/repository。 只读.
CustomerName 向其颁发软件许可证的客户的名称。 只读.
许可证密钥 此安装存储库的唯一许可证密钥。 只读.
AvailableDiskSpace 此存储库实例可用的磁盘空间(以MB为单位)。 只读.
MaximumNumberOfOpenFiles 一次可打开的文件数。 只读.
SessionTracker crx.debug.sessions系统变量的值。 true表示调试会话。 false表示正常会话。 读/写。
描述符 一组表示存储库属性的键值对。 所有属性均为只读。
工作区名称 存储库中工作区的名称。 只读.
DataStoreGarbageCollectionDelay 垃圾收集在每十个节点扫描之后休眠的时间(以毫秒为单位)。 读/写。
BackupDelay 备份进程在备份的每个步骤之间休眠的时间(以毫秒为单位)。 读/写。
BackupInProgress 值为true表示正在执行备份进程。 只读.
BackupProgress 对于当前备份,已备份的所有文件的百分比。 只读.
CurrentBackupTarget 对于当前备份,是存储备份文件的ZIP文件。 当备份未进行时,不会显示任何值。 只读.
BackupWasSuccessful 值为true表示当前备份期间未发生错误,或未进行任何备份。 false表示当前备份期间发生错误。 只读.
BackupResult 当前备份的状态。 可以使用以下值:
- 正在进行备份:当前正在执行备份。
- 备份已取消:备份已取消。
- 备份已完成,但出现错误:备份期间出错。 错误消息提供了有关原因的信息。
- 备份已完成:备份成功。
- 迄今未执行备份:没有正在进行的备份。
只读.
TarOptimizationRunningSince 当前TAR文件优化过程开始的时间。 只读.
TarOptimizationDelay TAR优化流程在流程每个步骤之间停留的时间(以毫秒为单位)。 读/写。
ClusterProperties 一组表示群集属性和值的键值对。 表中的每一行都表示一个群集属性。 只读.
ClusterNodes 存储库群集的成员。
ClusterId 此存储库群集的标识符。 只读.
ClusterMasterId 此存储库群集主控节点的标识符。 只读.
ClusterNodeId 存储库群集的此节点的标识符。 只读.
运营 operations-1
createWorkspace 在此存储库中创建工作区。
-
参数:
- 名称:表示新工作区名称的字符串值。
-
返回的值:无
runDataStoreGarbageCollection 对存储库节点执行垃圾收集。
-
参数:
- 删除:一个布尔值,指示是否删除未使用的存储库项目。 如果值为true,则会删除未使用的节点和属性。 如果值为false,则会扫描所有节点,但不会删除任何节点。
-
返回的值:无
stopDataStoreGarbageCollection 停止运行的数据存储垃圾收集。
- 参数:无
- 返回的值:当前状态的字符串表示形式
startBackup 在ZIP文件中备份存储库数据。
-
参数:
-
target
:(可选)AString
值,表示要在其中存档存储库数据的ZIP文件或目录的名称。 要使用ZIP文件,请包含ZIP文件扩展名。 要使用目录,请不包含文件扩展名。要执行增量备份,请指定以前用于备份的目录。
您可以指定绝对路径或相对路径。 相对路径是相对于crx-quickstart目录的父路径。
如果没有指定值,则默认值为
backup-currentdate.zip
,其中currentdate
格式为yyyyMMdd-HHmm
.
-
-
返回的值:无
cancelBackup 停止当前备份进程并删除该进程为存档数据而创建的临时存档。
- 参数:无
- 返回的值:无
blockRepositoryWrites 阻止对存储库数据的更改。 所有存储库备份侦听器都会收到该块的通知。
- 参数:无
- 返回的值:无
unlockRepositoryWrites 从存储库中删除块。 所有存储库备份侦听器都会收到删除块的通知。
- 参数:无
- 返回的值:无
startTarOptimization 使用tarOptimizationDelay的默认值启动TAR文件优化流程。
- 参数:无
- 返回的值:无
stopTarOptimization 停止TAR文件优化。
- 参数:无
- 返回的值:无
tarIndexMerge 合并所有TAR集的排名最前的索引文件。 顶级索引文件是具有不同主要版本的文件。 例如,以下文件将合并到文件index_3_1.tar中:index_1_1.tar、index_2_0.tar、index_3_0.tar。 将删除已合并的文件(在上一个示例中,将删除index_1_1.tar、index_2_0.tar和index_3_0.tar)。
-
参数:
background
:一个布尔值,指示是否在后台运行操作,以便在执行期间可以使用Web控制台。 值为true会在后台运行操作。
-
返回的值:无
becomeClusterMaster 将此存储库节点设置为群集的主控节点。 如果尚未主控,此命令将停止当前主控实例的侦听器,并在当前节点上启动主控侦听器。 然后,此节点将设置为主控节点并重新启动,从而导致群集中的所有其他节点(即由主控控制的节点)连接到此实例。
- 参数:无
- 返回的值:无
joinCluster 将此存储库作为由群集主控控制的节点添加到群集中。 您必须提供用户名和密码才能进行身份验证。 连接使用基本身份验证。 安全凭据在发送到服务器之前进行base-64编码。
-
参数:
master
:一个字符串值,表示运行主控存储库节点的计算机的IP地址或计算机名称。username
:用于通过群集进行身份验证的名称。password
:用于身份验证的密码。
-
返回的值:无
traversalCheck 遍历并(可选)修复子树中以特定节点开头的不一致问题。 持久性管理器文档中详细介绍了该内容。
consistencyCheck 检查并(可选)修复数据存储中的一致性。 有关数据存储的文档中详细介绍了该内容。
存储库统计信息(时间系列) repository-statistics-timeseries
TimeSeries字段针对每个统计类型的值,该统计类型 org.apache.jackrabbit.api.stats.RepositoryStatistics
定义。
-
域:
com.adobe.granite
-
类型:
TimeSeries
-
名称:从
org.apache.jackrabbit.api.stats.RepositoryStatistics.Type
枚举类:- BUNDLE_CACHE_ACCESS_COUNTER
- BUNDLE_CACHE_MISS_AVERAGE
- BUNDLE_CACHE_MISS_COUNTER
- BUNDLE_CACHE_MISS_DURATION
- BUNDLE_CACHE_SIZE_COUNTER
- BUNDLE_COUNTER
- BUNDLE_READ_COUNTER
- BUNDLE_WRITE_AVERAGE
- BUNDLE_WRITE_COUNTER
- BUNDLE_WRITE_DURATION
- 捆绑_WS_SIZE_COUNTER
- QUERY_AVERAGE
- QUERY_COUNT
- QUERY_DURATION
- SESSION_COUNT
- SESSION_LOGIN_COUNTER
- SESSION_READ_AVERAGE
- SESSION_READ_COUNTER
- SESSION_READ_DURATION
- SESSION_WRITE_AVERAGE
- SESSION_WRITE_COUNTER
- SESSION_WRITE_DURATION
属性 attributes-1
为报告的每种统计类型提供了以下属性:
- ValuePerSecond:最后一分钟内每秒的测量值。 只读.
- ValuePerMinute:最后一小时内每分钟的测量值。 只读.
- ValuePerHour:上周的每小时测量值。 只读.
- ValuePerWeek:过去三年的每周测量值。 只读.
存储库查询统计资料 repository-query-stats
有关存储库查询的统计信息。
- 域:com.adobe.granite
- 类型:QueryStat
属性 attributes-2
慢速查询 有关完成所用时间最长的存储库查询的信息。 只读.
SlowQuerysQueueSize 要包含在SlowQuerys列表中的最大查询数。 读写。
热门查询 有关发生次数最多的存储库查询的信息。 只读.
PopulalQueriesQueueSize PopularQueries列表中的最大查询数。 读写。
运营 operations-2
clearSlowQueryesQueue 从SlowQuerys列表中删除所有查询。
- 参数:无
- 返回的值:无
clearPopulalQuerysQueue 从PopulalQuerys列表中删除所有查询。
- 参数:无
- 返回的值:无
复制代理 replication-agents
监控每个复制代理的服务。 创建复制代理时,该服务会自动显示在JMX控制台中。
- 域: com.adobe.granite.replication
- 类型: 代理
- 名称: 无值
- 属性: {id="名称"},其中 名称 是代理名称属性的值。
属性 attributes-3
Id 表示复制代理配置的标识符的字符串值。 多个代理可以使用相同的配置。 只读.
有效 一个布尔值,用于指示代理的配置是否正确:
true
:配置有效。false
:配置包含错误。
只读.
已启用 一个布尔值,指示是否启用了代理:
true
: 启用.false
: 已禁用.
QueueBlocked 一个布尔值,用于指示队列是否存在且被阻止:
true
: 已阻止. 自动重试挂起。false
:未阻止或不存在。
只读.
QueuePaused 一个布尔值,指示作业队列是否已暂停:
true
:暂停(暂停)false
:未暂停或不存在。
读写。
QueueNumEntries 表示代理队列中作业数的整数值。 只读.
QueueStatusTime 日期值,指示获取显示状态值时服务器上的时间。 值与页面加载时间相对应。 只读.
QueueNextRetryTime 对于已阻止的队列,日期值指示何时进行下一次自动重试。 当没有时间显示时,不会阻止队列。 只读.
QueueProcessingSince 日期值,指示当前作业的处理开始时间。 当没有出现时间时,队列会被阻止或空闲。 只读.
QueueLastProcessTime 指示上一个作业何时完成的日期值。 只读.
运营 operations-3
queueForceRetry 对于已阻止的队列,向队列发出重试命令。
- 参数:无
- 返回的值:无
queueClear 从队列中删除所有作业。
- 参数:无
- 返回的值:无
Sling引擎 sling-engine
提供有关HTTP请求的统计信息,以便您能够监控SlingRequestProcessor服务的性能。
- 域:org.apache.sling
- 类型:引擎
- 属性:
属性 attributes-4
RequestsCount 自上次重置统计信息以来发生的请求数。
MinRequestDurationMsec 自上次重置统计信息以来处理请求所需的最短时间(以毫秒为单位)。
MaxRequestDuratioMsec 自上次重置统计信息以来处理请求所需的最长时间(以毫秒为单位)。
StandardDevationDurationMsec 处理请求所需时间量的标准差。 自上次重置统计信息以来,标准偏差会使用所有请求进行计算。
MeanRequestDurationMsec 处理请求所需的平均时间。 自上次重置统计信息后,平均值会使用所有请求计算
运营 operations-4
resetStatistics 将所有统计设置为零。 当您需要分析特定时间段内的请求处理性能时,请重置统计信息。
- 参数:无
- 返回的值:无
包管理器 package-manager
有关包管理器包含的所有包的信息。
- 域:com.adobe.granite.packaging
- 类型:manager
快速启动启动器 quickstart-launcher
有关启动过程和快速启动启动启动器的信息。
- 域:com.adobe.granite.quickstart
- 类型:启动器
运营 operations-5
日志
在“快速启动”窗口中显示一条消息。
参数:
- p1:A
String
表示要显示的消息的值。 下图显示了调用的结果log
p1值为this is a log message
.
- 返回的值:无
startupFinished
调用服务器启动器的startupFinished方法。 方法会尝试在Web浏览器中打开欢迎页面。
- 参数:无
- 返回的值:无
startupProgress
设置服务器启动进程的完成值。 “快速启动”窗口中的进度条表示完成值。
-
参数:
- p1:浮点值,表示完成启动过程的次数(作为一小部分)。 值应介于0和1之间。 例如,0.3表示完成30%。
-
返回的值:无。
第三方服务 third-party-services
若干第三方服务器资源安装向JMX控制台显示属性和操作的MBean。 下表列出了第三方资源并提供了指向更多信息的链接。
使用JMX控制台 using-the-jmx-console
JMX控制台显示有关服务器上运行的多项服务的信息:
- 属性:服务属性,如配置或运行时数据。 属性可以是只读或读写。
- 操作:可在服务中调用的命令。
与OSGi服务一起部署的MBean向控制台显示服务属性和操作。 MBean确定公开的属性和操作,以及属性是只读还是读写。
JMX控制台的主页包含一个服务表。 表中的每一行都表示由MBean公开的服务。
- 打开Web控制台,然后单击JMX选项卡。 (http://localhost:4502/system/console/jmx)
- 单击服务的单元格值可查看服务的属性和操作。
- 要更改属性值,请单击该值,在显示的对话框中指定值,然后单击“保存”。
- 要调用服务操作,请单击操作名称,在显示的对话框中指定参数值,然后单击调用。
使用外部JMX应用程序进行监控 using-external-jmx-applications-for-monitoring
CRX允许外部应用程序通过与受管Bean(MBean)交互 Java管理扩展(JMX). 使用通用控制台,例如 JConsole 或特定于域的监控应用程序,允许获取和设置CRX配置和属性,以及监控性能和资源使用情况。
使用JConsole连接到CRX using-jconsole-to-connect-to-crx
要使用JConsole连接到CRX,请执行以下步骤:
-
打开终端窗口。
-
输入以下命令:
jconsole
将启动JConsole,并出现JConsole窗口。
连接到本地CRX进程 connecting-to-a-local-crx-process
JConsole将显示本地Java虚拟机进程的列表。 该列表将包含两个快速启动进程。 从本地进程(通常是PID较高的进程)列表中选择快速启动“CHILD”进程。
连接到远程CRX进程 connecting-to-a-remote-crx-process
要连接到远程CRX进程,需要启用承载远程CRX进程的JVM以接受远程JMX连接。
要启用远程JMX连接,在启动JVM时必须设置以下系统属性:
com.sun.management.jmxremote.port=portNum
在上述属性中, portNum
是要启用JMX RMI连接的端口号。 请务必指定未使用的端口号。 除了发布用于本地访问的RMI连接器外,设置此属性还会在指定端口的专用只读注册表中使用众所周知的名称“jmxrmi”发布一个额外的RMI连接器。
默认情况下,启用JMX代理进行远程监视时,它会根据在启动Java VM时需要使用以下系统属性指定的密码文件使用密码验证:
com.sun.management.jmxremote.password.file=pwFilePath
请参阅 相关JMX文档 有关设置密码文件的详细说明。
示例:
$ java
-Dcom.sun.management.jmxremote.password.file=pwFilePath
-Dcom.sun.management.jmxremote.port=8463
-jar ./cq-quickstart.jar
使用CRX提供的MBean using-the-mbeans-provided-by-crx
在连接到快速启动进程后,JConsole为CRX正在运行的JVM提供一系列常规监控工具。
要访问CRX的内部监控和配置选项,请转到MBeans选项卡,然后从左侧的分层内容树中,选择您感兴趣的“属性”或“操作”部分。 例如com.adobe.granite/Repository/Operations部分。
在该部分中,在左窗格中选择所需的属性或操作。