APM 对象模式
自我们发表有关 APM in OpsMgr 2012 的一些全新信息之后已有一段时间。Michael 在八月份撰写了一篇有关使用警报的博文,在此之前,我们相继发表了数篇有关如何正确进行操作、APM 的工作原理和如何模拟用于测试的错误的博文。另外,Sergey 随后在九月份发表了有关 APM in OM12 安装更轻松、配置更简单、维护更廉价的博文,Adam 则在 11 月份(RC 发布之后不久)撰写了配置真的如同 1…2…3…那样简单的博文。
最近,我一直向 TAP 客户、执行内部测试的同事等许多人谈起一个有关理解方面的问题,即当您通过 APM 模板/向导运行时,模板实际上创建了哪些对象 - 换句话说,我在向导中选择的选项如何影响监控应用程序的方法?设置 APM 监控之后,应用程序在 OpsMgr 中“看起来”会是什么样子?
为了彻底弄清楚这个问题,我们在 Technet for APM 上发表了大量的正式文档,以指导用户了解整个流程,并详细地描述各种设置和阈值。特别是,您应参考以下两个网址的内容:
- 创作指南中描述的 APM 模板的创作/配置体验 - https://technet.microsoft.com/zh-cn/library/hh457578.aspx
- 操作指南中的操作活动(使用应用程序警报等)– https://technet.microsoft.com/zh-cn/library/hh212856.aspx
总之,为了更清楚地了解对象模型实际上看起来是什么样子(对于奇客),我制作了下面的图表,大体上将向导元素映射到了模板创建的对象中:
正如大家可以看到的那样,通过运行向导创建的每个模板实例代表一个单独的应用程序 - 这称为“应用程序组”,而且是一个单一对象 - 这与分布式应用程序相似,尽管由于具有不同的基类而不显示在“分布式应用程序”视图中。
您可以通过右击应用,然后选择该对象对应的图表视图,从“受监控的应用程序”状态视图(显示通过 APM 模板配置的所有应用程序)访问上面的图表:
该模板还遵循相同的层次结构创建“文件夹”和“视图”:
因此,正如前面已经撰写的那样,“顶层”对象称为“应用程序组”,而且是一个单一对象 - 与分布式应用程序相似。它托管其他单一对象 –“应用程序组件”– 通常代表 SOA 应用程序的“层”。在当前的 (RC) 实施中,它们可以是 Web 应用程序或 Web 服务(IIS 中托管的 .asmx Web 服务和 WCF 服务),但以后可能出现更多的“类型”。某些组件(Web 应用程序)被视为适合客户端监控 – 某些组件并不适合,而仅适合服务器端监控,因为它们可能执行后台处理,或者提供与 HTML 网页相对的 XML 文件等等。为组件启用服务器端或客户端监控可以启用“第三”层 – 上面示意图中的绿色矩形 – 这些属于“组件角色”– 它们表示组件(“层”)是否托管 Web 应用程序、Web 服务、IIS 托管的 WCF 服务,以及是否已为客户端监控启用。您还可以在“应用程序组”的第一个状态视图中看到“应用程序组件”的细目,以及它们托管/监控哪些“组件角色”:
到目前为止描述的所有对象(上述示意图中深蓝色、红色和绿色矩形中的对象)均属于在管理服务器上创建的单一类 – 与其他单一对象一样,它们处于“所有管理服务器”资源库中。创建这些对象是为了区分可以在水平扩展的服务器场中的多个机器上运行同一组件的应用程序的“组”或“层”。
最后,图表中的第四层是代理上实际受监控的实例 – 这些对象是从 APM 服务收集数据并通过 OM 通道馈入数据的“工蜂”,正如我在本博客的第一篇博文中所描述。这些实例包含在上面的组件角色中,同时,它们由 APM 代理对象托管。
我们在上面显示的“per component”文件夹是您可以查看这些代理实例的状态和警报(受 Michael 以前描述的规则和监控驱动),以及收集的性能数据的地方:
这样,我们又从控制台中的高级配置到代理绕了整整一圈。平心而论,我在这里没有介绍在定义事务时涉及的另外一组对象。由于需要了解事务在 APM 术语中的含义,我可能会在单独的博文中谈及。现在,我希望本文有助于阐明 APM in OM12 的基本/公用对象是什么样子,并使您能够更清楚地了解您所看到的一切!
.NET 监控,其乐无穷!