如何利用 Rational Performance Tester 监控系统状态(2)

发表于:2013-11-06来源:IBM作者:张 倩倩点击数: 标签:
清单 1.Send email public String exec(ITestExecutionServices tes, String[] args) { ITestLogManager logMgr = tes.getTestLogManager(); String address = {address}; sendMail(address); logMgr.reportMessag

  清单 1.Send email

  public String exec(ITestExecutionServices tes, String[] args) {

  ITestLogManager logMgr = tes.getTestLogManager();

  String address = {address};

  sendMail(address);

  logMgr.reportMessage("serverDown---sendMail");

  return null;

  }

  public static void sendMail(String address) {

  Properties props = System.getProperties();

  props.setProperty("mail.smtp.host", {mailHost});

  Session s = Session.getInstance(props);

  s.setDebug(true);

  MimeMessage message = new MimeMessage(s);

  try {

  InternetAddress from = new InternetAddress({InternetAddress});

  message.setFrom(from);

  InternetAddress to = new InternetAddress(address);

  message.setRecipient(Message.RecipientType.TO, to);

  message.setSubject("System alert");

  String content = "Hello Monitor,now server down! Please check it.

  This is an auto-reply email. Please don't reply!";

  message.setContent(content, "text/html;charset=GBK");

  message.saveChanges();

  Transport transport = s.getTransport("smtp");

  transport.connect({mailHost},address);

  transport.sendMessage(message, message.getAllRecipients());

  transport.close();

  } catch (Exception e) {

  e.printStackTrace();

  }

  }

  回页首监控系统状态

  RPT 每 10 分钟向系统发起一次测试,即可提供 7*24 小时的监控系统。新建一个 schedule

  File --> New -->Performance Schedule:

  图 13.创建监控 Schedule

创建监控 Schedule

  点击 Finish,完成创建 schedules.

  设置 Userload

  由于 24*7 小时内,一共要监控 1008 次,所以在本例中,设置 Number of users 为 1100 个,每个 user 间隔 10 分钟,如下图所示:

  图 14.设置 Userload

设置 Userload

  设置 user load 后的效果如下图所示:

  Figure xxx. Requires a heading

Figure xxx. Requires a heading

  监控系统

  (1)在 Monitor Schedules 里 add test:

  图 15.在 Schedules 里 add test

在 Schedules 里 add test

  (2)add test 后的效果如下图所示:

  图 16.监控 Schedule 创建完毕

监控 Schedule 创建完毕

  点击图 16 中的绿色 run 按钮后,就可以对系统进行监控了。

  监控效果展示

  当系统出现问题后,相关人员会收到主题为System alert 的邮件,邮件的主题和内容都是在 custom code 里定义的。下面展示 4 种 monitor 的结果:

  (1)当 server down 时,本例在邮件中的内容为通知相关工作人员:系统宕机。发送的监控邮件效果如下图所示:

  图 17. Server down 时 RPT 发出的邮件

Server down 时 RPT 发出的邮件

  (2)当系统的不能处理用户提交的问题时,本例在邮件中的内容为通知相关工作人员:系统无法提交问题。发送的监控邮件效果如下图所示:

  图 18. Cannot submit question 时 RPT 发出的邮件

Cannot submit question 时 RPT 发出的邮件

  (3)当系统处理用户提交的问题失败时,本例在邮件中的内容为通知相关工作人员:系统处理问题失败。发送的邮件效果如下图所示:

  图 19. Question failed 时 RPT 发出的邮件

Question failed 时 RPT 发出的邮件

  (4)当系统处理用户提交的问题,超过 5 分钟还未处理完成时,本例在邮件中的内容为通知相关工作人员:系统处理问题超过 5 分钟。发送的邮件效果如下图所示:

  图 20. Question processing 时 RPT 发出的邮件

Question processing 时 RPT 发出的邮件

  回页首总结

  本文以典型的基于 J2EE 的 Web 项目为例,探索了如何使用 Rational Performance Tester(RPT)对系统进行 7*24 小时的监控。您可以根据本文介绍的方法,对基于 B/S 或者 C/S 架构的系统进行监控其是否处于正常状态,能否满足用户的需求。系统出现故障时,相关人员会收到 System alert 邮件,进而及时处理系统的异常。

原文转自:http://www.ibm.com/developerworks/cn/rational/1311_zhangqq_rpt/index.html