使用 Log Analyzer 和 Symptom Editor 实现自动化的日志分析

  引言

  日志文件是故障诊断过程中最重要数据文件的它记录了系统运行过程中所发生重要事件其特点是简单、直观、易于查看通常我们只需要文本编辑器就可以找到我们所需要信息但是随着系统结构日益复杂日志文件中所记录信息也急剧膨胀区别模块和线程所记录信息往往交织在给分析工作带来麻烦现在越来越多人使用 Log Analyzer 分析日志文件其中个重要原因就是它可以帮我们自动处理日志文件中庞杂数据信息从中找出比较明显症状甚至给出解决问题建议和思路方法在这过程中Symptom Editor 起了很重要作用有了 Symptom Editor 加入 Log Analyzer 才能获得不断增强分析能力因此本文将着重介绍 Log Analyzer 和 Symptom Editor 结合使用

  Log Analyzer 和 Symptom Editor 关系

  权威支持 使用Log Analyzer进行第1阶段问题确定 文给大家介绍了 Log Analyzer 概念和主要功能本文将在这篇文章基础上进步向大家展示 Log Analyzer 在日志分析方面强大功能并且结合 Symptom Editor 实现日志自动化分析

  日志文件分析

  Log Analyzer 是套具有图形用户界面并提供用于浏览、分析和关联多个产品产生日志分析工具 Log Analyzer 对日志分析包含两个方面首先是对文件内容重新组织和展示包括对信息筛选分类和关联比如我们如果只关心日志文件中信息那么我们就可以将所有信息导出到个单独报告文件中;如果我们只关心某线程输出信息那么就可以过滤掉其它和的无关线程信息;或者还可以将多个互相关联日志文件按照逻辑顺序重新组合到起等等这些都是 Log Analyzer 基本功能不在本文讨论范围的内本文所讨论是第 2种分析思路方法即基于症状分析这里所说症状是指日志文件中可以用于确定某问题日志消息特征比如消息 ID消息来源消息内容等这些特征被存储在症状目录中在分析日志文件过程中旦发现和这些特征相符问题 Log Analyzer 就会将这问题报告给用户并且允许用户查看和这问题相关更详细信息或者推荐解决方案

  Symptom Editor 作用

  IBM 还提供了配套 Symptom Editor 工具帮助用户创建并维护症状目录如果再次出现问题症状目录会查找到相应症状定义并给出此种症状解决建议症状目录中信息通常是经验积累需要用户不断地对它进行丰富和完善只有当症状目录内容丰富起来Log Analyzer 分析功能才会变得越来越强大下图展示了 Log Analyzer 和 Symptom Editor 的间关系

  图 1. Log Analyzer 和 Symptom Editor 关系



  查看原图(大图)

  当导入日志后Log analyzer 首先通过 Adapter 对日志文件进行解析解析后日志消息变成易于使用结构化数据存储于内存中用户可以使用现有症状目录对日志消息内容进行分析如果发现和某问题相关症状则将其报告给用户如果症状目录中不存在当前问题症状我们需要手工查看日志消息来诊断问题旦找到问题发生原因用户应该将新症状添加到症状目录中这样如果将来再次出现类似问题我们就能够很快定位到问题而不需要花费大量时间进行重复分析了

  建立自己症状目录

  建立症状目录好处显而易见大多数情况问题解决都需要花费大量时间和精力而通过解决问题所获得经验更是笔宝贵财富将这些财富积累下来定范围内共享是我们要建立症状目录主要目

  下面我们通过个简单例子来展示症状目录建立和使用思路方法在下面这个例子中我们应用试图访问个并不存在 JDBC 数据源系统会在日志文件中产生信息我们将利用 Log Analyzer 分析此日志文件并利用 Symptom Editor 创建个新症状目录如果下次类似问题再次发生我们就可以利用这个症状目录帮我们进行分析了

  利用 Log Analyzer 解析日志

  首先打开 Log Analyzer通过 File> Import Log>Import from the local system 菜单导入所生成日志文件本文日志文件是通过本地文件系统导入找到指定日志文件点击 Add 按钮将日志添加到文件列表中此时系统会自动识别日志文件类型并选择相应 adapter最后点击 Finish 按钮完成导入如图 2 所示

  图 2. 导入日志文件



  查看原图(大图)

  打开日志后可以从 Log View 列表中查看日志信息如果只想查看日志中信息可以使用 Log View 视图右上角 Filters 功能进行过滤也可以使用 Highlight Events 功能高亮显示信息(图 3)

  如果想获得更多信息可以右键点击 Log View 中日志文件(图 4)利用 Search Message Text in IBM Support Assistant 或者 Search Message ID in IBM Support Assistant 在 IBM Support Assistant 中查找有关此条日志相关文档或者文章

  图 3. 利用 Filters 过滤日志事件



  图 4. 查找和日志相关信息



  查看原图(大图)

  利用 Symptom Editor 建立症状目录

  Symptom Editor 可以帮助 Log Analyzer 建立症状目录如果没有可用症状目录或者当前问题在症状目录中无法找到可以在 Log Analyzer Log View 中右键点击发生问题消息条目选择 New Symptom Definition 启动 Symptom Editor 创建症状目录

  图 5. 建立新症状目录



  此时如果用于分析 WAS 日志症状目录已经存在用户可以选择在已存在症状目录中添相应症状信息否则需要首先建立个新症状目录然后向这个症状目录中添加症状定义在 New Symptom Definition 界面中可以定义症状具体特征:

  Rule list:判断症状规则列表;

  Rule type:定义规则类型;

  Description:编写症状具体描述信息;

  Conditions:可以定义每条症状规则具体判断条件点击 Conditions 下方 Add 按钮可以添加条件个 Condition Group 中可以包含多个 Condition个 Condition 是条逻辑判断语句可以用它判断日志中是否包含或者是否等于指定信息同样Condition Group 的间也可以通过 AND/OR 来进行和、或判断;

  图 6. 添加新症状定义



  点击 Next在 Recommendation 文本框中可以为症状添加解决建议在这里我们提示用户 JDBC 服务不可用建议用户在 WebSphere 应用服务器环境中检查下 JDBC 是否存在点击 Finish 按钮症状目录和症状定义就建立完成了在 Symptom Catalog 中可以查看和修改症状定义

  图 7. 添加症状解决建议



  利用 Symptom Editor 分析日志

  建立完症状目录就可以利用症状目录分析日志查找解决建议返回 Log Analyzer右键左侧列表中 Symptom Catalogs点击 Import Symptom Catalog选择刚才建立症状目录点击 Finish 按钮 (如图)确定导入

  在 Log View 中右键点击需要分析日志选择 Analyze Selection 分析指定日志如果症状目录中存在符合条件症状就会在 Log View 下方 Symptom Analysis Results 中显示症状并可以通过选择 Symptom Analysis Results 右侧 Recommendations and Actions 标签查看解决建议



  图 8 导入症状目录



  图 9. 利用 Symptom Editor 分析日志



  查看原图(大图)

  以上我们通过实际案例演示了如何利用 Log Analyzer 和 Symptom Editor 解析日志、创建症状目录当问题再次发生时Log Analyzer 能够自动发现问题并且给出预先设置解决方案和建议从而帮助用户快速地定位问题、解决问题

  结束语

  随着应用系统规模不断增大会有越来越多人需要通过自动化工具分析日志文件使用 Symptom Editor 配合 Log Analyzer 分析日志文件可以帮我们自动处理日志文件中庞杂数据信息从中找出比较明显症状并且给出解决问题建议和思路方法



Tags: 

延伸阅读

最新评论

发表评论