0

我有一些定义交易的经验,并且已经查看了交易定义指南书架。我们使用的是 CA APM 版本 9.1.5。我在下面的记录会话中捕获了一个由 4 部分组成的事务。

记录交易结果

在促进记录、调整识别交易的匹配标准并从交易中删除可缓存之后,我有这个业务交易:

在此处输入图像描述

同步监视器后,我看到了结果。但是,对于捕获的每笔交易,我都会遇到 3 个缺陷:所有非识别交易的缺失交易。

识别交易被正确定义(我没有从没有这个调用链的其他交易中得到溢出)。非识别事务也被正确定义;为了证明这一点,我将识别事务从注册表更改为 login.fcc,获取了此用例特有的流量,但每个事务仍然存在 3 个缺陷(缺少 3 个非识别事务,这次缺少注册表)。最诱人的是今天记录了一笔成功的交易(在更多失败中)。由于有一次成功,我认为有可能是超时定义太短,所以我将它增加到20s,没有变化。

潜在问题的摘要以及为什么它们不是原因:

  • 更改之间不同步。
    • 我确保在每次更改之间都这样做。
  • 识别交易过于模糊/捕获不相关的流量。
    • 匹配标准仅适用于该定义。
  • 非标识事务定义不正确。
    • 匹配标准仅适用于该定义。
    • 将一项交易切换为仅针对该部分的识别正确匹配的流量。
  • 事务超时太短。
    • 将事务超时增加到 20 秒,但没有成功。
  • 事务应在应缓存时标记为不可缓存。
    • 每笔交易都是必经步骤;即使涉及缓存,大多数用户也不会多次执行该链(因此至少大多数用户会成功)。
  • APM 正确报告故障。
    • 能够自己完成成功的交易链,如果它不工作,很多警报会响起。

有任何想法吗?如果需要,我可以提供更多详细信息。

4

1 回答 1

0

在尝试解决问题的无数错误之后,我放弃了解决问题的希望。这与 CEM 放在一起的虚假交易序列相结合,让我怀疑我们当前版本的应用程序存在严重缺陷。然后,在我放弃几周(和一个愉快的假期)之后,我偶然发现了根本原因。

CEM 使用会话标识符(源)将事务和组件绑定在一起。在最近的某个时间点,我们在应用程序端对此进行了轻微更改,以获取安全补丁。不仅如此,原来的配置一开始就不正确。如果会话标识设置不正确,CEM 将看似随机地对事务和组件进行分组。下面是一个示例,其中两个不同的会话组件组合在一起以获得错误的计时指标。相反的情况也可能发生:尽管实际发生了其他事务,但并未绑定到请求链中,从而导致缺少事务/组件。

交易错误识别示例。

在我们的例子中,我们在会话识别配置中使用了 SiteMinder 身份验证cookie。cookie 不再存在,并且由于 AND 关系的性质,会话分组从未发生过。我更新了 cookie 名称,产生了这个配置:

带有 SM 和 cookie 存在的会话配置 AND'd。

但是,这仍然无法正常工作。首先,它不适用于未经身份验证的页面,因为我们网站的公共部分可以在 SiteMinder 身份验证之前访问。但是,CPSI cookie 存在于这些公共页面上。不仅如此,经过身份验证的页面也无法正常工作。我仍然不确定为什么经过身份验证的页面会受到影响,因为它们应该同时存在这两个部分。我试图通过使用 OR 关系来修复未经身份验证的页面,如下所示:

在此处输入图像描述

未经身份验证的页面开始正确跟踪时间。此外,这也以某种方式修复了经过身份验证的页面!突然间,我放弃的多步事务开始报告成功,整个应用程序的响应时间发生了巨大变化。由于 CEM 正在构建虚假链,整个应用程序似乎都被误报(尤其是高流量交易)。

TLDR:如果 CEM 似乎报告的时间不准确、多步骤事务不起作用,或者您发现自己将所需组件标记为可缓存以使 CEM 报告成功,我建议检查会话标识配置(管理 -> 业务应用程序 - > {您的应用})。请记住查阅(他们的帮助文档)并认真考虑您的应用程序(经过身份验证与未经身份验证等)以选择正确的配置。

于 2015-08-11T21:00:02.517 回答