首次故障数据捕获 (FFDC)
FFDC 功能可即时收集有关导致故障的事件和状况的信息。 这些文件中的已捕获数据可用于分析问题。 FFDC 主要由 IBM 服务人员使用。 存在 FFDC 消息不总是意味着有问题。 发生正常恢复的情况下,不需要采取任何其他操作。 在最大天数之后,将自动从系统中删除这些文件。
收集信息并将其保存在日志文件中后,FFDC 将控制权返回给受影响的引擎。
在收集信息(这些信息针对生成异常的服务方区域进行了唯一标识)并将其保存在日志文件中后,FFDC 会将控制权返回给受影响的引擎。
缺省情况下,在创建 FFDC 日志文件七天之后会自动将其清除。 如果您在意 FFDC 日志文件使用的空间量,那么可以配置清除之间的天数。
本产品中提供了两个 FFDC 实现:
- WebSphere FFDC,这是旧的 FFDC 实现。 此 FFDC 只能在 WebSphere 产品中使用。
- IBM FFDC,这是一个更加组件化且更通用的实现,仅依赖于 JDK。 此 FFDC 可以在客户机进程中使用,并且可以由非 WebSphere 产品使用,因为它能够插入到非 WebSphere 数据收集器、格式化程序、提供程序和侦听器。
这些 FFDC 实现均支持可使用 Java 虚拟机 (JVM) 环境变量 com.ibm.ffdc.log 配置的 OnDirProvider 类型功能。 OnDirProvider 功能包含一个内置提供程序,可将事件存储为目录中的单独文件,以及一个单独摘要文件。 可以将 JVM 环境变量 com.ibm.ffdc.log 设置为以下值:
- <文件名> , 在哪里文件名是单个文件的名称或目录路径。
- 如果 file_name 存在,并且是单个文件的名称,那么 FFDC 收集的所有事件和摘要报告信息都将追加到该文件中。
- 如果 file_name 存在并且是目录路径,那么只要发生事件,便会在该目录中创建一个新文件,并且该事件的所有事件和摘要报告信息都将写入到这一新创建的文件中。 事件还将添加到此目录中的摘要报告。
- 如果文件名以文件分隔符(\ 或 /)结尾。 但指定名称的文件不存在,名为文件名被建造。 然后,只要发生事件,便会在该目录中创建一个新文件,并且该事件的所有事件和摘要报告信息都将写入到这一新创建的文件中。 事件还将添加到此目录中的摘要报告。用法示例:
Name: com.ibm.ffdc.log Value: C:\my_FFDC_CP\ - 如果文件名没有以文件分隔符 (\ 或 /) 结尾。 并且具有指定名称的文件不存在,则创建一个文件并赋予指定的名称。 然后,FFDC 收集的所有事件和摘要报告信息都将追加到该文件中。用法示例:
Name: com.ibm.ffdc.log Value: C:\my_FFDC_CP_log
- System.out,将事件和摘要报告信息附加到 stdout 输出流中。
- System.err,将事件和摘要报告信息附加到 stderr 输出流中。 System.err 是 Java 环境变量 com.ibm.ffdc.log 的缺省值。
- Suppress,导致废弃 FFDC 收集的所有信息。
要利用 OnDirProvider 功能,您需要进行的唯一配置更改是为 JVM 环境变量 com.ibm.ffdc.log 指定一个值。 新的 FFDC 还提供了机制以充分选择此提供程序或使用您自己的 WebSphere 提供程序。
变量 com.ibm.ffdc.log 还可以用于重定向产品中创建的 FFDC 事件和摘要。 如果要针对此目的使用变量 com.ibm.ffdc.log,那么必须将目录指定为变量值。 因此,建议是,如果此变量在 WebSphere Application Server 环境中使用,那么此变量的指定是以文件分隔符(/ 或 \\)结束,以避免冲突。
避免麻烦:如果对于您的环境而言,FFDC 信息的自动清除的默认设置太长,请参阅配置第一次故障数据捕获日志文件清除主题以获取有关如何修改 FFDC 信息在系统上的保留时间长度的描述。