通用日志

本文档将描述您将看到的通用日志条目、它们的含义以及如何处理它们。

🏠目录

🔙上一页 调度程序虚 URL

GLOB 警告

示例日志条目:

[Fri Jul 20 03:35:09 2018] [W] [pid 8300 (tid 139937910880384)] /etc/httpd/conf/publish-filters.any:5: Allowing requests with globs is considered unsafe. Please consult the documentation at 'https://www.adobe.com/go/docs_dispatcher_config_en' on how to use attributes method/url/query/protocol/path/selectors/extension/suffix instead.

自调度程序模块 4.2.x 起,调度程序开始阻止人员在其过滤器文件中使用以下类型的匹配:

/0041 { /type "allow" /glob "* *.css *"   }  ## enable css

最好改用新语法,如:

/0041 { /type "allow" /url "*.css" } ## enable css

或者,最好根本不通过通配符匹配器进行匹配:

/0041 { /type "allow" /extension "css" } ## enable css 

执行任何一个建议的方法都会从日志中删除该错误消息。

过滤器拒绝

注意:

如果日志级别设置得过低,即使发生拒绝时,也不会始终显示这项条目。将其设置为“信息”或“调试”,以确保您能够查看过滤器是否拒绝请求。

示例日志条目:

[Fri Jul 20 17:25:48 2018] [D] [pid 25939 (tid 139937517123328)] Filter rejects: GET /libs/granite/core/content/login.html HTTP/1.1 

或:

[Fri Jul 20 22:16:55 2018] [I] [pid 128803] "GET /system/console/" ! - 8ms [publishfarm/-] 
注意:

了解调度程序的规则已设置为过滤掉该请求。在这种情况下,尝试访问的页面会被有意拒绝,我们对此不必执行任何操作。

如果您的日志类似于以下条目:

[Fri Jul 20 17:26:47 2018] [D] [pid 20051 (tid 139937517123328)] Filter rejects: GET /etc/designs/exampleco/fonts/montserrat-regular/montserrat-regular-webfont.eot HTTP/1.1 

此条目让我们知道我们的设计文件 .eot 被阻止了,需要进行修复。

因此,我们应该查看过滤器文件并添加以下代码行以允许 .eot 文件通过

/0011 { /type "allow" /method "GET" /extension 'eot' /path "/etc/designs/*" }

这将允许文件通过并停止记录。

如果要查看过滤掉的内容,可以对日志文件运行以下命令:

$ grep "Filter rejects\|\!" /var/log/httpd/dispatcher.log | awk 'match($0, /\/.*\//, m){ print m[0] }' | awk '{ print $1 }'| sort | uniq -c | sort -rn 

渲染超时

套接字超时示例日志条目:

[Fri Jul 20 22:31:15 2018] [W] [pid 3648] Unable to connect socket to 10.43.3.40:4502: Connection timed out 
[Fri Jul 20 22:31:15 2018] [W] [pid 3648] Unable to connect to any backend in farm authorfarm

当您在场的渲染部分配置了错误的 IP 地址时,会发生这种情况。该 AEM 实例停止响应或侦听,调度程序无法访问。

检查防火墙规则,确保 AEM 实例运行正常

网关超时示例日志条目:

[Fri Jul 20 22:32:42 2018] [I] [pid 3648] "GET /favicon.ico" 502 - 54034ms [authorfarm/-] 
[Fri Jul 20 22:35:45 2018] [I] [pid 3648] "GET /favicon.ico" 503 - 54234ms [authorfarm/-]

这意味着 AEM 实例具有一个打开的套接字,它可以通过响应访问并超时。这意味着您的 AEM 实例运行过慢或不正常,调度程序已在场的渲染部分中访问其配置的超时设置。增加超时设置或使 AEM 实例正常。

缓存级别

示例日志条目:

[Fri Jul 20 23:00:19 2018] [I] [pid 16004 (tid 140134145820416)] Current cache hit ratio: 87.94 % 

这意味着将测量您从渲染级别和从缓存中提取情况。如果希望从缓存中达到 80% 以上,您应该按照以下帮助进行操作:

https://helpx.adobe.com/cn/experience-manager/kb/optimizing-the-dispatcher-cache.html

使这一数字尽可能高。

注意:

即使您在场文件中将缓存设置为缓存所有内容,您也可能过于频繁或过于激进地刷新,这可能导致发生缓存命中率的百分比降低

缺少目录

示例日志条目:

[Fri Jul 20 14:02:43 2018] [E] [pid 4728 (tid 140662586435328)] Unable to create parent directory /mnt/var/www/author/libs/dam/content/asseteditors/formitems.overlay.infinity.json/application: Not a directory

通常,如果在提取项目的同时执行缓存清除,则会显示此日志。

该目录或文档根目录的权限不正确,或者文件夹上的 SELinux 文件上下文错误,拒绝 Apache 创建所需的新子目录来进行缓存。

有关权限问题,请查看 documentroot 的权限,确保其内容与以下内容类似:

dispatcher$ ls -la

找不到虚 URL

示例日志条目:

[Thu Sep 27 17:35:11 2018] [D] [pid 18936] Checking vanity URLs 
[Thu Sep 27 17:35:11 2018] [D] [pid 18936] Vanity URL file (/tmp/vanity_urls) not found, fetching... 
[Thu Sep 27 17:35:11 2018] [W] [pid 18936] Unable to fetch vanity URLs from 10.43.0.42:4503/libs/granite/dispatcher/content/vanityUrls.html: remote server returned: HTTP/1.1 404 Not Found

当您将调度程序配置为使用动态自动过滤允许虚 URL,但未通过在 AEM 渲染器上安装包来完成设置时,会发生此错误。

要修复此问题,请在 AEM 实例上安装 vanityurl 功能包,并允许匿名用户随时使用。更多详情,请单击此处

设置的工作虚 URL 如下所示:

[Thu Sep 27 17:40:29 2018] [D] [pid 21844] Checking vanity URLs 
[Thu Sep 27 17:40:29 2018] [D] [pid 21844] Vanity URL file (/tmp/vanity_urls) not found, fetching... 
[Thu Sep 27 17:40:29 2018] [D] [pid 21844] Loaded 18 vanity URLs from file /tmp/vanity_urls

缺少场

示例日志条目:

[Wed Nov 13 17:17:26 2019] [W] [pid 19173:tid 140542738364160] No farm matches host 'we-retail.com', selected last farm 'publishfarm'

此错误表示在 /etc/httpd/conf.dispatcher.d/enabled_farms/ 中的所有可用场文件,无法从 /virtualhost 部分找到匹配条目。

场文件根据请求所包含的域名或路径匹配流量。它使用 glob 匹配,如果不匹配,则说明您未正确配置场、键入场中的条目具有拼写错误,或完全缺失该条目。当场与任何条目不匹配时,它最终只默认为场文件堆栈中包含的最后一个场。在此示例中,它是 999_ams_publish_farm.any,这是按照 publishfarm 的通用名称进行命名的。

以下是示例场文件 /etc/httpd/conf.dispatcher.d/enabled_farms/300_weretail_publish_farm.any,已经过缩减以突出显示相关部分。

提供的条目

示例日志条目:

[Tue Nov 26 16:41:34 2019] [I] [pid 9208 (tid 140112092391168)] "GET /content/we-retail/us/en.html" - + 24034ms [publishfarm/0]

通过 GET http 方法为内容 /content/we-retail/us/en.html 提取页面,用时 24034 毫秒。我们需要注意其最后部分 [publishfarm/0]。您将看到其目标是 publishfarm,并与 publishfarm 匹配。从渲染 0 中提取请求。这意味着必须从 AEM 请求此页面,然后缓存该页面。现在,让我们再次请求此页面,并查看日志的情况。

示例日志条目:

[Tue Nov 26 16:42:16 2019] [I] [pid 9207 (tid 140112321234688)] "GET /content/we-retail/us/en.html" - - 1ms [publishfarm/-]

再次请求该条目,正如您所看到的,该条目的目标是与前一请求相同的 publishfarm。此时,条目显示 [publishfarm/-] 结尾的短划线表示它是从缓存中提供的,无需从 AEM 渲染器中提取。

下一页 ➡ 只读文件

Adobe 徽标

登录到您的帐户