Java运行时监控,第1部分: Java系统运行时性能和可用性监控 - 编程入门网
现问题的能力产生负面影响。此外,事后聚合有时缺乏足够的粒度,从而导致重要模式隐藏在数据中不被发觉。举例来说,某个报告可能显示某特定服务调用昨天平均耗时 200 毫秒,但却隐藏了它在下午 1:00 到 1:45 间平均耗时 3500 毫秒。
定期或随需应变的监控:由于某些工具强制占用较高的资源开销,因此不能(或不应)经常使用它们。结果,它们很少收集数据,或者只在检测到问题后才收集数据。因此,APM 系统只能执行最低基线,而无法在问题恶化前提前报警,并且可能会自己加剧势态的严重性。 非持久化监控:许多工具都提供了有用的性能和可用性指标实时显示功能,但它们并不支持持久化指标供长期或短期比较和分析的功能。常见的一种情况是,如果缺少历史上下文,则性能指标将毫无价值,因为没有判断指标优劣的基准。举例来说,当前的 CPU 利用率是 45%。如果不知道历史利用率的情况,则不好判断当前 CPU 利用率负荷的轻重程度。但是,如果知道历史的典型值为百分之 x,可接受的用户性能上限是百分之 y,则情况就大有改观了。 对生产前模型的依赖:假设所有潜在问题都可在生产部署之前从环境中清除,则完全依赖生产前监控和系统模型的实践经常会导致运行时监控不够全面。这些假设无法解决不可预测事件和依赖性故障,因此,诊断小组在遇到此类事件时将没有工具和数据可用。 整合 APM 的实现并不排除监控和诊断工具,如 DBA 管理工具集、低级网络分析应用程序和数据中心管理解决方案。这些工具仍然是无价的资源,但如果它们依赖于整合视图的专有性,则难以克服孤立效果的影响。 理想 APM 系统的属性 与刚才讨论的反面模式相反,本系列文章介绍的理想 APM 系统拥有以下属性: 渗透力:它监控所有应用程序组件和依赖关系。 粒度化:它可以监控层次极低的函数。 整合性:收集的所有指标将被发送到支持整合视图的同一逻辑 APM 中。 恒定:一周 7 天,一天 24 小时不间断监控。 高效:性能数据收集不会对监控目标造成不利影响。 实时:可以实时显示、报告和警告监控的资源指标。 历史:监控的资源指标将持久化存储在一个数据库中,因此可以查看、比较和报告历史数据。 在深入研究此系统的实现细节之前,了解 APM 系统的一些基本概念是有帮助的。 Java运行时监控,第1部分: Java系统运行时性能和可用性监控(3)时间:2011-02-13 IBM Nicholas WhiteheadAPM 系统概念 所有 APM 系统都能访问性能数据源 并提供数据收集 和跟踪 实用工具。注意,这些是我自己选择的用于描述一般类别的通用术语。它们并非特定于任何 APM 系统,不同 APM 系统可以使用其他术语表示相同的概念。在本文的其余部分中,我所使用的术语定义如下。 性能数据源 性能数据源(PDS)是性能或可用性数据的来源,这些数据对于反映组件的相对健康状况非常有用。例如,Java Management Extensions (JMX) 服务通常可以提供关于 JVM 健康状况的丰富数据。大多数关系数据库通过 SQL 接口发布性能数据。这两种 PDS 都是直接 源的例子,即可以直接提供性能数据。相反,推断 源测定有意和偶然操作,并且产生性能数据。例如,测试消息可以定期发送,并随后从 Java Message Service (JMS) 服务器中取回,这个往返时间将作为该服务性能的推断测量。 推断源(它的实例被称作综合事务)有时极为有用,因为它们可以通过遍历与实际活动相同的路径来有效测定多个组件或分层调用。综合事务还在监控连续性方面发挥着重要作用,当直接源不能胜任时,它们可以确认系统在相对空闲期的健康状况。 收集和收集器 收集是从 PDS 获取性能或可用性数据的流程。对于直接 PDS,收集器 通常实现一些 API 来访问该数据。要从网络路由器读取统计数据,收集器可以使用简单网络管理协议(Simple |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |