Sun Java System Web Proxy Server 4.0.8 管理指南

第 9 章 使用日志文件

可以使用多种不同的方法监视服务器的活动。本章介绍了通过记录和查看日志文件来监视服务器的方法。有关使用内置的性能监视服务或 SNMP 的信息,请参见第 10 章

本章包含以下各节:

关于日志文件

服务器日志文件记录服务器的活动。使用这些日志可以监视服务器,并在诊断错误时为您提供帮助。错误日志文件位于服务器根目录下的 proxy-server_name/logs/errors 中,该文件列出了服务器曾遇到的所有错误。访问日志位于服务器根目录下的 proxy-server_name/logs/access 中,该文件记录了向服务器提出的请求以及服务器做出的响应方面的信息。您可以配置 Proxy Server 访问日志文件中记录的信息。使用日志分析程序可以生成服务器统计信息。通过归档可以将服务器的错误日志文件和访问日志文件进行备份。


注 –

由于操作系统方面的限制,Proxy Server 无法在 Linux 上处理大于 2 GB 的日志文件。达到最大日志大小后,日志记录就会停止。


登录 UNIX 和 Windows 平台

本节介绍如何创建日志文件。此外,还包括以下主题:


注 –

有关 Windows 操作环境所使用的事件日志机制的更多信息,请在 Windows 帮助系统索引中查找关键字 "Event Logging"。


默认错误日志

在 UNIX 和 Windows 平台上,Administration Server 的日志存储在管理 proxy-admserv/logs/ 目录下。服务器实例的日志存储在 proxy-server_name/logs/ 目录中。

可以设置整个服务器的默认日志级别。可以将 stdoutstderr 重定向到服务器的事件日志,将日志输出定向到操作系统的系统日志。此外,还可以将 stdout 和 stderr 内容定向到服务器的事件日志。默认情况下,日志消息除了发送到指定的服务器日志文件外,还将发送到 stderr。

使用 syslog 记录日志

syslog 适用于要求集中记录日志的稳定的操作环境。在需要经常查看日志输出以进行诊断和调试的环境中,设置一个服务器实例日志可能比较容易管理。

由于将服务器实例和 Administration Server 的日志数据都存储在一个文件中可能会使读取和调试困难,因此应仅对运行正常的、已部署的应用程序使用 syslog 主日志文件。

日志消息与 Solaris 守护进程应用程序中的所有其他日志混合在一起。

syslog 日志文件与 syslogd 和系统日志守护进程一起使用,可以配置 syslog.conf 文件执行以下操作:

因为将日志记录到 syslog 意味着 Proxy Server 以及其他守护进程应用程序的日志都存储在同一个文件中,所以日志消息中增加了以下信息,以便标识来自特定服务器实例中专用于 Proxy Server 的消息:

可以在 server.xml 文件中同时为 Administration Server 和服务器实例配置 LOG 元素。

要获得有关 UNIX 操作环境所使用的 syslog 记录机制的更多信息,请在出现终端提示后使用以下 man 命令:

man syslog
man syslogd
man syslog.conf

日志级别

下表按照严重性递增的顺序定义了 Proxy Server 中的日志级别和消息。

表 9–1 日志级别

日志级别 

描述 

finest

finer

fine

表明调试消息详细程度的消息。finest 指定最大详细程度。

info

信息类型的消息,通常与服务器配置或服务器状态相关。这些消息不是指需要立即采取行动的错误。 

warning

表明警告的消息。这种消息可能伴有异常情况。 

failure

表明严重故障的消息,故障可能会妨碍应用程序的正常执行。 

config

与各种静态配置信息相关的消息,可以帮助用户调试可能与特定配置有关的问题。 

security

表明安全问题的消息。 

catastrophe

表明致命错误的消息。 

将日志文件归档

可以将访问日志文件和错误日志文件设置为自动归档。在某一时间或在指定的时间间隔后,用户的日志将被轮转。Proxy Server 将保存旧的日志文件并用含有保存日期和时间的名称标记所保存的文件。

例如,可以设置每小时轮转访问日志文件一次。Proxy Server 将保存该文件并将其命名为 "access.200505160000",其中日志文件的名称、年、月、日和 24 小时时间被串联到一起,形成一个字符串。根据所设置的日志轮转类型,日志归档文件的格式会有所不同。

Proxy Server 为归档文件提供了两种日志轮转类型:内部守护进程日志轮转和基于计时程序的日志轮转。

内部守护进程日志轮转

内部守护进程日志轮转发生在 HTTP 守护进程内,且只能在启动时进行配置。服务器在内部轮转日志,不要求重新启动服务器。使用此方法轮转的日志将被保存为以下格式:

access.<YYYY><MM><DD><HHMM>

errors.<YYYY><MM><DD><HHMM>

可以指定用来轮转日志文件和开始新日志文件的基准时间。例如,如果轮转开始时间为 12:00 a.m.,并且轮转间隔为 1440 分钟(一天),那么当您保存并应用更改时,系统将立即创建一个新的日志文件,而不管当前的时间。日志文件在每天的 12:00 a.m. 进行轮转,而访问日志将被标记为 12:00 a.m.,并保存为 access.200505172400。同样,如果将间隔设置为 240 分钟(4 小时),开始时间为 12:00 a.m.,访问日志文件将包含从 12:00 a.m. 到 4:00 a.m.,从 4:00 a.m. 到 8:00 a.m. 等时间段内收集到的信息。

如果启用了日志轮转,将在服务器启动时开始进行日志文件轮转。第一个要轮转的日志文件将收集从当前时间至下次轮转时间之间的信息。以上一个例子为例,如果将开始时间设置为 12:00 a.m.,并将轮转间隔设置为 240 分钟,而当前的时间为 4:00 a.m.,则第一个要轮转的日志文件将包含从 4:00 a.m. 至 8:00 a.m 之间收集到的信息,下一个日志文件将包含 8:00 a.m. 至 12:00 p.m.(中午)的信息,并依此类推。

基于调度程序的日志轮转

基于调度程序的日志轮转以 server-root/proxy-server_name/config/ 目录下 server.xml 文件中存储的时间和日期为基准。此方法可用于将日志文件立即归档,或使服务器在特定日期中的特定时间将日志文件归档。服务器的调度程序配置选项存储在 server-root/proxy- server_name/config/ 目录的 server.xml 中。使用基于调度程序的方法轮转的日志将被保存为以下格式:

<original_filename>.<YYYY><MM><DD><HHMM>

例如,当在 4:30 p.m 轮转文件时,access 将变为 access.200505171630

日志轮转在服务器启动时进行初始化。如果启用了轮转,Proxy Server 将创建一个带有时间标记的访问日志文件并在服务器启动时开始进行轮转。

开始进行轮转后,如果在需要记录到访问日志文件或错误日志文件的、先前调度的 "next rotate time" 之后,发生请求或错误,Proxy Server 将创建一个新的带有时间标记的日志文件。


注 –

应在运行日志分析程序之前将服务器日志归档。


要将日志文件归档以及指定是采用内部守护进程方法还是采用基于调度程序的方法,请使用 Server Manager 中的 "Archive Log" 页面。

设置访问日志首选项

在安装过程中,将为服务器创建名为 access 的访问日志文件。通过指定是否记录访问、记录日志时使用何种格式,以及当客户机访问资源时服务器是否应查找客户机的域名,用户可以自定义任意资源的访问日志记录。

您可以使用 Server Manager 中的 "Set Access Log Preferences" 页面来指定日志记录首选项,也可以在 obj.conf 文件中手动配置以下指令。在 obj.conf 中,服务器调用函数 flex-init 来初始化灵活日志记录系统,并调用函数 flex-log 以灵活日志格式记录特定于请求的数据。要使用通用日志文件格式记录请求,服务器调用 init-clf 来初始化 obj.conf 中使用的通用日志子系统,并调用 common-log 以大多数 HTTP 服务器使用的通用日志格式记录特定于请求的数据。

创建某个资源的访问日志后,将无法更改日志的格式,除非对它进行归档或为该资源创建一个新的访问日志文件。

表 9–2 Administration Server 的日志文件格式

日志格式项 

描述 

Client Hostname

请求访问的客户机的主机名或 IP 地址(如果已禁用 DNS)。 

Authenticate User Name

如果需要进行验证,您可以在访问日志中列出经过验证的用户名。 

System Date

客户机请求的日期和时间。 

Full Request

客户机所作的完整请求。 

Status

服务器返回给客户机的状态码。 

Content Length

发送至客户机的文档的内容长度(以字节为单位)。 

HTTP Header, "referer"

referer(引用站点)可以指定客户机从中访问当前页面的页面。例如,如果用户正在查看文本搜索查询的结果,引用站点将是用户从中访问文本搜索引擎的页面。引用站点使服务器可创建回溯链接的列表。 

HTTP Header, "user-agent"

user-agent 信息包括客户机正在使用的浏览器的类型、浏览器版本,以及正在运行的操作系统。这些信息来自客户机发送到服务器的 HTTP 标头信息的 User-agent 字段。 

Method

使用的 HTTP 请求方法,如 GET、PUT 或 POST。 

URI

Universal Resource Identifier(统一资源标识符)。服务器上资源的位置。例如,对于 http://www.a.com:8080/special/docs,URI 为 special/docs

Query String Of The URI

URI 中问号之后的任何文本。例如,对于 http://www.a.com:8080/special/docs?find_this,URI 的查询字符串为 find_this

Protocol

使用的传输协议和版本。 

更改现有日志文件的格式时,应首先删除/重命名现有的日志文件,也可以使用不同的文件名。

Procedure设置 Administration Server 的访问日志首选项

  1. 访问 Administration Server 并单击 "Preferences" 选项卡。

  2. 单击 "Set Access Log Preferences" 链接。

    此时将显示 "Set Access Log Preferences" 页面。

  3. 从下拉式列表中选择资源,或单击 "Regular Expression" 按钮,键入正则表达式,然后单击 "OK"。

  4. 指定是否记录客户机类。

    此设置要求启用域名服务 (Domain Name Service, DNS)。

  5. 指定访问日志文件的绝对路径。

    默认情况下,日志文件存储在服务器根目录下的 logs 目录中。如果指定了部分路径,服务器将假设路径相对于服务器根目录下的 logs 目录。

    如果编辑的是整个服务器,此字段的默认值为 $accesslog,它是配置文件中表示服务器的访问日志文件的变量。

  6. 选择是否应在访问日志中记录访问服务器的系统的域名或 IP 地址。

  7. 选择要在访问日志中使用的日志文件格式的类型。

    可以使用以下选项:

    • Use Common LogFile Format。包括客户机的主机名、经过验证的用户名、请求的日期和时间、HTTP 标头、返回到客户机的状态码,以及发送到客户机的文档的内容长度。

    • Only Log。使您可以确定将记录的信息。可从表 9–2 中列出的灵活日志格式项中进行选择。

    • 如果选择一种自定义格式,请在 "Custom Format" 字段中键入该格式。

  8. 单击 "OK"。

  9. 单击 "Restart required"。

    将会显示 "Apply Changes" 页面。

  10. 单击 "Restart Proxy Server" 按钮以应用更改。

设置服务器实例的访问日志首选项

下表中列出了可用于设置服务器实例的访问日志首选项的灵活日志格式。

表 9–3 服务器实例的日志文件格式

日志格式项 

描述 

Client Hostname

请求访问的客户机的主机名或 IP 地址(如果已禁用 DNS)。 

Authenticate User Name

如果需要进行验证,您可以在访问日志中列出经过验证的用户名。 

System Date

客户机请求的日期和时间。 

Full Request

客户机所作的完整请求。 

Status

服务器返回给客户机的状态码。 

Content Length

发送至客户机的文档的内容长度(以字节为单位)。 

HTTP Header, "referer"

referer(引用站点)可以指定客户机从中访问当前页面的页面。例如,如果用户正在查看文本搜索查询的结果,引用站点将是用户从中访问文本搜索引擎的页面。引用站点使服务器可创建回溯链接的列表。 

HTTP Header, "user-agent"

user-agent 信息包括客户机正在使用的浏览器的类型、浏览器版本,以及正在运行的操作系统。这些信息来自客户机发送到服务器的 HTTP 标头信息的 User-agent 字段。 

Method

使用的 HTTP 请求方法,如 GET、PUT 或 POST。 

URI

Universal Resource Identifier(统一资源标识符)。服务器上资源的位置。例如,对于 http://www.a.com:8080/special/docs,URI 为 special/docs

Query String Of The URI

URI 中问号之后的任何文本。例如,对于 http://www.a.com:8080/special/docs?find_this,URI 的查询字符串为 find_this

Protocol

使用的传输协议和版本。 

Cache Finish Status

此字段指定高速缓存文件是被写入、刷新还是由最新版本检查返回。 

cs 字段可包含以下内容之一: 

- 表示资源无法高速缓存。 

WRITTEN 表示已创建高速缓存文件。 

REFRESHED 表示已更新或已刷新高速缓存文件。 

NO-CHECK 表示已返回高速缓存文件,没有进行最新版本检查。 

UP-TO-DATE 表示已返回高速缓存文件,进行了最新版本检查。 

HOST-NOT-AVAILABLE 表示远程服务器不能执行最新版本检查,因此已返回高速缓存文件,但未进行检查。 

CL-MISMATCH 表示因内容长度不匹配而中止了高速缓存文件写入。 

ABORTED 表示因特殊原因中止了高速缓存。例如,缺少有效的 Last-Modified 标头。 

Remote Server Finish Status

此字段指定向远程服务器提交的请求是已成功执行完成,单击浏览器中的“停止”按钮时由客户机中断,还是由错误条件终止。 

Status Code From Server

从服务器返回的状态码。 

Route To Proxy (PROXY, SOCKS, DIRECT)

用于检索资源的路由。可以直接检索文档,也可以通过代理或 SOCKS 服务器检索文档。 

Transfer Time

传送的时间长度(以秒或毫秒为单位) 

Header-length From Server Response

服务器响应的标头的长度。 

Request Header Size From Proxy To Server

从代理到服务器的请求标头的大小。 

Response Header Size Sent To Client

发送到客户机的响应标头的大小。 

Request Header Size Received From Client

从客户机接收的请求标头的大小。 

Content-length From Proxy To Server Request

从代理发送到服务器的文档的长度(以字节为单位)。 

Content-length Received From Client

来自客户机的文档的长度(以字节为单位)。 

Content-length From Server Response

来自服务器的文档的长度(以字节为单位)。 

Unverified User From Client

验证期间提供给远程服务器的用户名。 

Procedure设置服务器实例的访问日志首选项

  1. 访问 Server Manager 并单击 "Server Status" 选项卡。

  2. 单击 "Set Access Log Preferences" 链接。

    此时将显示 "Set Access Log Preferences" 页面。

  3. 从下拉式列表中选择资源,或单击 "Regular Expression" 按钮,键入正则表达式,然后单击 "OK"。

  4. 指定是否记录客户机类。

    此设置要求启用域名服务 (Domain Name Service, DNS)。

  5. 指定访问日志文件的绝对路径。

    默认情况下,日志文件存储在服务器根目录下的 logs 目录中。如果指定了部分路径,服务器将假设路径相对于服务器根目录下的 logs 目录。

    如果编辑的是整个服务器,此字段的默认值为 $accesslog,它是配置文件中表示服务器的访问日志文件的变量。

  6. 选择是否应在访问日志中记录访问服务器的系统的域名或 IP 地址。

  7. 选择日志文件的格式:通用、扩展、扩展 2、仅限指定信息("Only log" 单选按钮)或自定义。

    如果单击 "Only log",将可以使用以下灵活日志格式项:

  8. 选择要在访问日志中使用的日志文件格式的类型。

    服务器访问日志格式可以为通用日志文件格式、扩展日志文件格式、扩展 2 日志文件格式、灵活日志格式或单独的可自定义格式。通用日志文件格式是普遍受支持的格式,可提供服务器的固定信息。灵活日志格式使您可以(从 Proxy Server)选择要记录的内容。可自定义的格式使用参数块,用户可以指定这些参数块来控制记录的内容。

    • Use Common LogFile Format。包括客户机的主机名、经过验证的用户名、请求的日期和时间、HTTP 标头、返回到客户机的状态码,以及发送到客户机的文档的内容长度。

    • Use Extended LogFile Format。包括通用日志文件格式的所有字段和一些其他字段,如远程状态、代理到客户机的内容长度、远程到代理的内容长度、代理到远程的内容长度、客户机到代理的标头长度、代理到客户机的标头长度、代理到远程的标头长度、远程到代理的标头长度以及传送时间。

    • Use Extended2 LogFile Format。包括扩展日志文件格式的所有字段和一些其他字段,如客户机状态、服务器状态、远程状态、高速缓存完成状态以及实际路由。

    • Only Log。使您可以选择要记录的信息。可从表 9–3 中列出的灵活日志格式项中进行选择。

    • 如果选择一种自定义格式,请在 "Custom Format" 字段中键入该格式。

  9. 如果不想记录来自某主机名或 IP 地址的客户机访问,请在 "host names" 和 "IP Addresses" 字段中键入它们。

    键入服务器不应记录其访问的主机的通配符模式。例如,*.example.com 将不记录域为 example.com 的用户的访问。可以为主机名、IP 地址,或同时为二者键入通配符模式。

  10. 选择是否在日志文件中包括格式字符串。

    如果使用的是 Proxy Server 的日志分析程序,应包括格式字符串。如果使用的是第三方的分析程序,可能不需要在日志文件中包括格式字符串。

  11. 单击 "OK"。

  12. 单击 "Restart required"。

    此时将显示 "Apply Changes" 页面。

  13. 单击 "Restart Proxy Server" 按钮以应用更改。

简易 Cookie 日志

使用 flexlog 功能,Proxy Server 可以很容易地记录特定的 cookie。将 Req->headers.cookie.cookie_name 添加到配置文件 obj.conf 中用于初始化 flex-log 子系统的行。如果 cookie 变量存在于请求标头中,此指令将记录 cookie 变量 cookie_name 的值,如果变量不存在,将记录 "-"。

设置错误日志选项

可以配置在服务器的错误日志中记录信息。

Procedure设置错误记录选项

  1. 要从 Administration Server 设置错误日志选项,请选择 "Preferences" 选项卡,然后单击 "Set Error Log Preferences" 链接。

    要从 Server Manager 为服务器实例设置错误日志选项,请选择 "Server Status" 选项卡,然后单击 "Set Error Log Preferences" 链接。

  2. 在 "Error Log File Name" 字段中指定将存储来自服务器的消息的文件。

  3. 从 "Log Level" 下拉式列表中,指定错误日志中应记录的信息量。可以使用以下选项:

  4. 要将 stdout 输出重定向到错误日志,请选择 "Log Stdout"。

  5. 要将 stderr 输出重定向到错误日志,请选择 "Log Stderr"。

  6. 要将日志消息重定向到控制台,请选择 "Log To Console"。

  7. 要使用 UNIX 系统日志服务或 Windows 事件日志来生成和管理日志,请选择 "Use System Logging"。

  8. 单击 "OK"。

  9. 单击 "Restart required"。

    此时将显示 "Apply Changes" 页面。

  10. 单击 "Restart Proxy Server" 按钮以应用更改。

配置 LOG 元素

下表介绍了可以在 server.xml 文件中配置的 LOG 元素的属性。

表 9–4 LOG 属性

属性 

Default 

描述 

file

errors

指定将存储来自服务器的消息的文件。 

loglevel

info

控制由其他元素记录到错误日志中的消息的默认类型。允许的值如下所示(从高到低排列): 

finestfinefineinfowarningfailureconfig、securitycatastrophe

logstdout

true

(可选)如果为 true,将重定向 stdout 输出到错误日志。有效值为 onoffyesno10truefalse

logstderr

true

(可选)如果为 true,将重定向 stderr 输出到错误日志。有效值为 onoffyesno10truefalse

logtoconsole

true

(可选,仅限于 UNIX)如果为 true,将重定向日志消息到控制台。

createconsole

false

(可选,仅限于 Windows)如果为 true,将为 stderr 输出创建一个 Windows 控制台。有效值为 onoffyesno10truefalse

usesyslog

false

(可选)如果为 true,将使用 UNIX syslog 服务或 Windows 事件日志来生成和管理日志。有效值为 onoffyesno10truefalse

查看访问日志文件

您可以查看服务器的活动和归档的访问日志文件。

要从 Administration Server 查看其访问日志,请选择 "Preferences" 选项卡,然后单击 "View Access Log" 链接。

要从 Server Manager 查看服务器实例的访问日志,请选择 "Server Status" 选项卡,然后单击 "View Access Log" 链接。

以下示例显示了通用日志文件格式的访问日志。


198.18.17.222 - - [20/May/2005:14:15:49 +0530] 
"GET http://www.example.com/ HTTP/1.1" 504 622 198.18.17.222 - abc 
[20/May/2005:14:16:09 +0530] "GET http://www.test.com/report.zip HTTP/1.1" 
504 630
      

下表描述了此访问日志样例的最后一行。

访问日志字段 

示例 

客户机的主机名或 IP 地址 

198.18.17.222(此例中,由于禁用了代理服务器的 DNS 查找设置,因此显示客户机的 IP 地址;如果启用了 DNS 查找,将显示客户机的主机名。)

RFC 931 信息 

-(RFC 931 标识未实现) 

用户名 

abc(客户输入的用于验证的用户名)

请求的日期/时间 

20/May/2005:14:16:09 +0530 

请求 

GET 

协议 

HTTP/1.1 

状态码 

504 

传送的字节数 

630 

查看错误日志文件

错误日志文件包含自创建该日志文件以来服务器遇到的错误。该文件还包含有关服务器的信息消息,如启动服务器的时间。失败的用户验证也记录在此错误日志中。使用错误日志可以查找中断的 URL 路径或缺少的文件。

要从 Administration Server 查看其错误日志文件,请选择 "Preferences" 选项卡,然后单击 "View Error Log" 链接。

要从 Server Manager 查看服务器实例的错误日志文件,请选择 "Server Status" 选项卡,然后单击 "View Error Log" 链接。

以下错误日志示例包含三个条目。


20/May/2005:14:08:37] info ( 6141): CORE1116: Sun Java System Web Proxy 
Server 4.0 B05/10/2005 01:26 20/May/2005:14:08:37] info ( 6142): CORE3274: 
successful server startup 20/May/2005:14:08:37] security (23246): 
for host 198.18.148.89 trying to GET /, deny-service reports:
 denying service of /

      

使用日志分析程序

server-root/extras/log_anly 目录包含通过 Server Manager 用户界面运行的日志分析工具。此日志分析程序仅分析通用日志格式的文件。log_anly 目录中的 HTML 文档介绍了此工具的参数。server-install/extras/flexanlg 目录包含灵活日志文件格式的命令行日志分析程序。但是默认情况下,Server Manager 使用灵活日志文件报告工具,无论选择了哪种日志文件格式,都是如此。

使用日志分析程序可以生成有关默认服务器的统计信息,例如活动摘要、最常访问的 URL、一天中访问服务器的高峰时段等等。可以从 Proxy Server 或命令行运行日志分析程序。

在尝试运行 flexanlg 命令行实用程序之前必须设置库路径。各种平台的设置如下所示:

Solaris 和 Linux:

LD_LIBRARY_PATH=server-root/bin/proxy/lib:$LD_LIBRARY_PATH

AIX:

LIBPATH=server-root/bin/proxy/lib:$LIBPATH

HP-UX:

SHLIB_PATH=server-root/bin/proxy/lib:$SHLIB_PATH

Windows:

path=server-root\\bin\\proxy\\bin;%path%

注 –

在运行日志分析程序之前,应归档服务器日志。有关归档服务器日志的更多信息,请参见将日志文件归档


还可以在转到 server-root/proxy-serverid 目录后,在命令提示符上键入 ./start -shell,这样就不必设置库路径。

如果使用扩展日志格式或扩展 2 日志格式,日志分析程序将在输出文件中生成除了所指定要报告的信息外,还会生成多个报告。以下部分介绍了这些报告。

传送时间分布报告

传送时间分布报告说明了代理服务器用于传送请求的时间。此报告显示按服务时间和完成的百分比分类的信息。以下示例是一个传送时间分布报告样例。

By service time category:

< 1 sec [644%] ........................................

< 2 sec [33.3%] ....................

< 3 sec [ 2.7%] .

< 4 sec [ 1.7%] .

< 5 sec [ 0.6%]

< 6 sec [ 0.4%]

< 7 sec [ 0.2%]

< 8 sec [ 0.0%]

< 9 sec [ 0.0%]

By percentage finished:

< 1 sec [64.4%] ........................................

< 2 sec [97.7%] ....................................

< 3 sec [100.4%]..............................................

数据流报告

数据流报告说明了从客户机到代理、代理到客户机、代理到远程服务器和远程服务器到代理的数据流(已传送的字节数)。对于这每一种情况,报告都将以标头和内容的形式说明已传送的数据量。数据流报告还说明了从高速缓存到客户机的数据流。以下是一个数据流报告样例。

 
Headers
Content
Total
- Client -> Proxy.........
0 MB
0 MB
0 MB
- Proxy  -> Client...........
0 MB
2 MB
3 MB
- Proxy  -> Remote...........
0 MB
0 MB
0 MB
- Remote -> Proxy..........
0 MB
2 MB
2 MB
       
Approx:
     
- Cache  -> Client...........
0 MB
0 MB
0 MB

状态码报告

状态码报告说明了代理服务器从远程服务器接收和发送到客户机的状态码以及数量。状态码报告还提供了所有这些状态码的解释。以下示例是一个状态码报告样例。

Code
-From remote-
 
-To client-
-Explanation-
200
338  [70.7%]
352  [73.6%]
OK
302
33  [ 6.9%]
36  [ 7.5%]
Redirect
304
90  [18.8%]
99  [20.7%]
Not modified
404
3  [ 0.6%]
3  [ 0.6%]
Not found
407
 
5  [ 1.0%]
Proxy authorization required
500
 
2  [ 0.4%]
Internal server error
504
 
6  [ 1.3%]
Gateway timeout

请求和连接报告

请求和连接报告说明了代理服务器从客户机接收的请求数,代理向远程服务器请求的连接数(初始检索、最新版本检查和刷新),以及代理服务器使用高速缓存的文档而避免的远程连接数。以下示例是一个请求和连接报告样例。

- Total requests.............     478
- Remote connections.........     439
- Avoided remote connects....      39 [ 8.2%]

高速缓存性能报告

高速缓存性能报告说明了客户机的高速缓存、代理服务器的高速缓存以及直接连接的性能。

客户机高速缓存

当客户机对文档执行最新版本检查,而远程服务器将返回一条 304 消息,通知客户机文档未修改时,即发生了客户机高速缓存命中。客户机启动的最新版本检查表明,客户机的高速缓存中包含文档的独立副本。

对于客户机的高速缓存,报告将说明:

代理高速缓存

客户机从代理服务器请求文档,而代理服务器的高速缓存中已包含该文档时,将发生代理高速缓存命中。对于代理服务器的高速缓存命中,该报告将显示:

组合的代理高速缓存命中次数

对于组合的代理高速缓存命中次数,报告说明了命中代理服务器的高速缓存的总次数,以及为这些请求提供服务花费的平均时间。

直接事务

直接事务是指直接从远程服务器进入代理服务器,然后到客户机,而没有发生任何高速缓存命中的事务。对于直接事务,报告将显示:

以下示例是一个高速缓存性能报告样例。


                  
CLIENT CACHE:
- Client & proxy cache hits... 86 reqs [18.0%] 0.21 sec/req- Proxy shortcut 
no-check........ 13 reqs [ 2.7%] 0.00 sec/req- Client cache hits only.....
- TOTAL client cache hits.......... 99 reqs [20.7%] 0.18 sec/req

                  PROXY CACHE:
- Proxy cache hits w/check........ 4 reqs [ 0.8%] 0.50 sec/req- Proxy cache 
hits w/o check.. 10 reqs [ 2.1%] 0.00 sec/req- Pure proxy cache hits...... 
14 reqs [ 2.9%] 0.14 sec/req

                  PROXY CACHE HITS COMBINED:
- TOTAL proxy cache hits....... 113 reqs [23.6%] 0.18 sec/req

                  DIRECT TRANSACTIONS:
- Retrieved documents..313 reqs [65.5%]  0.90 sec/req 2 MB- Other 
transactions.. 52 reqs [10.9%] 7.79 sec/req- TOTAL direct traffic..
365 reqs [76.4%] 1.88 sec/req 2 MB

               

传送时间报告

传送时间报告说明了有关代理服务器用于处理事务的时间的信息。此报告说明了以下分类的值:

Average transaction time:记录的所有传送时间的平均值。

Average transfer time without caching:不是从高速缓存返回的事务(即导致远程服务器作出 200 响应的那些事务)的平均传送时间。

Average with caching, without errors:所有非错误事务(即那些状态码为 2xx 和 3xx 的事务)的平均传送时间。

Average transfer time improvement:平均事务时间与进行高速缓存且没有错误时平均传送时间之差。

以下示例是一个传送时间报告样例。

- Average transaction time... 1.48 sec/req- Ave xfer time w/o caching.. 
	0.90 sec/req- Ave w/caching, w/o errors.. 0.71 sec/req - Ave xfer 
	time improvement.. 0.19 sec/req

每小时活动报告

对于进行了分析的每一小时,每小时活动报告将说明:

Procedure从 Server Manager 运行日志分析程序

  1. 访问 Server Manager,然后单击 "Server Status" 选项卡。

  2. 单击 "Generate Report" 链接。

    此时将显示 "Generate Report" 页面。

  3. 键入服务器的名称。此名称将显示在生成的报告中。

  4. 选择报告将以 HTML 格式还是 ASCII 格式显示。

  5. 选择要分析的日志文件。

  6. 如果要将结果保存到文件中,请在 "Output File" 字段中键入一个输出文件名。

    如果保留该字段为空,报告结果将会列显到屏幕上。对于较大的日志文件,应将结果保存到文件中,因为将输出列显到屏幕上可能需要较长时间。

  7. 选择是否为某些服务器统计信息生成总计。

    可以生成以下总计:

    • Total Hits- 启用访问日志后,服务器收到的命中总数。

    • 304 (Not Modified) Status Codes- 使用所请求文档的本地副本而不是服务器返回页面的次数。

    • 302 (Redirects) Status Codes- 由于原始 URL 被转移,服务器重定向到新 URL 的次数。

    • 404 (Not Found) Status Codes- 服务器找不到所请求的文档,或者由于客户机不是授权用户,服务器未对文档提供服务的次数。

    • 500 (Server Error) Status Codes- 发生服务器相关错误的次数。

    • Total Unique URLs- 启用访问日志后访问的唯一 URL 的数量。

    • Total Unique Hosts- 启用访问日志后,访问了服务器的唯一主机的数量。

    • Total Kilobytes Transferred- 启用了访问日志后,服务器传送的字节数(以 KB 为单位)。

  8. 选择是否生成常规统计信息。如果选择生成统计信息,请选择以下选项:

    • Find Top Number Seconds Of Log- 基于最近几秒钟内的信息生成统计信息。

    • Find Top Number Minutes Of Log-

    • 基于最近几分钟内的信息生成统计信息。

    • Find Top Number Hours Of Log- 基于最近几小时内的信息生成统计信息。

    • Find Number Users (If Logged)- 基于用户数信息生成统计信息。

    • Find Top Number Referers (If Logged)- 基于引用站点数量信息生成统计信息。

    • Find Top Number User Agents (If Logged)- 基于有关用户代理的信息(例如浏览器类型、浏览器版本以及操作系统)生成统计信息。

    • Find Top Number Miscellaneous Logged Items (If Logged)- 基于用户数信息生成统计信息。

  9. 选择是否生成列表。

    如果选择了生成列表,请指定要生成列表的项:

    • URLs Accessed- 显示访问的 URL

    • Number Most Commonly Accessed URL- 显示最常访问的 URL 或访问超过指定次数的 URL

    • URLs That Were Accessed More Than Number Times- 显示访问超过指定次数的 URL

    • Hosts Accessing Your Server- 显示访问了 Proxy Server 的主机

    • Number Hosts Most Often Accessing Your Server- 显示访问服务器最频繁的主机,或者已访问服务器超过指定次数的主机

    • Hosts That Accessed Your Server More Than Number Times- 显示访问服务器超过指定次数的主机

  10. 指定要查看结果的顺序

    按照希望各部分在报告中的顺序,赋予从 1 至 3 的优先级。如果选择不生成其中的任一项的优先级,该部分将自动被忽略。这些部分包括:

    • 查找总计

    • 常规统计信息

    • 生成列表

  11. 单击 "OK"。

    报告将显示在新窗口中。

通过命令行运行日志分析程序

要通过命令行分析访问日志文件,请运行 server-install/extras/flexanlg 目录下的 flexanlg 工具。

要运行 flexanlg,请在命令提示符处键入以下命令和选项:

./flexanlg [-n name] [-x] [-r] [-p order] [-i file]* [ -m metafile ]* [-o file][-c opts] [-t opts] [-l opts]

标记了 * 的选项可以重复。

You can display this information online by 
typing ./flexanlg -h.

-P: proxy log format                                  Default: no
-n servername: The name of the server
-x : Output in HTML                                   Default: no
-r : Resolve IP addresses to hostnames                Default: no
-p [c,t,l]: Output order (counts, time stats, lists)  Default: ctl
-i filename: Input log file                           Default: none
-o filename: Output log file                          Default: stdout
-m filename: Meta file                                Default: none
-c [h,n,r,f,e,u,o,k,c,z]: Count these item(s) -       Default: hnreuokc
    h: total hits
    n: 304 Not Modified status codes (Use Local Copy)
    r: 302 Found status codes (Redirects)
    f: 404 Not Found status codes (Document Not Found)
    e: 500 Server Error status codes (Misconfiguration)
    u: total unique URL’s
    o: total unique hosts
    k: total kilobytes transferred
    c: total kilobytes saved by caches
    z: Do not count any items.
-t [sx,mx,hx, xx,z]: Find time stats -      Default:s5m5h10u10a10r10x10
    s(number): Find top (number) seconds of log
    m(number): Find top (number) minutes of log
    h(number): Find top (number) hours of log
    u(number): Find top (number) users of log
    a(number): Find top (number) user agents of log
    r(number): Find top (number) referers of log
    x(number): Find top (number) for miscellaneous keywords
    z: Do not find any time stats.
-l [cx,hx]: Make a list of -                          Default: c+3h5
    c(x,+x): Most commonly accessed URL’s
             (x: Only list x entries)
             (+x: Only list if accessed more than x times)
    h(x,+x): Hosts (or IP addresses) most often accessing your server
             (x: Only list x entries)
             (+x: Only list if accessed more than x times)
    z: Do not make any lists.


         

查看事件 (Windows)

除了将错误记录到服务器错误日志,Proxy Server 还将严重的系统错误记录到事件查看器。事件查看器使您可以监视系统中发生的事件。在打开错误日志之前,可以使用事件查看器查看因基础配置问题而引起的错误。

Procedure使用事件查看器

  1. 从“开始”菜单中依次选择“程序”和“管理工具”。

    在“管理工具”程序组中选择“事件查看器”。

  2. 从“日志”菜单中选择“应用程序”。

    应用程序日志将显示在事件查看器中。Proxy Server 错误包含源标签 proxy-serverid

  3. 从“查看”菜单中选择“查找”,在日志中搜索这类标签之一。

    从“查看”菜单中选择“刷新”,查看更新后的日志条目。

    有关事件查看器的更多信息,请参见系统文档。