近期某项目, 在客户方运行时经常莫名其妙的死机, 因此急需调查死机的原因以及尽可能的寻找解决办法.
分析此场景, 此系统是一个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到日志里.
分享到:
相关推荐
sigar全名是System Information Gatherer And Reporter,Sigar是Hyperic-hq产品的基础包,是Hyperic HQ主要的数据收集组件。它用来从许多平台收集系统和处理信息。这些平台包括:Linux, Windows, Solaris, AIX, HP-UX...
hyperic-sigar jar 系统各种信息
sigar所有jar包,还包括sigar-amd64-winnt.dll文件!
本资源为hyperic-sigar-1.6.4相关文件,包括jar包,相关配置文件,api文档,样例等
hyperic-sigar
java 获取服务器内存使用情况、cpu运行情况、使用效率等等硬件指标,所需的jar包、dll文件工具
该中文手册是了解Hyperic HQ安装,配置,以及内部结构的必备资料,本手册还包括了常见问题解答,并在网上开设论坛解答用户在安装配置HQ时所遇到的问题。 由Hyperic HQ 国内独家代理商北京铸锐数码科技有限公司提供。...
windows和Linux下所需的全部依赖包,sigar,libsigar-amd64-linux.so,sigar-amd64-winnt.dll等等
Sigar 监控系统中的 Windows 下的 dll 和 Linux 下的 so 文件.
hyperic-sigar实现操作系统CPU、内存等系统资源监控
hyperic-sigar-1.6.4代码
使用hyperic-sigar获取jdk所在服务器状态信息,包含代码示例
VMWare开发的一个收集系统各项底层信息的工具集
Hyperic HQ 应用监控解决方案,Hyperic HQ的作用,Hyperic HQ一些监控指标
Hyperic 使用手册,有兴趣的朋友可以下载学习
hyperic hq mule esb plugin
sigar全名是System Information Gatherer And Reporter,中文名是系统信息收集和报表工具。
Hyperic HQ是一个开源(GPL授权)IT资源管理平台。 Hyperic HQ 可以监控和管理: •操作系统:AIX,HP/UX,Linux,Solaris,Windows,Mac OSX,FreeBSD •Web服务器:Apache,Microsoft IIS,Sun ONE Web Server •...