第三十一章 配置 Web Gateway 的默认参数 - 事件记录参数
事件日志级别字段指定 Web Gateway
写入 Web Gateway
事件日志的信息。日志记录选项定义为一串字符,每个字符代表一个日志记录命令。此处设置的日志级别值是系统(即所有 IRIS
服务器)的默认值。除非另有说明,可以为各个 IRIS
服务器设置不同的值。
可以通过CSP Web
管理页面菜单查看或清除日志。如下所示的日志记录参数主要用于故障排除:
Logging Option |
Function |
|
---|---|---|
E |
记录所有错误。此选项允许您监视连接失败。 | |
V |
详细:记录 Web Gateway 和 IRIS 系统之间的基本连接对话。使用此选项可以记录 Web Gateway 和 IRIS 服务器之间的战略通信点。该命令有 7 个级别(1 到 7 )。每个连续的级别都会记录更详细的信息。级别是累积的。例如,级别V3 包含为V1 和V2 指定的所有日志信息。 |
|
EV |
输入 EV 以打开基本事件记录。较高的日志级别会在日志文件中生成大量数据,并且只能用于诊断问题。对于生产系统,建议将日志级别设置为不高于 EV 。 |
|
V1 |
与V 相同。 |
|
V2 |
除了先前级别指定的信息之外,此级别还记录: 有关 Web Gateway 和 IRIS 之间的基本连接管理的信息(每个连接的启动点和关闭点)。从浏览器接收到的传输中断。 与 IRIS 的连接被强制关闭的情况(由于 IRIS 缺乏响应或连接无法恢复的其他错误)。状态感知(保留模式 1)会话中的访问冲突(例如,无效的会话 ID )。 |
|
V3 |
除了为先前级别指定的信息外,此级别还记录:IRIS 标头和 HTTP 标头。注意:当为单个服务器指定此日志记录级别时,不会记录请求标头,但会记录响应标头和其他数据。 |
|
V4 |
除了为先前级别指定的信息之外,此级别还记录: 有关状态感知会话的序列化的信息。 注意:当为单个服务器指定此日志记录级别时,不会记录请求标头,但会记录响应标头和其他数据。 |
|
V5 |
除了为先前级别指定的信息之外,此级别还记录通过 WebSocket 协议从 IRIS 接收和发送到IRIS 的数据缓冲区的内容。所有数据帧(如果适用)也会被记录。最后,还会在初始连接时记录有关所创建的 WebSocket 性质的更多信息。例如:WebSocket Connection WebSocket Connection Accepted by InterSystems IRIS: WSClassProtocolVersion=2; SharedConnection=0; NoDataFraming=2; BinaryData=1; 注意:当为单个服务器指定此日志记录级别时,不会记录请求标头,但会记录响应标头和其他数据。 |
|
V6 |
除了先前级别指定的信息之外,此级别还记录: 发送到 IRIS 的数据块标头。从 Web 服务器请求数据(多部分附件除外)。从 IRIS 接收的数据块的标头。注意:当为单个服务器指定此日志记录级别时,不会记录请求标头,但会记录响应标头和其他数据。 |
|
V7 |
除了为先前级别指定的信息外,此级别还记录: 从 IRIS 返回的完整内容。。注意:当为单个服务器指定此日志记录级别时,不会记录请求标头,但会记录响应标头和其他数据。 |
|
V9 |
记录传入的 HTTP 请求数据。记录所有 HTTP 请求的完整正文。该日志指令可以进一步扩展和完善。v9r:除了记录所有 HTTP 请求外,还记录所有 HTTP 响应。v9a :将所有 HTTP 请求记录到 Web Gateway 主目录中的 http.log 。v9b:按会话记录所有 HTTP 请求。在 Web Gateway 主目录中创建 http[session_id].log 形式的日志文件,其中 session_id 是 10 字节会话 ID 。v9m :将所有多部分帖子记录在 Web Gateway 主目录中。原始传入 HTTP 请求与各个组件以其编码和解码形式记录在一起。注意:当为单个服务器指定时,形式 V9 、V9r 、V9a 和 V9b 无效。这些形式的日志记录只能在默认级别启用。 |
|
s |
Sessions :记录有关会话令牌管理的信息:分配新会话 ID 的点。对于现有会话:指示会话令牌是否从 cookie 或表单/URL 变量 CSPCHD 中提取对于所有请求:传输到 IRIS 的最终会话 ID 。注意:当为单个服务器指定时,此日志记录选项无效。该选项只能在默认级别启用。 |
|
c | 连接:记录有关使用 Kerberos 库 (IRISCONNECT ) 建立的连接的信息。包含小写 c 的日志级别,以指示 Web Gateway 记录对所有调用的 IRISCONNECT 函数的完整审核,以及提供的输入参数和返回的结果。为简洁起见,IRIS 的输入和输出缓冲区的内容未记录在此级别。设置大写 C 的日志级别,除了 IRISCONNECT 函数调用之外,还记录输入和输出缓冲区的内容。除了 Web 网关提供的日志记录功能之外,还可以指示 IRISCONNECT 库生成记录其内部进程的详细跟踪。要另外请求生成 IRISCONNECT 跟踪,请在 c 指令中添加一个数字以指示所需的跟踪类型。例如,除了标准网关日志条目之外,日志级别 c3 还会生成级别 3 IRISCONNECT 跟踪。有效的 IRISCONNECT 跟踪级别为 1 到 6 ,定义如下:6 — errors 5 — warnings 4 — informational message 3 — output data 2 — input data 1 — normal events 与 Web Gateway 日志级别不同,IRISCONNECT 跟踪在较高日志级别上不太详细。因此,日志级别 1 提供最详细的跟踪文件。 Web Gateway 指示 IRISCONNECT 库在 Web Gateway 主目录中名为 irisconnect.log 的文件中维护其跟踪。此文件的安全注意事项和权限与 Web Gateway 事件日志的安全注意事项和权限相同。注意: IRISCONNECT 跟踪只能在每个进程的基础上激活,因此它不能真正与服务器隔离。配置完成后,在尝试新的 SSL 连接之前不会触发跟踪日志生成。 |
|
t | 传输:记录 Web 网关接收和发送的原始数据缓冲区。该选项的格式为:t[x][y] 。x 的值指示 Web 网关记录在 Web 网关和 IRIS 之间传输的数据缓冲区,y 的值指示 Web 网关记录在 Web 网关和客户端之间通过托管 Web 服务器传输的数据缓冲区。x and y can take the following values: 0: No transmission data to be recorded. 1: Record request data only. 2: Record response data only. 3: Record request and response data. 使用小写 t 会导致 Web Gateway 仅记录每个缓冲区传输数据的前 256 字节。使用大写 T 会导致 Web Gateway 记录完整的数据缓冲区。所有不可打印的字符都以其转义形式记录。注意:当为单个服务器指定此日志记录级别时,y 选项记录发送到客户端的响应缓冲区,但不记录来自客户端的传入请求缓冲区。 |
|
p[n] |
性能:指示网关捕获信息以评估 CSP 安装的性能。n 是秒数(总服务时间),低于该秒数则不会为请求记录数据。例如,指令 p 记录所有请求的数据,p2 记录服务时间超过 2 秒的请求的数据。记录以下信息。 服务请求的总时间:服务请求所花费的总时间(从请求到达 Web Gateway 的时间到响应数据的最后一个字节离开 Web Gateway 环境的时间)。获取与 IRIS 的[新]连接:从请求到达 Web 网关到为请求提供服务而保留与 IRIS 的连接之间所花费的时间。记录的消息指示在此期间是否创建了新连接(而不是重用现有连接)。向 IRIS 发送请求:从Web 服务器读取请求数据的第一个字节和最后一个字节并将其分派到 InterSystems IRIS 之间所花费的时间。在 InterSystems IRIS 中处理请求:将请求数据的最后一个字节分派到 InterSystems IRIS 与 Web 网关接收到响应数据的第一个字节之间所花费的时间。 从 InterSystems IRIS 接收响应:从 InterSystems IRIS 接收响应数据的第一个字节和最后一个字节并将其发送到 Web 服务器之间所花费的时间。 |
|
pn | 提供根据性能监视器的结果有条件地激活详细日志记录的功能。当您想要记录有关处理时间超过一定时间的请求的更多信息时非常有用。 n 是记录性能数据的可选较低服务时间阈值(以秒为单位),v 是所需的详细日志级别。 此机制适用于详细事件日志和 HTTP 日志记录设置。记录错误信息的请求 e 始终应用于所有请求,无论性能监视器是否记录它们。 例如:ep5(v9)该选项记录所有请求(e)在处理请求时遇到的任何错误。此外,它还记录 HTTP 请求消息 (v9),但仅记录处理时间超过 5 秒的请求 (p5)。 网关事件日志记录的设计目的是对性能影响最小,并且在消耗的系统资源方面占用的空间较小。因此,存在以下限制: 每个单独的设置只能指定一种详细日志级别。换句话说,不可能为性能监视器记录的请求指定 v9 级别,并为所有其他请求指定 v2 级别。例如,如果指定了 v2p5(v9),则仅遵循有条件应用的 v9 级别。 Web 网关配置允许您在全局和每个服务器的基础上指定事件日志级别。当详细日志记录生效时,一些记录会在识别目标 InterSystems IRIS 服务器之前写入,因此,为了获得最佳结果,最好在默认参数下在全局级别指定条件日志记录。 |
|
pp[n] | 提供详细的时序信息如下: 请求的预处理:识别目标 InterSystems IRIS 服务器所花费的时间;包括从 Web 服务器的初始切换和识别服务器的基本请求处理。 获取与 InterSystems IRIS 的[新]连接:分配与相应 InterSystems IRIS 服务器的连接所需的时间。指示是否创建新连接(而不是重用现有连接)。 格式请求:解析和格式化请求消息以传输到 InterSystems IRIS 所花费的时间。 向 InterSystems IRIS 发送请求:从 Web 服务器读取请求数据并发送到 InterSystems IRIS 的第一个字节和最后一个字节之间所花费的时间。 在 InterSystems IRIS 中处理请求:发送到 InterSystems IRIS 的请求数据的最后一个字节与 Web 网关接收到的响应数据的第一个字节之间所花费的时间。 响应的后处理(b):当需要内容长度标头时,它将报告通过 Web 服务器将响应数据分派回客户端所花费的时间。 响应的后处理(c):从发送响应到 Web 网关准备好从 InterSystems IRIS 读取响应页脚数据之间所花费的时间。页脚数据是 Web Gateway 和 InterSystems IRIS 之间的内部通信协议的一部分,包括控制信息(例如:更改会话保留设置的指令)。 从 InterSystems IRIS 接收页脚:从 InterSystems IRIS 接收响应页脚数据所花费的时间。 页脚后处理:处理页脚数据和响应收到的指令所花费的时间。 释放与 InterSystems IRIS 的连接:释放与 InterSystems IRIS 的活动连接所需的时间。 清理:释放用于服务请求的资源并将控制权返回到托管 Web 服务器所花费的时间。 |
|
W (or w) | 在 Windows 上,如果发生崩溃,则会生成内存转储。该选项不区分大小写。 在 AIX 上,使用 gencore 实用程序生成核心文件。该选项不区分大小写。 在 Linux 或 MacOS 上,此选项区分大小写。指定 w 使用 gcore 生成标准核心转储。指定 W 通过执行 gcore -a 将所有内存映射(包括共享内存)转储到核心文件中。 在 Unix 系统上,必须满足以下先决条件: gcore(Linux 或 MaxOS)或 gencore (AIX) 存在于计算机上,并且可通过 PATH 环境变量使用。在 Linux 和 MacOS 系统上,gcore 的版本必须支持 -a 命令行选项。 Web 服务器工作进程需要对 Web Gateway 模块所在目录的写入权限。在默认安装中,此目录为 /opt/webgateway/bin。 非根进程需要权限才能生成在同一用户 ID 下运行的另一个进程的核心转储。在 MacOS 上,必须禁用系统完整性保护。 在 Linux 上,如果存在 Yama 安全模块(如在 RHEL 和 Ubuntu 系统上),请执行以下命令以授予所需的权限,直到下次重新启动: echo 0
|
sudo tee /proc/sys/kernel/yama/ptrace_scope。要永久授予此权限,请创建或编辑文件 /etc/sysctl.d/10–ptrace.conf。如果有以“kernel.yama.ptrace_scope”开头的行,请将其更改为“kernel.yama.ptrace_scope = 0”。如果不存在这样的行,请添加“kernel.yama.ptrace_scope = 0”,然后执行 sysctl —p。 注意:出于安全原因,建议仅临时授予此类权限。 |