近期某项目, 在客户方运行时经常莫名其妙的死机, 因此急需调查死机的原因以及尽可能的寻找解决办法.
分析此场景, 此系统是一个Java的web系统, 使用到了EJB. 具体系统架构为:由客户端访问某Sun ONE Server, 系统的JSP、Servlet存在于此Sun ONE Server上, 然后Sun ONE Server上的Servlet或JavaBeans再访问另一台机器上的Weblogic上的EJB, 然后EJB通过DAO访问三台Oracle数据库, 其中一台Oracle数据库中又被划分为五个表空间, 因此在Weblogic上分别建立了七个Connection Pool以及对应的七个XA datasource. 此系统的EJB数量多达500+, 发布的J2EE应用程序以及web应用程序有200+, 总体来说, 整体结构比较复杂.
对于这样一个系统, 要想分析一个无法再现的bug是非常不容易的, 这个也是这次具有挑战性的地方.
首先, 我们打开了所有服务器上的日志输出, 进而分析了所有的日志. 最后把问题定位在Weblogic连接数据库的connection pool上. 但是在Weblogic 8.1上, 我们通过JDBC log得到的Connection Pool的信息非常有限, 那么如何能更多的得到数据库连接的信息呢? 我们在网上发现了一个开源工具Hyperic-HQ协助我们很好地解决了这次问题.
关于Hyperic-HQ, 是一个GPL的开源产品, 可以协助我们分析在发布环境下的系统各个机能的状态. 进而找到应用程序的问题.
要想使用Hyperic-HQ, 首先我们需要一台Hyperic-HQ服务器, 可以用自己的PC机充当. 另外, 我们需要一台数据库服务器, 用来做Hyperic-HQ的数据仓库. 我使用的是Hyperic-HQ 2.7.3版本, 这个版本支持Oracle和Postgresql作为Hyperic-HQ的后台数据库.
接下来, 我们从Hyperic-HQ的网站上下载Hyperic-HQ的安装程序, 有很多版本. 一般地, 根据操作系统不同不同, 另外, 有含有JRE和非JRE的, 以及agent和installer区分. 我们第一次安装的时候, 因为要安装Hyperic-HQ服务器, 所以应该下载installer版本.
下载后我们在某个目录下解压缩, 目录内容如图所示.
然后我们运行setup程序, 安装Hyperic-HQ服务器, 安装过程中, 需要指定Hyperic-HQ服务器的后台数据库的信息. 一步步直到安装完成. 安装好后, 会有一段文字提示Hyperic-HQ服务器的运行以及访问地址, 包括默认的账号.
Hyperic-HQ服务器的默认访问地址是http://localhost:7080
默认账号是 hqadmin/hqadmin
安装好Hyperic-HQ服务器后, 我们需要在被监视的服务器上安装Hyperic-HQ的agent. 你可以单独下载agent, 如果你已经下载了installer, 那么它里面就包含了agent. 和上述过程同样, 依照提示一步一步安装agent. 安装agent的过程非常简单.
全部准备完毕后, 就可以开始监视有问题的服务器了.
首先启动Hyperic-HQ服务器, 启动方法是运行hq-server.exe.
启动后, 我们可以访问Hyperic-HQ服务器的web页面, 登录后应该是没有什么可用信息, 这是因为我们还未启动任何agent.
现在就让我们来启动Hyperic-HQ服务器的agent. 在启动agent的时候我们必须指定一些信息, 其中主要包括agent如何和Hyperic-HQ服务器通讯的信息.
此时, 我们再登录Hyperic-HQ服务器的web页面就可以看到agent管理的服务器上的资源.
然后我们在web页面上就可以通过一些配置来配置我们所感兴趣的资源. Hyperic agent就可以从被监视的服务器上定时取下我们配置的资源, 通过Hyperic-HQ服务器显示在web页面上. 当然也可以log到日志里.
分享到:
相关推荐
它能够提供全面的监控功能,包括但不限于服务器、网络设备、应用程序、数据库等,从而帮助企业及时发现并解决IT基础设施中的问题。Hyperic通过其强大的Agent(代理)组件,收集各种系统数据,为用户提供详尽的报告和...
Hyperic HQ是CA Technologies公司开发的一款全面的IT基础架构管理平台,它能够监控各种IT资源,包括服务器、网络设备、数据库以及应用程序等。通过集成Hyperic Mule Plugin,Hyperic HQ可以扩展其监控范围,将Mule ...
- Hyperic HQ非侵入式地收集来自硬件、网络和应用程序等基础设施各层的实时和历史数据。它定义智能警报,预测潜在问题,通过定制的指标视图关联和比较不同资源的度量值,以便理解它们之间的相互作用。此外,它还...
Hyperic HQ 是一款功能强大的开源 IT 资源管理平台,它支持多种操作系统、Web 服务器、应用服务器、数据库及消息中间件等的监控与管理。通过 Hyperic HQ,用户能够对整个 IT 基础设施进行全面的监控,确保系统稳定...
Hyperic HQ,作为一个开源的企业级基础设施管理工具,提供了一整套强大的监控和管理解决方案,涵盖了服务器、网络设备、数据库、应用程序等IT资源。本篇文章将带领读者深入了解如何从源码编译构建Hyperic HQ,从而更...
Hyperic HQ Server提供了全面的IT运维视图,包括硬件、操作系统、中间件、数据库以及应用程序等各个层面的性能和健康状况监控。 在进行Hyperic HQ Server的管理配置时,首先要理解其核心组件和工作原理。Hyperic ...
对于应用的管理,手册提供了hqapiapplication命令的具体指导,该命令用于列出、安装、更新、卸载以及配置应用程序。另外,手册还介绍了autodiscovery命令的使用,该命令可以帮助用户自动化地发现网络中运行的服务器...
通过实时监测 CPU、内存、磁盘空间及正在运行的应用程序状态等指标,Hyperic HQ 能够有效地帮助管理员掌握系统的健康状况并及时采取行动预防或解决潜在问题。 #### Hyperic HQ 系统结构 Hyperic HQ 的架构主要包括...
- **全方位监控**:监测基础设施的每一层,包括硬件、操作系统、应用程序等。 - **性能与配置追踪**:持续追踪性能指标、配置信息以及安全性方面的变化。 - **预警与纠正机制**:在问题出现前提供预警,并能够自动或...
VMware vRealize Hyperic是一款企业级的应用程序性能管理和监控解决方案,用于监控物理、虚拟和云环境中的各种应用程序和服务。vRealize Hyperic UI是该解决方案的用户界面部分,用户可通过该界面进行管理、监控和...
Hyperic是一款强大的开源应用程序及系统监控工具,专为管理虚拟、物理和云端基础设施的性能与可用性而设计。它能够自动探测并管理多种技术资源,其中包括对VMware vSphere的全面支持。通过深入洞察资源的可用性、...
ZK 的发展目标是帮助开发人员更容易地开发 AJ AX 应用程序,不需要处理浏览器支持 JavaScript 的情况各不相同,开发人员经常必须去处理这些异同或修正 Bug。ZK 将这些部分的程序员移给服务器端来处理,通过 ZK 引擎...
- **HypericHQ**:提供对服务器、网络、应用程序的全方位监控。 - **Munin**:轻量级的网络监控工具。 - **ZenOSS**:开源的网络设备监控系统。 - **OpenNMS**:提供全面的服务监控。 - **Monit**:用于监控并...
中间件性能监测技术是确保分布式应用系统稳定运行的关键环节,通过对中间件的实时监控,可以及时发现并解决潜在问题,提高整体系统的可用性和效率。本文将详细介绍如何对WebLogic、WebSphere等主流中间件进行性能...