You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS CloudWatch Evidently实验无法记录自定义指标事件求助

AWS CloudWatch Evidently实验无事件记录问题排查

问题描述

已配置AWS CloudWatch Evidently项目、功能及包含自定义指标的实验,但Evidently无法记录任何事件。通过CLI及React代码调用evaluate-feature和put-project-events接口均返回成功,但实验中的事件计数始终为0。CloudWatch指标中能看到数据,但Evidently实验内无展示。已尝试多种排查步骤,问题仍未解决,寻求排查方向或解决方案。

CLI命令及返回结果

执行的CLI命令

aws evidently evaluate-feature \
    --entity-id "12.345.678.90" \
    --feature "SolutionInterest" \
    --project "myprojectname"

aws evidently put-project-events \
    --project "myprojectname"\
    --events '[{"data" : "{\"value\":\"1\", \"userIP\":\"12.345.678.90\"}", "timestamp":"1693156893", "type":"aws.evidently.custom" }]'

接口返回结果

{
    "details": "{\"experiment\":\"Test\",\"treatment\":\"Variation2\"}",
    "reason": "EXPERIMENT_RULE_MATCH",
    "value": {
        "boolValue": true
    },
    "variation": "Variation2"
}
{
    "eventResults": [
        {
            "eventId": "fddbaf08-ad49-40d1-bcaa-aa49f44ea5e1"
        }
    ],
    "failedEventCount": 0
}

实验指标规则配置

{
  "entityIdKey": "userIP",
  "valueKey": "value",
  "eventPattern": {
    "userIP": [
      {
        "exists": true
      }
    ],
    "value": [
      {
        "exists": true
      }
    ]
  }
}

React代码及控制台返回

React实现代码

import { EvidentlyClient, EvaluateFeatureCommand, PutProjectEventsCommand } from "@aws-sdk/client-evidently";

const eviclient = new EvidentlyClient({ 
    region : 'eu-north-1',
    endpoint: "https://evidently.eu-north-1.amazonaws.com",
    credentials : {
        accessKeyId     : 'AKIA2NxxxxxxxxW6P3UL', 
        secretAccessKey : 'fo5hMrufII7eHZxxxxxxxxS/5ZHnXqIFXNXGHt2e'
    }
});

async function evaluate() {
    const command1 = new EvaluateFeatureCommand({ 
        project: "myprojectname", feature: "SolutionInterest",  entityId: "12.345.678.90"
    });
    const command2 = new PutProjectEventsCommand({
        project: "myprojectname", events: [
          { timestamp: new Date(), type: "aws.evidently.custom", data: JSON.stringify({ "userIP": "12.345.678.90", "value": "1" }) }
        ]
    });
    let response1 =  await eviclient.send(command1);
    console.log('response1: ' + JSON.stringify(response1));
    let response2 =  await eviclient.send(command2);
    console.log('response2: ' + JSON.stringify(response2));
}

function App() {
    evaluate();
    return null;
}

控制台返回结果

[Log] response1: {"$metadata":{"httpStatusCode":200,"requestId":"f9f35837-4796-4456-925f-97be4afaa240","attempts":1,"totalRetryDelay":0},"details":"{\"experiment\":\"Test4\",\"treatment\":\"Variation2\"}","reason":"EXPERIMENT_RULE_MATCH","value":{"boolValue":true},"variation":"Variation2"}

[Log] response2: {"$metadata":{"httpStatusCode":200,"requestId":"fb29f316-85bc-4416-9dcf-920ba98fae57","attempts":1,"totalRetryDelay":0},"eventResults":[{"errorCode":null,"errorMessage":null,"eventId":"434115a0-0e18-4cae-a2fe-c53f8dca117d"}],"failedEventCount":0}

已尝试的排查步骤

  • 在其他区域创建项目和实验,问题依旧;
  • 使用客户端配置的同一身份创建实验,问题未解决;
  • 创建带规则模式和不带规则模式的指标,无差异;
  • 尝试给PutProjectEventsCommand的data参数传递JSON和字符串两种格式,无变化。

排查方向与解决方案

  1. 验证事件时间范围:确保put-project-events传递的timestamp在实验的启动时间和结束时间范围内,CLI命令中使用的1693156893需确认是否在实验有效期内,React代码中new Date()生成的时间需实时匹配实验运行时段。
  2. 检查指标规则与事件数据的匹配性:
    • 若指标为数值型,需确保value字段传递的是数字类型而非字符串(比如将"value": "1"改为"value": 1);
    • 确认entityIdKey对应的userIP字段值,与evaluate-feature调用时的entityId完全一致,且格式统一(均为字符串)。
  3. 等待事件处理延迟:Evidently事件统计存在5-10分钟的延迟,发送事件后不要立即查看实验面板,等待足够时间后再刷新验证。
  4. 查看Evidently日志:在CloudWatch Logs中找到对应项目的日志组(格式为/aws/evidently/projects/[your-project-name]),检查是否存在事件解析错误、匹配失败等日志信息,定位具体问题。
  5. 确认实验状态与受众规则:
    • 确保实验处于Running状态,而非Draft或Completed;
    • 检查实验的受众规则,确认当前entityId未被过滤(evaluate-feature返回EXPERIMENT_RULE_MATCH已说明匹配,但需再次验证规则逻辑)。
  6. 验证IAM权限细节:
    • 除了evidently:PutProjectEvents和evidently:EvaluateFeature权限,需确认调用者拥有evidently:PutProjectEvents的资源级权限,允许操作目标项目;
    • 检查是否存在权限边界或组织策略限制事件向实验的关联。

内容的提问来源于stack exchange,提问作者jev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 23:55:23