使用日志分析实用程序查明问题

关于日志分析实用程序

日志分析实用程序是一种命令行实用程序,可通过分析相应的日志文件帮您快速查明 Oracle Enterprise Performance Management System 组件报告的问题的原因。由于此实用程序可以自动进行日志文件分析,因此您无需手动查找和扫描 EPM System 日志文件来查明问题。通过运行此实用程序,可以快速获得解决问题或将问题上报到 Oracle 技术支持部门所需的信息。此实用程序在安装了 Oracle Hyperion Foundation Services 的服务器上运行,可访问并分析 EPM System 实例的 Oracle Hyperion Shared Services Registry 中已识别的所有服务器上的日志文件。

使用日志分析实用程序可以:

  • 列出某个时间段内发生的 EPM System 错误。系统问题与服务、组件间通信错误和用户目录通信错误有关。

  • 列出某个时间段内发生的功能问题。功能问题与 EPM System 组件功能有关;例如,Oracle Essbase 计算运行期间失败,或者 Oracle Hyperion PlanningOracle Hyperion Financial Management 中表单加载过程失败。

  • 通过日志文件跟踪执行上下文 ID (ECID),以跟踪各 EPM System 组件间的用户会话。ECID 是用于关联属于相同请求执行流的事件的唯一标识符。ECID 是 Oracle 标准的唯一 ID。

先决条件

有权访问 EPM_ORACLE_INSTANCE/bin(例如,Windows 服务器上的 C:/Oracle/Middleware/user_projects/epmsystem1/bin)的任何用户都可以运行日志分析实用程序

  • 运行日志分析实用程序的用户必须拥有以下文件的执行权限:

    Windows:EPM_ORACLE_INSTANCE/bin/loganalysis.bat

  • 运行日志分析实用程序的用户对托管 EPM System 组件的所有服务器计算机上 MIDDLEWARE_HOME/user_projects 中的文件和目录必须具有读取权限。此外,用户还必须对实用程序创建其报告的目录具有写入权限。

    如果日志文件没有存储在 MIDDLEWARE_HOME/user_projects 中的某个位置,则运行该实用程序的用户对位于自定义位置的日志文件必须具有读取权限。

日志分析实用程序报告的位置

日志分析实用程序会根据您指定的命令选项创建 HTML 报告,并将其存储在 EPM_ORACLE_INSTANCE/diagnostics/reports 中,例如,Windows 服务器上的 C:/Oracle/Middleware/user_projects/epmsystem1/diagnostics/reports 中。

通常情况下,日志分析实用程序使用以下报告命名约定:

LogAnalysis_Report_YYYY_MM_DD_HR_MIN_SEC.html

日志分析实用程序提供了可用于指定唯一报告名称的命令选项。

注:

如果日志分析实用程序报告的内容出现乱码,请从日志分析实用程序可执行文件 (EPM_ORACLE_INSTANCE/bin/loganalysis.batEPM_ORACLE_INSTANCE/bin/loganalysis.sh) 删除 -Dfile.encoding=UTF-8 指令,然后重新生成报告。

日志分析实用程序选项

有关使用日志分析实用程序的选项:

loganalysis [-all | -system | -functional | -m [ERROR | INCIDENT_ERROR
WARNING | NOTIFICATION | TRACE]] [-t [<TIME FROM> <TIME TO>] -tday <days> -thour <hours> -tmin <minutes>] -ecid <ecid> -s <SEARCH STRING> -d <Offline log files directory> -f <file with message ids to filter from the report> -maxsize <max report size in MB>

表 3-1 日志分析实用程序参数

参数 说明
-h 显示帮助页面。

示例:loganalysis -h

-system

生成包含 ERRORINCIDENT_ERROR 日志消息类型的报告。通常由 EPM System IT 管理员使用。

示例:loganalysis -system

-functional 生成包含 WARNINGNOTIFICATIONTRACE 类型消息的详细报告。通常由 EPM System 功能管理员使用。

示例:loganalysis -functional

-ecid <ECID>

生成用于跟踪各 EPM System 组件间执行的活动的报告。将 ECID 作为参数。

此报告用于跟踪各 EPM System 组件间的错误。通常,在通过使用 -all-system-functional 选项运行报告查明了错误并希望对导致错误的活动进行跟踪时,会使用此选项。请参阅“查找用户活动的 ECID”。

注:

包含脱字号 (^) 的 ECID 必须用引号引起来。

示例:loganalysis -ecid "0000Jet8kA6ESOG_Ix5Eif1G^RAF000005"

-m <ERROR TYPE>

生成包含指定类型消息的报告。将下列错误消息类型之一作为参数:

  • ERROR

  • INCIDENT_ERROR

  • WARNING

  • NOTIFICATION

  • TRACE

示例:loganalysis -m ERROR

-o <TITLE> 生成具有自定义报告标题的报告。将用双引号引起来的报告标题作为参数。

示例:loganalysis -m ERROR -o "myError Report" 将创建一个标题为 myError Report.html 的报告,其中包含所有日志文件中所含类型为 ERROR 的日志消息。确保要使用双引号将报告名称引起来。

-s <STRING> 生成包含指定字符串的日志消息的报告。将用双引号引起来的错误字符串作为参数。

示例:loganalysis -system -s "Failed to connect to DB" -o "DB Connection Errors" 将创建一个标题为 DB Connection Errors.html 的报告,其中列出包含字符串 Failed to connect to DB 的类型为 ERRORINCIDENT_ERROR 所有消息。

-t <FROM DATE>T<FROM TIME><TO DATE>T<TO TIME> 生成在指定时间段内生成的日志消息的报告。将以空格分隔的 "from" 时间和 "to" 时间作为参数。

"From" 时间和 "to" 时间必须采用 24 小时制以 YYYY-MM-DDTHOUR:MIN:SEC 格式指定。

示例:loganalysis -all -t 2012-08-10T12:00:00 2012-08-10T23:59:59 -o "All Messages on August_10_2012" 将创建 All Messages on August_10_2012.html 报告,其中包含在 2012 年 8 月 10 日中午到午夜 11:59:59 之间生成的所有日志消息。

-tday <DAYS>

生成在指定天数内生成的日志消息的报告。将数值作为参数。

示例:loganalysis -ERROR -tday 3 -o "Error Messages for the last three days" 将创建 Error Messages for the last three days.html 报告,其中包含最近三天内生成的类型为 ERROR 的消息。

-thour <HOURS>

生成在指定时数内生成的日志消息的报告。将数值作为参数。

示例:loganalysis -ERROR -thour 6 -o "Error Messages for the last six hours" 将创建 Error Messages for the last six hours.html 报告,其中包含最近六小时内生成的类型为 ERROR 的消息。

-tmin <MINUTES>

生成在指定分钟数内生成的日志消息的报告。将数值作为参数。

示例:loganalysis -ERROR -tmin 45 -o "Error Messages for the last 45 minutes" 将创建 Error Messages for the last 45 minutes.html 报告,其中包含最近 45 分钟内生成的类型为 ERROR 的消息。

-d <DIRECTORY PATHS> 生成存储在指定目录路径中的日志文件的报告。可以使用此选项来分析没有存储在 EPM System 组件的默认日志文件位置的日志文件。可以通过使用以逗号分隔的位置列表来指定多个日志位置。目录路径必须用双引号引起来。

示例:loganalysis -m INCIDENT_ERROR -d "c:/logfiles", "z:/OracleLogs", "y:/EPMLogs" "/net/epm_server2/Oracle/Middleware/user_projects" -o "myCustom Analysis Report" 将创建一个标题为 myCustom Analysis Report 的报告,其中列出指定目录中可用的日志文件中所含的类型为 INCIDENT_ERROR 的消息。

-f <arg>

不适用于此版本;保留供将来使用。

-maxsize <arg>

增加报告大小。默认报告大小为 5 MB。

示例:loganalysis -all -o "Custom Analysis Report" -maxsize 15 将生成最大为 15 MB 的报告。报告标题为 Custom Analysis Report,其中包含所有日志文件中的所有消息。

-all 生成用于列出所有日志文件中的消息的报告。生成此报告可能会花费一些时间,并且可能会生成一个很大的报告文件。Oracle 建议不要在没有其他参数限制报告范围的情况下使用此命令选项。

示例:loganalysis -all

运行日志分析实用程序

日志分析实用程序是一种命令行实用程序。

要运行日志分析实用程序

  1. 在托管 Foundation Services 的服务器计算机上启动命令提示符。

  2. 导航到 EPM_ORACLE_INSTANCE/bin;通常,在 Windows 服务器上为 C:/Oracle/Middleware/user_projects/epmsystem1/bin

  3. 执行某个命令。指定相应命令选项生成报告。请参阅表 3-1

    loganalysis.bat OPTIONS (Windows)

    例如,在 Windows 服务器上使用如下命令来创建标题为 "Database Issues_1-21-2013_11AM" 的报告,其中包含与导致 EPM System 组件在 2012 年 11 月 21 日上午 11 点左右丢失数据库连接的错误有关的消息。

    loganalysis -system -t 2013-01-21T11:15:00 2013-01-21T11:20:00 -s "Failed to connect to DB" -o "Database Issues_1-21-2013_11 AM"

查找用户活动的 ECID

ECID 是用于在多个 EPM System 组件之间关联用户活动的系统生成的唯一标识符。

要查找用户活动的 ECID,必须先生成日志分析实用程序报告。ECID 包括在日志消息详细信息中,类似于以下字符串:

0000Jet8kA6ESOG_Ix5Eif1G^RAF000005

要找到用户活动的 ECID:

  1. 运行日志分析实用程序,然后生成列出系统或功能错误的报告。请参阅“运行日志分析实用程序”。

  2. EPM_ORACLE_INSTANCE/diagnostics/reports(例如,Windows 服务器上的 C:/Oracle/Middleware/user_projects/epmsystem1/diagnostics/reports)中,打开您生成的报告。


    由日志分析实用程序生成的示例报告