从 Experience Manager Assets 从这一点来看,监测应包括观察和报告以下进程和技术:
通常, Experience Manager Assets 监测有两种方式:实时监测和长期监测。
您应在开发的性能测试阶段或高负载情况下执行实时监控,以了解环境的性能特征。 通常,应使用一套工具执行实时监控。 以下是一些建议:
可视虚拟机:可视虚拟机允许您查看详细的Java虚拟机信息,包括CPU使用率、Java内存使用率。 此外,它还允许您取样并评估在部署中运行的代码。
上:Top是一个Linux命令,可打开一个功能板,其中显示使用情况统计数据,包括CPU、内存和IO使用情况。 它提供了实例上所发生情况的高级概述。
Htop:Htop是一种交互式流程查看器。 除了Top可以提供的内容外,它还提供了详细的CPU和内存使用率。 Htop可以使用安装在大多数Linux系统上 yum install htop
或 apt-get install htop
.
Iotop: Iotop是磁盘IO使用情况的详细仪表板。 它显示一些条形和仪表,这些条形和仪表描述了使用磁盘IO的进程及其使用的数量。 可以使用在大多数Linux系统上安装Iotop yum install iotop
或 apt-get install iotop
.
Iftop: Iftop显示有关以太网/网络使用的详细信息。 Iftop显示使用以太网的实体上每个通信通道的统计信息及其使用的带宽量。 Iftop可以使用安装在大多数Linux系统上 yum install iftop
或 apt-get install iftop
.
Java Flight Recorder (JFR):Oracle中的一种商业工具,可在非生产环境中免费使用。 有关更多详细信息,请参阅 如何使用Java Flight Recorder诊断CQ运行时问题.
Experience Manager error.log
文件:您可以调查 Experience Manager error.log
文件以了解系统中记录的错误的详细信息。 使用命令 tail -F quickstart/logs/error.log
以确认错误以进行调查。
工作流控制台:利用工作流控制台监控滞后或卡住的工作流。
通常,您会同时使用这些工具来全面了解您的应用程序的 Experience Manager 部署。
这些工具是标准工具,Adobe不直接支持它们。 它们不需要额外的许可证。
图:使用Visual VM工具进行实时监控。
长期监测 Experience Manager 部署涉及对实时监控的相同部分进行更长时间的监控。 它还包括定义特定于您环境的警报。
有多种工具可用于聚合日志,例如Splunk™和Elastic Search、Logstash和Kabana (ELK)。 要评估贵机构的正常运行时间 Experience Manager 部署时,了解特定于系统的日志事件并根据这些事件创建警报非常重要。 了解您的开发和运营实践可以帮助您更好地了解如何调整日志聚合过程以生成严重警报。
环境监控包括监控以下内容:
您需要外部工具(如NewRelic™和AppDynamics™)来监视每个项目。 使用这些工具,您可以定义特定于您的系统的警报,例如,高系统利用率、工作流备份、运行状况检查失败或对您网站的未经身份验证的访问。 Adobe并不推荐使用任何优于其他工具的工具。 找到适合您的工具,并使用该工具监控讨论的项目。
内部应用程序监控包括监控组成以下项目的应用程序组件 Experience Manager 栈栈,包括JVM、内容存储库以及通过基于平台构建的自定义应用程序代码进行监控。 通常,它通过JMX Mbeans执行,可由许多流行的监控解决方案直接监控,如SolarWinds ™、HP OpenView ™、Hyperic ™、Zabbix ™等。 对于不支持直接连接到JMX的系统,您可以编写Shell脚本来提取JMX数据,并以这些系统本身能够理解的格式将其公开给这些系统。
默认情况下不启用对JMX Mbean的远程访问。 有关通过JMX进行监控的详细信息,请参见 使用JMX技术进行监控和管理.
在许多情况下,需要基线来有效地监视统计信息。 要创建基线,请在正常工作条件下观察系统预定时间段,然后识别正常度量。
JVM监控
与任何基于Java的应用程序栈栈一样, Experience Manager 取决于通过底层Java虚拟机向其提供的资源。 您可以通过JVM公开的Platform MXBean监控许多这些资源的状态。 有关MXBean的详细信息,请参见 使用Platform MBean服务器和Platform MXBean.
以下是您可以为JVM监视的一些基线参数:
内存
MBean: lava.lang:type=Memory
/system/console/jmx/java.lang:type=Memory
此Bean提供的信息以字节表示。
Threads
java.lang:type=Threading
/system/console/jmx/java.lang:type=Threading
监测Experience Manager
Experience Manager 还会通过JMX公开一组统计信息和操作。 这些功能有助于评估系统运行状况,并在潜在问题影响用户之前发现它们。 有关更多信息,请参阅 文档 日期 Experience Manager JMX MBean。
以下是您可以监视的一些基线参数 Experience Manager:
复制代理
MBean: com.adobe.granite.replication:type=agent,id="<AGENT_NAME>"
URL: /system/console/jmx/com.adobe.granite.replication:type=agent,id="<AGENT_NAME>"
实例:一个创作实例和所有发布实例(用于刷新代理)
警报阈值:当 QueueBlocked
是 true
或的值 QueueNumEntries
大于基线的150%。
警报定义:系统中存在阻塞的队列,指示复制目标已关闭或无法访问。 通常,网络或基础架构问题会导致过多条目排入队列,从而对系统性能产生负面影响。
对于MBean和URL参数,请替换 <AGENT_NAME>
,其中包含要监视的复制代理的名称。
会话计数器
org.apache.jackrabbit.oak:id=7,name="OakRepository Statistics",type="RepositoryStats"
运行状况检查
中提供的运行状况检查 操作仪表板 具有用于监视的相应JMX MBean。 但是,您可以编写自定义运行状况检查来公开其他系统统计信息。
以下是一些现成的运行状况检查,这些检查对监控很有帮助:
系统检查
org.apache.sling.healthcheck:name=systemchecks,type=HealthCheck
/system/console/jmx/org.apache.sling.healthcheck:name=systemchecks,type=HealthCheck
复制队列
org.apache.sling.healthcheck:name=replicationQueue,type=HealthCheck
/system/console/jmx/org.apache.sling.healthcheck:name=replicationQueue,type=HealthCheck
响应性能
org.apache.sling.healthcheck:name=requestsStatus,type=HealthCheck
/system/console/jmx/org.apache.sling.healthcheck:name=requestsStatus,type=HealthCheck
查询性能
org.apache.sling.healthcheck:name=queriesStatus,type=HealthCheck
/system/console/jmx/org.apache.sling.healthcheck:name= queriesStatus,type=HealthCheck
活动包
org.apache.sling.healthcheck:name=inactiveBundles,type=HealthCheck
/system/console/jmx/org.apache.sling.healthcheck:name=inactiveBundles,type=HealthCheck
日志错误
org.apache.sling.healthcheck:name=logErrorHealthCheck,type=HealthCheck
/system/console/jmx/org.apache.sling.healthcheck:name=logErrorHealthCheck,type=HealthCheck
在监控过程中,如果您遇到问题,可以执行以下一些故障排除任务来解决的常见问题 Experience Manager 部署:
如果使用TarMK,请经常运行Tar压缩。 有关更多详细信息,请参阅 维护存储库.
Check OutOfMemoryError
日志。 有关更多信息,请参阅 分析内存问题.
检查日志中是否存在对未索引查询、树遍历或索引遍历的任何引用。 这些指示未索引的查询或索引不足的查询。 有关优化查询和索引性能的最佳实践,请参阅 有关查询和索引的最佳实践.
使用工作流控制台验证您的工作流是否按预期执行。 如果可能,将多个工作流合并到单个工作流中。
重新访问实时监控,并查找任何特定资源的其他瓶颈或高占用率。
调查客户端网络的入口点以及入口点到 Experience Manager 部署网络,包括Dispatcher。 这些往往是瓶颈领域。 有关更多信息,请参阅 资产网络注意事项.
放大您的 Experience Manager 服务器。 您的尺寸可能不足 Experience Manager 部署。 Adobe客户支持可以帮助您确定您的服务器是否规模过小。
检查 access.log
和 error.log
出错时输入的文件。 查找可能指示自定义代码异常的模式。 将它们添加到您监视的事件列表中。