本页面适用于 Apigee 和 Apigee Hybrid。
查看 Apigee Edge 文档。
此主题是分析指标、维度和过滤器的参考文档。如需详细了解如何使用这些参数,请参阅 API Analytics 概览。
本主题会显示出现在界面中的指标和维度的名称,并且您需要在 API 调用中使用它们。
- 您在创建和管理自定义报告时会看到界面名称。
- 在获取指标、创建报告定义或更新报告定义时使用 API 特定名称。
指标
您可以在自定义报告和 Apigee API 调用中检索以下 API 指标。
指标 | 在 Apigee API 中使用的名称 | 函数 | 说明 |
---|---|---|---|
每秒平均事务数 | tps |
无 |
平均事务数,即每秒的 API 代理请求数。请注意,如果相应时间段内事务量相对较少,且界面定制报告中的每秒平均事务数小于两位小数,则每秒平均事务数可能为零。 API 语法: |
缓存命中 | cache_hit |
总和 |
使用 API 语法: |
L1 缓存元素计数 | ax_cache_l1_count |
平均值、最小值、最大值 |
在给定时间段内每个事务的 L1(内存)缓存中的元素数量。例如,如果您为一天选择了 API 语法: |
政策错误 | policy_error |
总和 |
在指定时间段内的政策错误总数。 政策错误通常是由设计引起的。例如,如果在请求中传递了无效的 API 密钥, 仅当错误导致 API 代理故障时,才会在分析中记录政策错误。例如,如果政策的 “发生错误的政策名称”( 目标故障(例如 API 语法: |
代理错误 | is_error |
总和 |
API 代理在指定时间段内失败的总次数。当政策失败或发生运行时故障(例如目标服务出现 代理 ( API 语法: |
请求处理延迟时间 | request_processing_latency |
平均值、最小值、最大值 |
Apigee 处理传入请求所用的时间(平均值、最小值或最大值),以毫秒为单位。计时从请求到达 Apigee 开始,到 Apigee 将请求转发给目标服务时结束。 使用不同的维度,您可以通过 API 代理、开发者应用、地区等检查请求处理延迟时间。 API 语法: |
请求大小 | request_size |
总值、平均值、最小值、最大值 |
Apigee 收到的请求载荷的大小(以字节为单位)。 API 语法: |
已执行的响应缓存 | ax_cache_executed |
总和 |
由于 不过,如果政策中的 在调试工具中,您可以点击已执行的 API 调用中的 API 语法: |
响应处理延迟时间 | response_processing_latency |
平均值、最小值、最大值 |
Apigee 处理 API 响应所用的时间(平均值、最小值或最大值),以毫秒为单位。计时从 API 代理收到目标服务响应时开始,到 Apigee 将响应转发给原始调用者时结束。 使用不同的维度,您可以通过 API 代理、地区等来检查响应处理延迟时间。 API 语法: |
响应大小 | response_size |
总值、平均值、最小值、最大值 |
返回客户端的响应负载的大小(以字节为单位)。 API 语法: |
目标错误 | target_error |
总和 |
来自目标服务的 API 语法: |
目标响应时间 | target_response_time |
总值、平均值、最小值、最大值 |
目标服务器响应调用的时长(总值、平均值、最小值或最大值),以毫秒为单位。此指标可帮助您了解目标服务器的性能。计时从 Apigee 将请求转发到目标服务开始,到 Apigee 收到响应时结束。 请注意,如果 API 调用从缓存返回响应(例如,使用 API 语法: |
总响应时间 | total_response_time |
总值、平均值、最小值、最大值 |
从 Apigee 收到来自客户端的请求到 Apigee 将响应发送回客户端所用时长(总值、平均值、最小值或最大值),以毫秒为单位。该时间包括网络开销(例如,负载均衡器和路由器完成工作所需的时间)、请求处理延迟时间、响应处理延迟时间以及目标响应时间(如果响应是来自目标服务,而不是缓存)。 使用不同的维度,您可以通过 API 代理、开发者应用、地区等检查处理延迟时间。 API 语法: |
流量 | message_count |
总和 |
Apigee 在指定时间段内处理的 API 调用总数。 使用维度以对您最有意义的方式对流量计数进行分组。 API 语法: |
获利 | |||
费用 | fees |
总值、平均值、最小值、最大值 |
表示设置费用、周期性费用或预付款充值的金额。 API 语法: |
开发者收益分成 | x_apigee_mintng_dev_share |
总值、平均值、最小值、最大值 |
交易收入中的开发者分成。仅当您在费率方案中启用收益分成时,Apigee 才会计算开发者的分成。 开发者的份额的计算公式如下: x_apigee_mintng_dev_share = revShareGrossPrice * (share percentage)
分成百分比的值将从费率方案中提取。 API 语法: |
获利价格 | x_apigee_mintng_price |
总值、平均值、最小值、最大值 |
交易的总收入。交易收入设置为 DataCapture 政策中捕获的 API 语法: |
API 价格系数 | x_apigee_mintng_price_multiplier |
总值、平均值、最小值、最大值 |
每笔交易费用的系数(系数)。每笔交易费用在费率方案的基于使用量的费用价格中指定。 API 语法: |
创收率 | x_apigee_mintng_rate |
总值、平均值、最小值、最大值 |
交易收费费率。交易费用按以下公式计算: x_apigee_mintng_rate = (consumption-based pricing rate) * perUnitPriceMultiplier value
基于消耗量的价格值将从价格方案中提取,并且仅在 DataCapture 政策捕获该变量时才会相乘该 API 语法: |
维度
维度可让您查看有意义的分组中的指标。例如,当您查看每个开发者应用或 API 代理的总流量计数时,会看到其变得更加强大。
以下是 Apigee 开箱即用的维度。
维度 | 在 Apigee API 中使用的名称 | 说明 |
---|---|---|
Access Token | access_token |
应用最终用户的 OAuth 访问令牌。 |
API 产品 | api_product |
|
缓存键 | ax_cache_key |
包含被访问的 在调试工具中,当您选择用于读取缓存数据或将数据写入缓存的 |
缓存名称 | ax_cache_name |
包含 在调试工具中,当您选择 |
缓存源: | ax_cache_source |
从中检索 在调试工具中,当您选择 如需详细了解缓存级别,请参阅缓存内部说明。 |
客户端 ID | client_id |
进行 API 调用的开发者应用的使用方密钥(API 密钥),可以作为 API 密钥在请求中传递也可以包含在 OAuth 令牌中。 若要获取此维度,必须配置接收调用的代理,使其可以检查是否存在有效的 API 密钥或 OAuth 令牌。在 Apigee 中注册应用后,开发者应用可获得用于生成 OAuth 令牌的 API 密钥。如需了解详情,请参阅如何生成完整的分析数据?。 如果不符合上述条件,您会看到值 |
开发者应用 | developer_app |
进行 API 调用的 Apigee 注册的开发者应用。 要获得此维度,应用必须与包含正被调用的 API 代理的一个或多个 API 产品关联,并且代理必须检查 API 密钥或随 API 调用一起发送的 OAuth 令牌。密钥或令牌用于识别开发者应用。如需了解详情,请参阅如何生成完整的分析数据?。 如果不符合上述条件,您会看到值 |
开发者电子邮件地址 | developer_email |
|
开发者 ID: | developer |
由 Apigee 生成的唯一开发者 ID,格式为 为了获取此维度,开发者必须拥有与一个或多个包含正被调用的 API 代理的 API 产品相关联的应用,并且代理必须检查 API 密钥或随 API 调用一起发送的 OAuth 令牌。密钥或令牌用于标识开发者。有关详情,请参阅如何生成完整的分析数据?。 如果不符合上述条件,您会看到值 |
环境 | environment |
在其中部署 API 代理的 Apigee 环境。例如 test 或 prod 。 |
发生错误时的故障代码 | ax_edge_execution_fault_code |
错误的故障代码。例如: |
流名称错误 | ax_execution_fault |
API 代理中引发错误的已命名流。例如 请注意,在 Apigee API 中使用的全名为 如果没有发生错误,您将会看到值 |
流资源 | flow_resource |
仅限 Apigee 使用。如果您有兴趣,请参阅如何在 Google Analytics 中使用“资源流”维度。 |
流状态错误 | ax_execution_fault |
引发错误的 API 代理流状态的名称,例如 请注意,在 Apigee API 中使用的全名为 |
网关流 ID | gateway_flow_id |
当 API 调用在 Apigee 中移动时,每次调用都会获得自己的网关流程 ID。示例:rrt329ea-12575-114653952-1。网关 ID 有助于区分高 TPS 指标(在这些场景中,组织、环境和时间戳等维度在其他调用中是完全相同的)。 |
组织 | organization |
部署 API 代理的 Apigee 组织。 |
政策名称错误 | ax_execution_fault |
抛出错误并导致 API 调用失败的政策的名称。 请注意,在 Apigee API 中使用的全名为 如果政策抛出错误,但将政策根属性 |
代理 | apiproxy |
API 代理的机器名称(不是显示名称)。 |
代理基本路径 | proxy_basepath |
在 API 代理 ProxyEndpoint 上配置的 BasePath。基本路径不包括 API 代理网址的网域和端口部分。例如,如果 API 代理的基础网址为 该值也存储在 |
代理部署类型 | proxy_deployment_type |
已部署代理的 API 代理类型。指定代理类型会将结果限制为该代理类型。可能的值为 |
代理路径后缀 | proxy_pathsuffix |
向 API 代理基本路径添加的资源路径。例如,如果 API 代理的基础网址为 如果未使用 该值也存储在 |
代理修订版本 | apiproxy_revision |
处理 API 调用的 API 代理的修订版本号。这不一定代表 API 代理的最新修订版本。如果 API 代理有 10 个修订版本,那么目前可能会部署第 8 个修订版本。此外,只要修订版本具有不同的基本路径,API 就可以部署多个修订版本,如部署代理中所述。 |
已解析的客户端 IP | ax_resolved_client_ip |
源客户端 IP 地址。 请注意,在使用 Akamai 等路由产品捕获客户端的真实 IP 地址时,客户端 IP 会在 HTTP 标头中传递给 Apigee
|
响应状态代码 | response_status_code |
从 Apigee 转发到客户端的 HTTP 响应状态代码,例如 200 、404 、503 等。在 Apigee 中,来自目标的响应状态代码可以被 AssignMessage 政策和 RaiseFault 政策等政策覆盖,这就是该维度与目标响应代码 (target_response_code)不同的原因。 |
虚拟主机 | virtual_host |
API 调用所调用的虚拟主机的名称。如需了解详情,请参阅环境和环境组简介。 |
入站/客户端 | ||
客户端 IP 地址 | client_ip |
命中路由器的系统 IP 地址,例如原始客户端 (proxy_client_ip) 或负载均衡器。如果 X-Forwarded-For 标头中有多个 IP,则这是最后列出的 IP。 |
设备类别 | ax_ua_device_category |
发起 API 调用的设备的类型,例如 Tablet 或 Smartphone 。 |
OS 系列 | ax_ua_os_family |
发起调用的设备的操作系统系列,例如 Android 或 iOS 。 |
操作系统版本 | ax_ua_os_version |
发起调用的设备的操作系统版本。 将此维度用作操作系统系列 (ax_ua_os_family) 的第二层展开细目维度以查看操作系统版本会很有帮助。 |
代理客户端 IP | proxy_client_ip |
调用客户端的 IP 地址,存储在 |
引用的客户端 IP | ax_true_client_ip |
使用 Akamai 等路由产品捕获客户端的真实 IP 地址时,客户端 IP 会在 HTTP 标头 为了确定通过 |
请求路径 | request_path |
目标服务的资源路径(不包括网域),不包括查询参数。 例如,Apigee 示例目标 |
请求 URI | request_uri |
目标服务的资源路径(不包括网域),包括查询参数。 例如,Apigee 示例目标 |
请求动词 | request_verb |
API 请求中的 HTTP 请求动词,例如 GET、POST、PUT、DELETE。 |
用户代理 | useragent |
用于发起 API 调用的用户代理或软件代理的名称。示例:
|
用户代理系列 | ax_ua_agent_family |
用户代理的系列,例如 Chrome Mobile 或 curl 。 |
用户代理类型 | ax_ua_agent_type |
用户代理类型,例如 Browser 、Mobile Browser 、Library 等。 |
用户代理版本 | ax_ua_agent_version |
用户代理的版本。 将此维度用作用户代理系列 (ax_ua_agent_family) 的第二层展开细目维度以获取代理系列版本会很有帮助。 |
去程/目标 | ||
目标 | target |
处理请求的目标端点。例如 default 。 |
目标基本路径 | target_basepath |
在代理的 例如,假设 API 代理调用以下目标: <TargetEndpoint name="default"> ... <HTTPTargetConnection> <URL>http://mocktarget.apigee.net/user?user=Dude</URL> </HTTPTargetConnection> 在此示例中,target_basepath 为 如果目标为: <TargetEndpoint name="default"> ... <HTTPTargetConnection> <URL>http://mocktarget.apigee.net</URL> </HTTPTargetConnection> target_basepath 将为 null。 在调试工具中,当您在流程图末尾选择 AX 图标时, |
gRPC 服务名称 | x_apigee_grpc_service_name |
仅在目标服务为 gRPC 时适用。gRPC 服务名称。如需了解 gRPC 代理,请参阅创建 gRPC API 代理。 |
gRPC 状态 | x_apigee_grpc_status |
仅在目标服务为 gRPC 时适用。gRPC 请求状态。如需了解 gRPC 代理,请参阅创建 gRPC API 代理。 |
目标主机 | target_host |
目标服务的主机。例如,如果 API 代理调用 http://mocktarget.apigee.net/help ,则 target_host 为 mocktarget.apigee.net 。 |
目标 IP 地址 | target_ip |
将响应返回到 API 代理的目标服务的 IP 地址。 |
目标响应代码 | target_response_code |
目标服务向 API 代理返回的 HTTP 响应状态代码,例如 值 这与响应状态代码 (response_status_code) 维度不同。 |
gRPC RPC 名称 | x_apigee_grpc_rpc_name |
仅在目标服务为 gRPC 时适用。RPC 名称。如需了解 gRPC 代理,请参阅创建 gRPC API 代理。 |
目标网址 | target_url |
API 代理的 TargetEndpoint 中定义的目标服务的完整网址。 <TargetEndpoint name="default"> ... <HTTPTargetConnection> <URL>http://mocktarget.apigee.net/user?user=Dude</URL> </HTTPTargetConnection> 在此示例中,target_url 为 请注意,您还可以在 API 代理处理期间使用 在代理链中,调用代理中的 target_url 为 null。 |
X-Forwarded-For IP | x_forwarded_for_ip |
为了确定通过 |
X-Forwarded-For Proto | x_forwarded_proto |
客户端用于连接到路由器的协议。有效值包括 |
时间 | ||
一周中的第几天 | ax_day_of_week |
发起 API 调用的周几的三个字母缩写。例如,周一、周二、周三。 |
月 | ax_month_of_year |
进行 API 调用的月份。例如,03 表示三月。 |
当天时间 | ax_hour_of_day |
根据 24 小时制,进行 API 调用的 2 位数小时。例如,在晚上 10 点到 11 点之间进行 API 调用,则 ax_hour_of_day 为 22。 时间值采用 UTC 格式。 |
时区 | ax_geo_timezone |
发起 API 调用的时区的常见名称,例如 America/New_York 和 Europe/Dublin 。 |
一个月中某周 | ax_week_of_month |
一个月中的第几周。例如,如果在一个月的第 3 周进行 API 调用,ax_week_of_month 为 3。 |
位置 | ||
城市 | ax_geo_city |
发起 API 调用的城市。 |
大洲 | ax_geo_continent |
发起 API 调用的大洲的双字母代码。例如,NA 表示北美。 |
国家/地区 | ax_geo_country |
发起 API 调用的国家/地区的双字母代码。例如,US 表示美国。 |
地理区域 | ax_geo_region |
地理区域的用连字符连接的代码,例如 STATE-COUNTRY 。例如,WA-US 表示美国华盛顿。 |
区域 | ax_dn_region |
部署 API 代理的 Apigee 数据中心的名称,例如 us-east-1 。 |
获利 | ||
创建时间 | created |
目前适用于 Apigee 组织,不适用于 Apigee Hybrid 组织。 为应用开发者和 API 产品添加费用时间表时的 Unix 时间戳。 |
费用类型 | fees_type |
费用类型。可以是设置费用、周期性费用或预付款充值。只有在您选择了 Fees 指标时,系统才会填充此值。 |
收入货币 | x_apigee_mintng_currency |
|
费率方案 ID | x_apigee_mintng_rate_plan_id |
目前适用于在 Apigee 组织,不适用于 Apigee Hybrid 组织。 应用开发者的获利费率方案。 |
事务成功 | x_apigee_mintng_tx_success |
交易的获利状态设置为 DataCapture 政策中捕获的 transactionSuccess 获利变量的值。 |
过滤条件
借助过滤条件,您可将结果限制为具有特定特征的指标。以下是一些过滤条件示例。定义过滤条件时,请使用指标和维度 API 样式的名称。
返回名称簿或音乐的 API 代理的指标:
filter=(apiproxy in 'books','music')
返回名称以 m
开头的 API 代理的指标:
filter=(apiproxy like 'm%')
返回名称不以 m
开头的 API 代理的指标:
filter=(apiproxy not like 'm%')
返回响应状态代码介于 400
到 599
之间的 API 调用的指标:
filter=(response_status_code ge 400 and response_status_code le 599)
返回响应状态代码为 200
且目标响应代码为 404
的 API 调用的指标:
filter=(response_status_code eq 200 and target_response_code eq 404)
返回响应状态代码为 500
的 API 调用的指标:
filter=(response_status_code eq 500)
返回不会引发错误的 API 调用的指标:
filter=(is_error eq 0)
返回不会引发 null
响应的 API 调用的指标:
filter=(response_status_code isnot null)
以下是可用于构建报告过滤条件的运算符。
运算符 | 说明 |
---|---|
in |
添加到列表中 |
notin |
从列表中移除 |
is |
使用 response_status_code is null 可过滤状态代码为 null 的响应。 |
isnot |
使用 response_status_code isnot null 可过滤状态代码不是 null 的响应。 |
eq |
等于,== |
ne |
不等于,!= |
gt |
大于,> |
lt |
小于,< |
ge |
大于或等于,>= |
le |
小于或等于,<= |
like |
如果字符串格式与提供的格式匹配,则返回 true。 |
not like |
如果字符串格式与提供的格式匹配,则返回 false。 |
similar to |
根据其格式是否匹配给定的字符串,返回 true 或 false。它类似于 like ,不同之处在于它使用 SQL 标准正则表达式定义来解释格式。 |
not similar to |
根据其格式是否匹配给定的字符串,返回 false 或 true。它类似于 not like ,不同之处在于它使用 SQL 标准正则表达式定义来解释格式。 |
and |
可让您使用 AND 逻辑来包含多个过滤条件表达式。该过滤条件包括满足所有条件的数据。 |
or |
允许您使用 OR 逻辑来计算不同的可能过滤条件表达式。过滤条件包括满足至少一个条件的数据。 |