4

我们的 WebLogic 设置给我们带来了一些问题。

我们有一个名为 HP BAC 的监控工具,它可以帮助我们可视化服务器的状态,我们将此工具与 Java Thread Dump 实用程序结合使用,这样当线程数较少时,将捕获线程转储。

在某些情况下,服务器会进入低线程数状态,我们不确定原因是什么,因为我们所有的努力找出答案——尤其是通过线程转储似乎是徒劳的。

鉴于“最先进的技术”,我们的线程转储捕获总是在后期/之后触发,并且始终从不捕获对我们的调查有用的线程转储。

我想看看你们其他人是如何进行这样的监控工作的?

在此处输入图像描述

4

3 回答 3

6

我建议WLST

编写一个 WLST 脚本,它连接到正在运行的服务器并定期获取活动线程数。(比如 30 秒)

如果您的活动线程数低于您预先配置的阈值,请触发kill - 3并获取线程转储。

一些例子

http://middlewaremagic.com/weblogic/?p=5423

http://wlstbyexamples.blogspot.com/2009/04/wlst-thread-count.html

于 2011-07-11T09:48:53.587 回答
5

WebLogic 诊断映像包括一个线程转储,并且可以通过在针对您的服务器的 WebLogic 诊断框架 (WLDF) 系统模块中配置监视和相应的通知来在超过某些 JMX 度量阈值时自动触发。 http://download.oracle.com/docs/cd/E21764_01/web.1111/e13714/config_diag_images.htm 我创建了一个 youtube 录音,展示了这是如何完成的。 http://www.youtube.com/embed/QNtON5dcRTc?hd=1 http://blogs.oracle.com/jamesbayer/entry/create_weblogic_diagnostic_image_with

于 2011-07-14T08:02:50.527 回答
5

您还可以使用以下 WLST 脚本,该脚本将为您提供以下功能

  1. Ready To Use:该脚本可以使用,这意味着您无需编辑 WLST 脚本中的任何内容,除了第 32 行中的电子邮件地址。灵活性:您只需更改“domains.properties”文件中存在的值,例如当问题发生时要收集多少个线程转储。
  2. 电子邮件警报:管理员将立即通过电子邮件警报了解该问题。
  3. 邮件中的线程转储:我们将通过电子邮件将完整的线程转储发送给管理员,因此无需担心收集线程转储。
  4. 独立脚本:此 WLST 脚本可以独立运行,无需操作系统提供的任何 Cron-Job 实用程序的帮助(但它也可以与 Cron-Job 实用程序关联),因此它为管理员提供了更大的灵活性。

主题:发送电子邮件警报以处理带有线程转储的卡住线程

http://middlewaremagic.com/weblogic/?p=5582

问候, 狂欢么 | 管理员@中间件魔术

于 2011-07-14T08:32:40.723 回答