![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
Intelligent Management:控制 plugin-cfg.xml 文件的生成
可以覆盖由随需应变路由器 (ODR) 自动生成的 plugin-cfg.xml 文件的缺省属性值。
下列元素的格式设置为 com.ibm.ws.odr.plugincfg.<element>.<attributeName>,其中 <element> 是配置文件关键字的名称,该关键字表示包含属性的元素,而 <attributeName> 是位于该元素内的属性的名称。将元素配置为 JVM 系统属性。要在管理控制台中设置 ODR 上的 JVM 系统属性,请单击
。Config
此元素启动插件配置文件。它可以包含一个或多个下列元素和属性:
- com.ibm.ws.odr.plugincfg.config.ASDisableNagle
- 指定用户是否想禁用插件和服务器间连接的 Nagle 算法。
缺省值为 false。
- com.ibm.ws.odr.plugincfg.config.AcceptAllContent
- 指定当请求头中包含 Content-Length 或 Transfer-encoding 头时,是否可以在 POST、PUT、GET 和 HEAD 请求中包括内容。您可以为此属性指定下列某个值:
- 如果内容是期望内容,并将为所有请求读取该内容,请指定 true。
- 如果内容是期望内容,并将仅为 POST 和 PUT 请求读取该内容,请指定 false。
缺省值为 false。
缺省值为 true。
- com.ibm.ws.odr.plugincfg.config.AppServerPortPreference
- 指定用于为 sendRedirect 构建 URI 的端口号。
缺省值是 HostHeader。
- com.ibm.ws.odr.plugincfg.config.ChunkedResponse
- 指定当响应中出现“Transfer-Encoding : Chunked”响应头时,插件是否会将发送到客户机的响应分组。
您可以为此属性指定下列某个值:
- True:当响应中出现“Transfer-Encoding : Chunked”响应头时,插件会将发送到客户机的响应分块。
- 如果不要将该响应分块,那么指定 false。
缺省值为 false。
- com.ibm.ws.odr.plugincfg.config.IISDisableNagle
- 指定是否想禁用 nagle 算法。
缺省值为 false。
- com.ibm.ws.odr.plugincfg.config.IISPluginPriority
- 指定 Web 服务器装入插件的优先级。您可以为此属性指定下列某个值:
- 高
- 中
- 低
缺省值是高。
- com.ibm.ws.odr.plugincfg.config.IgnoreDNSFailures
- 指定启动时插件是否忽略配置中的 DNS 故障。设置为 true 时,如果每个 ServerCluster 中至少有一个服务器可解析主机名,那么插件将忽略配置中的 DNS 故障并成功启动。主机名无法解析的所有服务器在配置生存期内均标记为不可用。在以后路由请求期间不会再解析主机名。如果发生 DNS 故障,那么系统会向插件日志文件写入一条日志消息,并且插件初始化进程会继续,而不是 Web 服务器不启动。
缺省值为 false。
- com.ibm.ws.odr.plugincfg.config.RefreshInterval
- 插件应该检查配置文件是否存在更新或更改的时间间隔(以秒计)。插件会检查自装入插件配置以来,该文件是否发生过任何修改。
缺省值是 60。在开发环境中会频繁发生更改,请将该时间间隔设置为小于 60 秒。在生产中,应设置高于缺省值的一个值,因为不会经常更新配置。如果插件重新装入未成功,那么插件日志文件将包含一条消息,并且在成功重新装入插件配置文件之前,将使用先前配置。如果发生错误,请参阅插件日志文件,以获取更多信息。
- com.ibm.ws.odr.plugincfg.config.ResponseChunkSize
- 插件文件读取响应主体(以 64k 块计),直到读取所有的响应数据,这会导致包含大量数据的响应主体请求的性能问题。
使用此属性可指定读取响应主体时要使用的最大块大小。例如,Config ResponseChunkSize="N">,其中 N 等于块大小(以千字节计)。
如果响应主体的内容长度是未知的,那么会分配 N 千字节的缓冲区大小,并且以 N 千字节大小的块读取主体,直到读完整个主体。如果内容长度已知,那么会使用大小为内容长度或 N 的缓冲区来读取响应主体。
缺省块大小为 64k。
- com.ibm.ws.odr.plugincfg.config.VHostMatchingCompat
- 指定用于匹配虚拟主机的端口号。可以指定以下值:
- True:通过使用接收到请求的端口号进行物理匹配。
- False:通过使用在主机头中包含的端口号进行逻辑匹配。
缺省值为 False。
- com.ibm.ws.odr.plugincfg.odrIncludeStopped
- 指定允许包括停止的 ODR。可以指定以下值:
- True:包括停止的 ODR。
- False:不包括停止的 ODR。
缺省值为 False。
- com.ibm.ws.odr.plugincfg.config.TrustedProxyEnable
- 指定可信代理。可以指定以下值:
- True:包括可信代理。
- False:不包括可信代理。
缺省值为 False。可信代理从
管理控制台页面上的定义可信安全代理收集而来。
日志
日志描述由插件写的日志消息的位置和级别。如果配置文件中未指定日志,那么日志消息可能写入错误日志中。
- com.ibm.ws.odr.plugincfg.log.Name
- 插件将错误消息写入到的日志文件的标准路径。
缺省值是 profileRoot/logs/http_plugin.log。
- com.ibm.ws.odr.plugincfg.log.LogLevel
- 插件向日志写入的日志消息的详细级别。您可以为此属性指定下列某个值:
- Trace。详细记录请求过程中的所有步骤。
- Stats。记录为每个请求选择的服务器和与请求处理相关的其他负载均衡信息。
- Warn。 记录异常请求处理产生的所有警告和错误消息。
- Error。仅记录异常请求处理产生的错误消息。
- Debug。记录处理请求时执行的所有关键步骤。
- Detail。记录关于请求和响应的所有信息。
缺省值是 Error。警告:在跟踪级别会记录大量消息,这可能导致文件系统很快被填满。决不能在正常运行的环境中使用跟踪设置,因为它会对性能造成负面影响。
ServerCluster
此元素是一组服务器,配置这些服务器通常用于维护相同类型的请求。
最简单的情况是集群仅包含一个服务器定义。当您定义多台服务器时,该插件通过使用循环法或 Random 算法跨定义的服务器完成负载均衡。缺省值为 Round Robin。
- com.ibm.ws.odr.plugincfg.cluster.CloneSeparatorChange
- 某些普及型设备无法处理冒号字符(:),该字符用于分隔与会话亲缘关系联合的克隆标识。此属性告诉插件希望将加号 (+) 作为克隆分隔符。必须更改服务器配置,以便服务器还可用加号字符分隔克隆标识。
缺省值为 false。
- com.ibm.ws.odr.plugincfg.cluster.LoadBalance
- 循环法实现具有随机起始点。随机选择第一台服务器,并使用循环法值从点转发选择服务器。此实现可确保在基于多进程的 Web 服务器中,将第一个请求发送到同一服务器时不会启动所有进程。
缺省负载均衡类型是 Round Robin。
- com.ibm.ws.odr.plugincfg.cluster.PostSizeLimit
- 插件允许尝试将请求发送到服务器的请求内容的最大字节数(按字节计)。如果接收到的请求大于此大小,那么插件会结束该请求。
缺省值为 -1 个字节,指示发布大小没有限制。
- com.ibm.ws.odr.plugincfg.cluster.RemoveSpecialHeaders
- 在将请求转发到服务器之前,插件会将一些特殊的头添加到请求。这些头存储关于应用程序将要使用的请求的信息。缺省情况下,插件在添加所需头时,会从入局请求中移除这些头。
缺省值为 true。如果将此属性设置为 False,那么不从入局请求中移除头会引入潜在的安全漏洞。
- com.ibm.ws.odr.plugincfg.cluster.RetryInterval
- 指定时间长度的整数,这段时间应该是从标记服务器的时间到插件重试连接的时间。
缺省值为 60 秒。
服务器
此元素是一个服务器实例,可根据插件配置的路由规则将其配置为处理路由到该实例的请求。该服务器元素与在本地工作站或远程工作站上运行的应用程序服务器相对应。
- com.ibm.ws.odr.plugincfg.server.ServerIOTimeout
- 启用插件可设置超时值(以秒计),用于将请求发送至服务器并从服务器读取响应。为此属性选择值时,请考虑以下内容:
- 服务器可能需要几分钟才能处理请求。将 ServerIOTimeout 属性的值设置得过小可能会导致插件将不正确的服务器错误响应发送到客户机。
- 如果未设置值,那么插件会使用缺省值来将请求写入服务器并从服务器读取响应,直到 TCP 连接超时为止。缺省值为 900。
- 注: 对于较早的产品版本,缺省值为 0。如果插件使用缺省超时值 0,那么可能会发生错误。
有关如何配置 ServerIOTimeout 属性的更多信息,请参阅 Web 服务器插件配置技术说明。
- com.ibm.ws.odr.plugincfg.server.ConnectTimeout
- 启用插件来执行与应用程序服务器的无阻塞连接,当插件无法联系目标以确定端口是否可用时,此类连接很有益。
如果没有指定值,那么插件将执行阻塞连接,在此连接中插件会一直等待,直到操作系统超时并允许插件将服务器标记为不可用。大于 0 的值指定插件等待成功连接的秒数。如果未能在此时间间隔内建立连接,那么插件将把此服务器标记为不可用,并继续处理集群中定义的其他服务器中的一个服务器。
缺省值是 0。
- com.ibm.ws.odr.plugincfg.server.ExtendedHandShake
- 当代理防火墙在插件和应用程序服务器之间时,使用此属性。在这种情况下,插件不会像期望的那样执行故障转移。
当 connect() 结束时插件将服务器标记为停止。但是,当代理防火墙在插件和应用程序服务器之间时,即使后端应用程序服务器已停止,connect() 也会成功。这导致插件不会正确地故障转移到其他应用程序服务器。
该插件包含此属性可确保在发送请求之前启动。
缺省值为 false。
- com.ibm.ws.odr.plugincfg.server.MaxConnections
- 指定可以在任何时间点流经 Web 服务器进程的服务器暂挂连接的最大数量。
将缺省值设置为 -1。
- com.ibm.ws.odr.plugincfg.cluster.WaitForContinue
- 指定在将请求内容发送到应用程序服务器之前,是否要使用 HTTP 1.1 100 Continue 支持。缺省值为 false。插件在发送请求内容之前,不会等待来自应用程序服务器的“100 Continue”响应。
对于 POST 请求会忽略此属性,以防止当应用程序服务器由于超时而关闭连接时发生故障。
将插件配置为与特定类型的代理防火墙配合使用时,启用此功能。
属性
- com.ibm.ws.odr.plugincfg.property.ESIEnable
- 用来启用或禁用 Edge Side Include (ESI) 处理器。如果禁用了 ESI 处理器,那么将忽略文件中的其他 ESI 元素。
缺省值为 true。
- com.ibm.ws.odr.plugincfg.property.ESIMaxCacheSize
- 一个整数,它指定高速缓存的最大大小(以 1K 字节计)。高速缓存的缺省最大大小是 1024K 字节(1 兆字节)。如果高速缓存已满,那么要从高速缓存逐出的第一个条目是最接近其截止时间的条目。
- com.ibm.ws.odr.plugincfg.property.ESIInvalidationMonitor
- 指示 ESI 处理器是否可从应用程序服务器接收失效信息。
缺省值为 false。
- com.ibm.ws.odr.plugincfg.property.https.keyring
- 使用此元素可在将传输协议设置为 HTTPS 时指定初始化参数。
此属性是由传输识别的受支持的名称。keyring 元素的缺省值是 profileRoot/etc/plugin-key.kdb。
- com.ibm.ws.odr.plugincfg.property.https.stashfile
- 暂存文件的缺省值是 profileRoot/node/etc/plugin-key.sth
- com.ibm.ws.odr.plugincfg.property.PluginInstallRoot
- 指定插件的安装路径。缺省值是 ""。但是,需将此值设置为插件安装根目录的标准路径,否则,该属性不会显示在 plugin-cfg.xml 文件中。
plugin-cfg.xml 文件生成注意事项
- 禁用自动生成。将单元定制属性 ODCPluginCfgDisabled_<genDefID> 设置为 true。
- 要生成新插件,请运行此命令:
其中:<WAS_HOME>/bin/wsadmin.sh -lang jython -f <WAS_HOME>/bin/manageODC.py generateHAPluginCfgs <generationDefinitionIDs> <nodeName> <serverName>
- generationDefinitionIDs
- 是 HAPluginCfgGeneration 标识的逗号分隔列表,格式为 ODCPluginCfg_<genDef>。
- nodeName
- 是执行生成的节点的名称。
- serverName
- 是执行生成的进程的名称。除 XDAGENT 进程以外,任何 Intelligent Management 扩充进程都可以根据需求生成 HAPluginCfgs 配置。例如:
<WAS_HOME>/bin/wsadmin.sh -lang jython -f <WAS_HOME>/bin/manageODC.py generateHAPluginCfgs ODCPluginCfg_1,ODCPluginCfg_2 dmgrNodeName dmgr
ODCPluginCfgMinGenerationDelay = 10
配置的 HAPluginCfgGeneration 定义最多每 10 分钟重新生成一次。如果生成器接收到重新构建 pluginCfgs 的通知,那么它将延迟在最近 10 分钟内写入的 pluginCfgs 的生成。要限制 ODR 生成的 plugin-cfg.xml 文件的重新生成频率,请将 JVM 属性 com.ibm.ws.odr.plugincfg.minGenerationDelay 设置为特定值,该值表示可能的两次生成之间的时间间隔(以分钟为单位),然后重新启动 ODR。
缺省情况下,配置的静态运行时权重值将用于将已停止的 ODR 进程包含在生成的 plugin-cfg.xml 文件中。
- 对于 HAPluginCfgGenerator,将单元定制属性 ODCPluginCfgOdrIncludeStoppedStatic 设置为 false。
- 对于 ODR 生成的 plugin-cfg.xml 文件,将 JVM 属性 com.ibm.ws.odr.plugincfg.odrIncludeStoppedStatic 设置为 false,然后重新启动 ODR。