科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道BEA GUARDIAN:PRE-EMPTIVE SUPPORT新模型

BEA GUARDIAN:PRE-EMPTIVE SUPPORT新模型

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Guardian是一个管理工具,它汲取了BEA Support组织多年来帮助客户发现和解决问题所获得的经验和体会。

来源:dev2dev 2007年10月23日

关键字: 技术 Guardian 中间件 应用

  • 评论
  • 分享微博
  • 分享邮件

  摘要

  随着应用程序环境变得越来越复杂,开发人员在调试集成问题方面所花的时间不断增多。一部分人打算通过创建整体式、“包含所有必需内容且任何人均可使用(all things to everyone)”的包来解决这个问题,但客户肯定不愿意拘侑于一个不灵活的专用解决方案,看某家公司的脸色行事。相反,开发人员需要灵活性,即能够使用市场上多家厂商提供的最新技术集成最佳的解决方案。

  通过为客户支持创建一个新模型,Guardian解决了集成复杂性的问题。这个模型打破了旧有的“找到然后解决”模型,建立了一个新的优先模型,可以在集成问题影响客户环境之前发现它们。它还打破了旧有的“通过多个应用程序日志文件进行分析”模型,并建立了一个“可以感知环境的”新模型,可以识别问题发生的根源。本文介绍了BEA Guardian产品,它如何在开发和部署环境中预先避免问题,以及如何使用它的功能。

  简介

  Guardian是一个管理工具,它汲取了BEA Support组织多年来帮助客户发现和解决问题所获得的经验和体会。通过分析客户问题、指出根本原因和优化企业方案,BEA工程师们已经创造了大量可用于评估客户环境的信号。创建用于检测这些信号的程序方法之后,信号的作者已经让Guardian可以真正地感知环境了。Guardian V1.0支持对BEA WebLogic Server 8.1及其以上版本,以及构建在WebLogic Server 8.1架构及其以上版本的任意BEA产品的评估。

  Guardian的用户界面是一个Eclipse Rich Client Platform应用程序,安装起来轻松而且直观,而且可以保持更新。Guardian UI可以运行在Windows或Linux平台上。Guardian引擎是一个单独的Java应用程序,只需要JVM 5.0便可运行。Guardian Agent是一个安装在域中的轻量级Web应用程序,它使用Java Management Extensions(JMX)、Java System Properties和JDBC驱动程序来收集确定信号状态所需的数据。Guardian应用程序使用HTTP或HTTPS与Agent进行通信。Agent执行应用程序发送的命令,然后返回结果。大部分工作在Guardian服务器上完成,以使对环境的影响最小化。

  Guardian信号是一些XML文件,它们使用World Wide Web Consortium的XQuery技术来确定要评估的环境对于信号定义的问题的敏感度。这些信号可看作是XML指令集。信号中内含OS版本、架构和要使用该信号的BEA产品。为了优化执行时间,只会在匹配这些参数的环境中执行信号。信号指出了需要从客户环境收集的数据、与数据匹配的模式以及找到模式后要显示的结果。在Guardian UI上按下某个按钮,就可以从BEA下载新的信号。

  BEA.com站点的服务器允许用户下载最新的信号和更新Guardian应用程序本身。用户甚至可以打开他们自己的支持用例,以便获得有关信号Guardian检测的帮助。

  通过解除用户界面与知识库及代理的耦合,Guardian允许所有用户利用他们积累的知识开发和部署企业应用程序。

  在问题出现前预先解决它们(用例)

  Guardian可以帮助您在问题影响域之前发现并解决它们。通过识别已知的配置和环境问题并推荐解决方案,Guardian可以:

  堵住安全漏洞。

  预防系统停止运转。

  改善系统性能。

  下面的Guardian屏幕快照显示了一次评估的结果,这次评估检测到了3个信号:一个关于明文密码的关键BEA Security Advisory,一个关键的潜在服务器挂起问题,以及一个关于潜在性能问题的警告。每个信号都包含了一条解决问题的建议,这些建议都是在其他客户的域中证实有效的。

  

  

  图 1. Domain Explorer评估历史

  下面的内容描述了一个使用场景,举例说明了使用Guardian使应用程序发挥最大功效的一些方式。

  开发周期评估

  当企业应用程序从开发迁移到质量保证再到准备提交和生产时,Guardian可以对域进行评估,使上述每个步骤变得更加容易。Guardian信号可以感知环境。它们包含了有关域架构、操作系统、JVM、数据库和其他功能的信息。Pre-Emptive Support Product使用这些信息来确保部署拥有正确的补丁、配置设置、驱动程序和其他属性。

  客户通常会抱怨应用程序在开发阶段一切正常,但是在QA或生产阶段便会失效。其根本原因可归结于环境之间的差异。这些差异可能是补丁级别、配置设置、版本不同等等。需要在每个环境中运行Guardian,以确保跨环境之后的可信度相同。此外,因为Guardian的信号可以感知环境,它们可以运行在各种异构环境中而效果相同。

  借助Guardian,可以在部署之后马上评估应用程序环境,而不是在每个新问题出现之后才做出反应去调查它们。Guardian可以指出每个问题的根源,并提供经过实践检验的解决方案,而不是让您去分析遍布各处的日志文件,然后再设计自己的解决方案,从而节省大量时间。

  下面的Guardian屏幕快照说明检测到了有关在一台运行在不同操作系统中的远程计算机上使用wldeploy ant任务的信号,以及相关的描述和补救措施:

  

  

  图 2. 抛出的File Not Found异常

  重负载评估

  通过评估运行时域设置,Guardian可以在性能测试期间对域进行评估,以便找出仅在重负荷下可见的问题。这允许Guardian检测到不在负载下外很难找出的问题。借助Guardian,客户可以在进入生产阶段之前识别和解决棘手的资源问题,而不是被动地等待遇到问题,然后再重现问题出现之前的复杂交互场景。

  下面的Guardian屏幕快照说明检测到了有关发现线程用光了JDBC Connection Pool连接的信号,以及相关的描述和补救措施:

  

  

  图 3. 连接池有等待的线程

  软件更新评估

  每当更新或修改软件环境时,对域进行评估是很重要的,因为这样才可以确保不引入不兼容的问题。Guardian的信号包含了多年来解决客户问题时累积的智慧,所以在认识复杂软件环境中可能出现哪些种类的不兼容问题方面拥有独特的眼光。

  下面的Guardian屏幕快照说明检测到了有关发现JDBC驱动程序安装不正确的信号,以及相关的描述和补救措施:

  

  

  图4. 错误的JDBC驱动程序

  连续集成

  另一种选择是定期安排评估,以便当新的问题出现时能够识别它们,从而支持Guardian对域实行连续监控。在多个用户拥有管理权限的域中,要确定何时发生何种变化是相当困难的。借助Pre-Emptive Support Product的命令行界面,可以安排以设定的时间间隔运行评估或者作为构建周期的一部分来执行它们。然后,可以使用最喜爱的系统管理工具来监控评估结果,并在检测到信号时获得通知。这种连续集成方法可以帮助您完全掌控可能对域造成负面影响的任何变化。

  下面的屏幕快照显示了Pre-Emptive Support Product命令行评估的信号日志记录,这种评估是通过Windows Task Scheduler安排定期运行的。评估检测到有人在生产阶段禁用了域上的HostnameVerification,这造成了一个安全隐患。

  

  

  图 5.信号日志

  诊断评估

  Guardian可以在首次发现一个问题时对域进行评估,以便找出根本原因并获得有效的解决方案建议。在这种情况下,这是诊断和修复域问题的第一层防御。即便更早的评估没有检测到信号,一定有什么原因导致了问题的发生。

  Guardian推荐的解决方案与检测到的信号相匹配,并已经证实在其他客户的环境中是有效的。

  下面的Guardian屏幕快照说明检测到的信号发现某个取消的I/O操作是OutofMemory异常的根本原因,以及相关的描述和补救措施:

  

  

  图 6. Out Of Memory异常

  结束语

  BEA Guardian是BEA未来支持战略的重要组成部分。这个易于安装和使用的应用程序有助于在问题对客户环境造成严重损害之前,提前解决这些问题。借助Guardian,客户将以信号的形式收到有关可以识别和捕捉的任何新问题的警告。通过执行根本原因分析,Guardian使得在问题出现之前捕捉和修复它们变得更加容易,这对产品迁移和性能优化大有帮助。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章