目前我们正在使用 vFabric Hyperic 4.5.2.2 来监控多个系统。
在我加入这个团队之前就已经设置了警报等,但我一直在寻找改进它们的方法,即在不影响足够覆盖范围的情况下尽量减少监控对生产服务器的影响。
我注意到 Hyperic 会定期对服务器造成压力,有时会使 CPU 达到最大负荷 30 秒到 1 分钟。
虽然我知道减少监视器/警报的数量会有所帮助,但在进行其他系统架构和布局更改之前,我可能无法做到这一点。
同时,有没有办法安排页面请求或强制错开它们?我已经找到了如何更改收集间隔的方法 - 但这并不能真正解决核心问题。
此外,我不确定是否仅仅是 HTTP 监视器导致了问题,但我很确定它们确实起了一定作用。
我能够找到 server.log,但是它缺少信息(可能由于日志记录级别?)或者我不知道我在寻找什么。
我还有一个更大的问题,那就是我如何确定 Hyperic 正在做什么,导致受监控的服务器有时几乎全部锁定?当然,这很可能会引发其他问题,但我可以随时解决这些问题。
我已经看过这个问题但是我们的 hyperic 没有设置扫描日志。
谢谢。
答案1
我在使用 hyperic 4.1.1 时也遇到过类似的问题。运行了两年多后,我们发现 CPU 使用率开始升高。
我们将问题归咎于代理。在我们的案例中,我们使用了嵌入 jre 的代理。
我们安装了 v6 build 35 jre,并设置了 HQ_JAVA_HOME :
(注意:不要将此变量设置为 java bin 目录。而是将其设置为基本 jre6 目录,在 Windows 上通常是:c:\program files\java\jre6 )
我们重新启动了代理,世界恢复了和平!