Foglight 怎样帮助治理J2EE应用

 

在Foglight中,监控治理信息的来源主要是:资源的使用,包括各种应用池和缓存;J2EE应用服务器通过JMX提供的信息;应用服务器/操作系统等的错误日志。
  
  1.发现问题
  通过Foglight 定义发现问题的恰当规则是应用性能治理的要害一步,在实际中,可从三个方面考虑:
  
  a) 在可用性方面:
  
  当集群中有20%服务器宕机时,发出警告;
  
  当集群中有80%服务器宕机时,发出危急警报;
  
  当集群中有100%服务器宕机,或一个非集群服务器宕机时,发出致命错误;
  
  b) 在服务性能方面,需要根据应用的设计和负载定义规则:
  
  JDBC Pools,大多数应用是以数据库为中心的,调整JDBC Pools的数量对应用的性能甚至正确性有显著影响。根据应用的设计和负载,确定JDBC Pools阈值,系统在达到阈值时将报警。
  
  Execution Queues,根据应用实际情况,确定线程的阈值。
  
  JMS Servers,根据应用的设计和负载,确定字节/消息的阈值,系统在达到阈值时将报警。
  
  Message Driven Bean 和 Stateless Session Bean pools,假如Beans不可用,则请求必须等待直到获得。根据应用的设计和负载,确定Message Driven Bean 和 Stateless Session Bean pools阈值,系统在达到阈值时将报警。
  
  Entity Bean 和 Stateful Session Bean caches,当Beans过渡地钝化或激活(passivated, activated)时,大量的磁盘I/O会显著降低性能,系统可产生报警。
  
  回滚(Rollbacks),系统错误,资源不足,超时异常等产生的事务回滚可严重影响业务处理的成功完成。
  
  日志文件(Log Files),根据WebLogic日志的消息的严重程度,确定不同的报警方式(Warning,Critical,Fatal)。
  
  c) 在应用性能方面:
  
  反应时间(Response Times),反应时间:确定相关类或方法的响应时间的报警阈值,这些值可通过这些类或方法的响应时间的历史纪录确定。报警级别可根据与历史纪录的差距确定。
  
  回滚(Rollbacks),报警的严重程度与应用回滚数量与全部事务数量的比例相关。应用事务的回滚可能是正常的(例如校验数据),但是当应用回滚的比例很大时,将意味着错误。
  
  .诊断问题:
  Foglight根据预先定义的规则对应用系统进行监控并发出警报。Foglight 针对监控的对象类型,提供了丰富的关联性图表以显示类或方法的响应时间,JDBC Pool,JMS,Entity Bean,Stateful Session Bean,Message Driven Bean,Execution Queues等的使用情况。其中垃圾回收和HTTP会话是编写JAVA应用代码中常见的问题症状。
  
  a)垃圾回收(Garbage Collection):
  
  Foglight 提供图表显示垃圾回收的次数和每次回收的内存数量,可以判定应用使用内存的效率。假如每次回收大量内存的次数很多,意味着应用没有正确使用内存资源;假如每次回收较少内存的次数很多,意味着应用在使用内存方面是健康的。
  
  b)HTTP会话:
  
  Foglight 可以显示应用服务器上每个应用的HTTP会话的数量。可以分析HTTP会话的超时配置是否合适,同时可以计算会话对内存的消耗。假如会话数量很多,就需要注重每个会话使用的内存数量。
  
  3.专家性建议
  根据经验可以从三个方面获得专家性建议:
  
  Foglight 和Spotlight(Quest公司的诊断产品)的联机帮助,提供了大量的实用建议。
  
  系统维护团队的工作日志或知识库系统。
  
  J2EE应用服务器的供给商和应用系统开发商的技术咨询队伍。
  
  4.解决问题
  在专家性建议的基础上,需要一支经验丰富的技术队伍来完成,技术队伍不但需要对系统和对JAVA开发有丰富的经验,而且应具有正确的解决问题的规范和方法。
  
  5.日常维护
  根据软件版本的变化,新功能的开发,问题的解决,需要对一些预警规则进行调整,并继续持续观察。
  
  Foglight 提供对SLA的实时统计监控功能,自动进行统计并生成规范的治理报告。
 

 

Taxonomy upgrade extras: