使用 API 查看日志

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

下载 API Monitoring 日志,以查看用于计算 API Monitoring 信息中心内所显示指标的原始数据。您可以下载自定义时间范围、特定代理、特定状态代码以及许多其他变量的日志。

注意:默认情况下,调用 Logs API 仅返回状态代码 4xx 和 5xx 的结果,但不会返回代码 2xx 的结果。这样做是为了限制结果数量,因为大多数结果的状态代码为 2xx。如需获取状态代码为 2xx 的结果,请将 status=2xx 添加到请求中。例如:https://apimonitoring.enterprise.apigee.com/logs?status=2xx

以下各部分介绍了如何使用 API 管理日志:

如需详细了解 Logs API,请参阅 Logs API

如需了解这些示例中使用的 c网址 选项,请参阅使用 c网址

下载组织和环境的日志

使用 Logs API 下载特定组织和环境的日志:

https://apimonitoring.enterprise.apigee.com/logs

您必须使用 orgenv 查询参数传递组织和环境的名称。

默认情况下,API 会返回过去一小时内最新的 10 个日志条目。例如:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/logs?org=myorg&env=prod" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

$ACCESS_TOKEN 设置为 OAuth 2.0 访问令牌,如获取 OAuth 2.0 访问令牌中所述。

响应是日志条目数组,格式如下:

[   
  {
"request":"GET /v1/o/myorg/z HTTP/1.1",
    "request_length":1349,
    "request_message_id":"rrt-0623eb157b650315c-c-ne-7785-16029140-1",
    "virtual_host":"api.enterprise.apigee.com",
    "response_size":144,
    "response_time":0.551,
    "response_status":"404",
    "timestamp":"2018-08-14T17:31:07Z",
    "fault_code":"messaging.adaptors.http.flow.ErrorResponseCode",
    "fault_flow":"-",
    "fault_policy":"null/null",
    "fault_proxy":
        "/organizations/myorg/environments/prod/apiproxies/myAPI/revisions/50",
    "fault_source":"target"
  },
  …
]

使用 fromto 查询参数指定 ISO 格式的时间范围。日期格式可以是:

  • yyyy-mm-ddThh:mm:ssZ
  • yyyy-mm-ddThh:mm:ss+00:00

例如:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/logs?org=myorg&env=prod&from=2018-08-13T14%3A04%3A00Z&to=2018-08-13T14%3A10%3A00Z" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

该 API 有许多可选的查询参数。 例如,如需查看名为 myAPI 的代理(生成 HTTP 404 响应)的日志,请使用以下命令:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/logs?org=myorg&env=prod&proxy=myAPI&status=404" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

如需返回 10 个以上的日志条目,请设置 limit 查询参数。您可以将其设置为最大值 1000:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/logs?org=myorg&env=prod&proxy=myAPI&status=404&limit=200" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN"

如需了解其他选项,请参阅 Logs API

列出与虚拟主机和基本路径关联的代理

借助边缘路由器上的虚拟主机,您可以指定域名、协议(例如 HTTP/HTTPS)和端口号。例如,您在 Edge Router 路由器上使用以下设置定义一个虚拟主机:

  • 主机别名 = apis.acme.com
  • port = 443
  • TLS 已启用

根据这些设置,向与此虚拟主机关联的 API 代理发出的请求将使用以下格式:

https://apis.acme.com/proxy-base-path/resource-path

其中:

  • proxy-base-path 在您创建 API 代理时定义,并且对于每个 API 代理都是唯一的。
  • resource-path 是通过 API 代理访问的资源的路径。

如需详细了解虚拟主机,请参阅虚拟主机简介

通过向 Logs API 的以下资源发出 GET 请求,下载与特定虚拟主机和基本路径关联的 API 代理列表:

https://apimonitoring.enterprise.apigee.com/logs/apiproxies

您必须使用 orgenv 查询参数以及与虚拟主机和基本路径关联的 URI 传递组织和环境的名称。

例如,以下 API 调用会返回与虚拟主机 http://apis.acme.com 关联且基本路径为 /v1/perf 的代理:

curl -X GET \
"https://apimonitoring.enterprise.apigee.com/logs/apiproxies?org=myorg&env=prod&select=http://apis.acme.com/v1/perf" \
-H "accept: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" 

$ACCESS_TOKEN 设置为 OAuth 2.0 访问令牌,如获取 OAuth 2.0 访问令牌中所述。

如需了解其他选项,请参阅 Logs API