Transactions CA APM CEM:未找到事务序列中的非标识事务

Transactions CA APM CEM:未找到事务序列中的非标识事务,transactions,apm,Transactions,Apm,我在定义交易方面有一些经验,并且已经审查了和。我们正在使用CA APM 9.1.5版。我在下面的录制会话中捕获了一个由4部分组成的事务 在升级记录、调整标识事务的匹配条件并从事务中删除可缓存后,我有了以下业务事务: 同步监视器后,我看到了结果。然而,对于每个捕获的事务,我都会得到3个缺陷:所有未识别的事务都缺少一个事务 正确定义了标识事务(我不会从没有此调用链的其他事务中溢出)。未识别的交易也被正确定义;为了证明这一点,我将标识事务从注册表更改为login.fcc,获取了该用例特有的流量,并

我在定义交易方面有一些经验,并且已经审查了和。我们正在使用CA APM 9.1.5版。我在下面的录制会话中捕获了一个由4部分组成的事务

在升级记录、调整标识事务的匹配条件并从事务中删除可缓存后,我有了以下业务事务:

同步监视器后,我看到了结果。然而,对于每个捕获的事务,我都会得到3个缺陷:所有未识别的事务都缺少一个事务

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

潜在问题概述及其原因:

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

有什么想法吗?如果需要的话,我可以提供更多细节。

在试图解决这个问题的无数错误之后,我放弃了解决它的希望。这与CEM正在组合的伪事务序列相结合,使我怀疑我们当前版本的应用程序中存在严重缺陷。然后,在我放弃几周后(还有一个愉快的假期),我偶然发现了根本原因

CEM使用会话标识符()将事务和组件绑定在一起。在最近的一段时间里,我们在应用程序端对此做了一点小小的更改,以获得一个安全补丁。不仅如此,最初的配置并不正确。如果会话标识设置不正确,CEM将对事务和组件进行看似随机的分组。下面是一个示例,其中两个不同的会话组件组合在一起以获得错误的时间度量。相反的情况也可能发生:其他事务没有绑定到请求链中(尽管实际发生),导致缺少事务/组件

在我们的例子中,我们在会话标识配置中使用了SiteMinder身份验证和cookie。cookie不再存在,并且由于and'd关系的性质,会话分组从未发生过。我更新了cookie名称,导致以下配置:

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

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

TLDR:如果CEM似乎报告的时间不准确,多步骤事务无法工作,或者您发现自己将所需组件标记为可缓存以使CEM报告成功,我建议检查会话标识配置(管理->业务应用程序->{Your App})。请记住咨询()并仔细考虑您的应用程序(已验证与未验证等),以选择正确的配置