使用 wsadmin 脚本编制来配置 HPEL
可以使用 wsadmin 脚本编制来配置高性能可扩展日志记录 (HPEL) 日志和跟踪框架。 使用本主题中的示例作为构建您自己 wsadmin 脚本的指南。
有关此任务
变量 | 描述 |
---|---|
mycell | 单元的名称 |
myNode | 节点的主机名 |
myserver | 服务器的名称 |
过程
- 使用 AdminConfig 对象来配置 HPEL。
对于使用 AdminConfig 对象进行的更改,将在您下次启动服务器时生效。
- 更改跟踪规范。
以下示例表明如何将跟踪规范更改为 *=info:com.ibm.ws.classloader.*=all
HPELService = AdminConfig.getid("/Cell:myCell/Node:myNode/Server:myServer/ HighPerformanceExtensibleLogging:/") AdminConfig.modify(HPELService, "[[startupTraceSpec *=info:com.ibm.ws.classloader.*=all]]") AdminConfig.save()
- 更改日志存储库的大小。
以下示例表明如何设置 HPEL 以在存储库大小接近 65 MB 时自动从日志存储库中删除最旧的内容。 指定 HPELTrace 或 HPELTextLog(而非 HPELLog)以更改 HPEL 跟踪存储库或 HPEL 文本日志的设置。
HPELService = AdminConfig.getid("/Cell:myCell/Node:myNode/Server:myServer/ HighPerformanceExtensibleLogging:/") HPELLog = AdminConfig.list("HPELLog", HPELService) AdminConfig.modify(HPELLog, "[[purgeMaxSize 65]]") AdminConfig.save()
- 更改日志存储库位置。
以下示例说明如何将 HPEL 日志存储库目录名称更改为 /tmp/myDirectory。 指定 HPELTrace 或 HPELTextLog(而非 HPELLog)以更改 HPEL 跟踪存储库或 HPEL 文本日志的设置。
HPELService = AdminConfig.getid("/Cell:myCell/Node:myNode/Server:myServer/ HighPerformanceExtensibleLogging:/") HPELLog = AdminConfig.list("HPELLog", HPELService) AdminConfig.modify(HPELLog, "[[dataDirectory /tmp/myDirectory]]") AdminConfig.save()
- 禁用日志记录缓冲区。
以下示例说明如何将 HPEL 日志存储库更改为不使用日志记录缓冲区。 指定 HPELTrace 或 HPELTextLog(而非 HPELLog)以更改 HPEL 跟踪存储库或 HPEL 文本日志的设置。
HPELService = AdminConfig.getid("/Cell:myCell/Node:myNode/Server:myServer/ HighPerformanceExtensibleLogging:/") HPELLog = AdminConfig.list("HPELLog", HPELService) AdminConfig.modify(HPELLog, "[[bufferingEnabled false]]") AdminConfig.save()
最佳实践: 在几乎所有情况下启用日志记录缓冲。 仅当服务器发生意外故障并且在停止之前无法将已缓冲的内容写至磁盘时,才应该禁用日志记录缓冲。 - 每天在指定时间开始写入到新日志文件。
以下示例说明如何使 HPEL 日志存储库在每天下午 3 点启动新日志文件。 指定 HPELTrace 或 HPELTextLog(而非 HPELLog)以更改 HPEL 跟踪存储库或 HPEL 文本日志的设置。
HPELService = AdminConfig.getid("/Cell:myCell/Node:myNode/Server:myServer/ HighPerformanceExtensibleLogging:/") HPELLog = AdminConfig.list("HPELLog", HPELService) AdminConfig.modify(HPELLog, "[[fileSwitchTime 15]]") AdminConfig.modify(HPELLog, "[[fileSwitchEnabled true]]") AdminConfig.save()
- 更改日志存储库的空间不足操作。
以下示例说明如何更改 HPEL 日志存储库的空间不足操作。 指定 HPELTrace 或 HPELTextLog(而非 HPELLog)以更改 HPEL 跟踪存储库或 HPEL 文本日志的设置。
HPELService = AdminConfig.getid("/Cell:myCell/Node:myNode/Server:myServer/ HighPerformanceExtensibleLogging:/") HPELLog = AdminConfig.list("HPELLog", HPELService) AdminConfig.modify(HPELLog, "[[outOfSpaceAction PurgeOld]]") AdminConfig.save()
- 更改跟踪规范。
- 使用 AdminControl 对象来配置 HPEL。您使用 AdminControl 对象进行的更改将立即生效。
- 更改跟踪规范。
以下示例表明如何将跟踪规范更改为 *=info:com.ibm.ws.classloader.*=all
HPELControlMBean = AdminControl.queryNames('cell=myCell,node=myNode, type=HPELControlService,process=myServer,*') AdminControl.setAttribute(HPELControlMBean, "traceSpecification", "*=info:com.ibm.ws.classloader.*=all")
- 更改日志存储库的大小。
以下示例表明如何设置 HPEL 以在存储库大小接近 65 MB 时自动从日志存储库中删除最旧的内容。 指定 HPELTraceDataService 或 HPELTextLogService(而非 HPELLogDataService)以更改 HPEL 跟踪存储库或 HPEL 文本日志的设置。
HPELLogDataMBean = AdminControl.queryNames('cell=myCell, node=myNode,type=HPELLogDataService,process=myServer,*') AdminControl.setAttribute(HPELLogDataMBean, "purgeMaxSize", "65")
- 更改日志存储库位置。
以下示例说明如何将 HPEL 日志存储库目录名称更改为 /tmp/myDirectory。 指定 HPELTraceDataService 或 HPELTextLogService(而非 HPELLogDataService)以更改 HPEL 跟踪存储库或 HPEL 文本日志的设置。
HPELLogDataMBean = AdminControl.queryNames('cell=myCell, node=myNode,type=HPELLogDataService,process=myServer,*') AdminControl.setAttribute(HPELLogDataMBean, "dataDirectory", "/tmp/myDirectory")
- 禁用日志记录缓冲区。
以下示例说明如何将 HPEL 日志存储库更改为不使用日志记录缓冲区。 指定 HPELTraceDataService 或 HPELTextLogService(而非 HPELLogDataService)以更改 HPEL 跟踪存储库或 HPEL 文本日志的设置。
HPELLogDataMBean = AdminControl.queryNames('cell=myCell,node=myNode, type=HPELLogDataService,process=myServer,*') AdminControl.setAttribute(HPELLogDataMBean, "bufferingEnabled", "false")
最佳实践: 在几乎所有情况下启用日志记录缓冲。 仅当服务器发生意外故障并且在停止之前无法将已缓冲的内容写至磁盘时,才应该禁用日志记录缓冲。 - 每天在指定时间开始写入到新日志文件。
以下示例说明如何使 HPEL 日志存储库在每天下午 3 点启动新日志文件。 指定 HPELTrace 或 HPELTextLog(而非 HPELLog)以更改 HPEL 跟踪存储库或 HPEL 文本日志的设置。
HPELLogDataMBean = AdminControl.queryNames('cell=myCell,node=myNode, type=HPELLogDataService,process=myServer,*') AdminControl.setAttribute(HPELLogDataMBean, "fileSwitchTime", "15") AdminControl.setAttribute(HPELLogDataMBean, "fileSwitchEnabled", "true")
- 更改日志存储库的空间不足操作。
以下示例说明如何更改 HPEL 日志存储库的空间不足操作。 指定 HPELTraceDataService 或 HPELTextLogService(而非 HPELLogDataService)以更改 HPEL 跟踪存储库或 HPEL 文本日志的设置。
HPELLogDataMBean = AdminControl.queryNames('cell=myCell,node=myNode, type=HPELLogDataService,process=myServer,*') AdminControl.setAttribute(HPELLogDataMBean, "outOfSpaceAction", "PurgeOld")
- 更改跟踪规范。