API 事件记录字段
每次调用 API 操作时都会记录 API 事件,并为网关服务器中的每个 API 事件生成一条事件记录。 API 事件记录包含有关 API 调用的信息,记录内容取决于为该操作设置的日志记录策略。
您可以使用活动日志策略来为“分析”组件中存储的 API 事件详细信息配置日志记录首选项。
缺省情况下,如果 API 调用成功,将记录调用详细信息,如果 API 调用导致错误代码,将记录调用、头和有效内容(消息体)详细信息。要覆盖这些缺省设置和更改 API 事件记录中所含的详细信息的级别,可将活动日志策略添加到 API 组合件,然后配置策略属性。例如:
- 要在成功 API 调用的 API 事件记录中包含有关请求主体或响应主体的详细信息,可向关联的 API 操作添加活动日志策略并将内容类型设置为 payload。限制: 对于在法兰克福区域托管的 Bluemix 实例,禁用了有效内容日志记录功能。该区域对于存储敏感个人信息 (SPI) 的要求限制性更强,因此无法保存有效内容信息。
- 要在成功 API 调用的 API 事件记录中包含有关 HTTP 请求头或 HTTP 响应头的详细信息,可向关联的 API 操作添加活动日志策略并将内容类型设置为 header 或 payload。
提示: 日志策略字段包含在事件记录中,用于标识日志记录设置。
要查看可包含在 API 事件记录中的调用、头和有效内容详细信息的示例,请参阅:
下表列出了 API 事件记录中显示的一组静态字段。创建可视化时,可使用这些字段配置聚集,以定义待检索和显示的信息的类型和级别。有关更多信息,请参阅配置可视化。如果将日志记录首选项配置为包含头和有效内容详细信息,那么在配置聚集时您还可以选择头和有效内容字段,
以便您在需要时根据头和有效内容数据创建可视化。
字段名称 | 类型 | 描述 |
---|---|---|
@timestamp | 日期 | 用于记录 Logstash 数据收集引擎(将数据提供给 Elasticsearch)何时写入记录的时间戳记。 |
api_id | 字符串 | API 标识。 |
api_name | 字符串 | API 的名称。 |
api_version | 数字 | API 的版本号。 |
app_id | 字符串 | 已注册的应用程序的标识。 |
app_name | 字符串 | 已注册的应用程序的名称。 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
bytes_received | 数字 | 入站请求已接收的字节数。 |
bytes_sent | 数字 | 出站请求已发送的字节数。 |
client_geoip.area_code | 数字 | 客户机(通过其 IP 地址标识)的公共交换电话网 (PSTN) 区域代码。 |
client_geoip.city_name | 字符串 | 客户机(通过其 IP 地址标识)所在城市的名称。 |
client_geoip.continent_code | 字符串 | 客户机(通过其 IP 地址标识)所在洲的代码(两个字母)。 |
client_geoip.country_code2 | 字符串 | 客户机(通过其 IP 地址标识)所在国家或地区的代码(两个字母)。 |
client_geoip.country_code3 | 字符串 | 客户机(通过其 IP 地址标识)所在国家或地区的代码(三个字母)。 |
client_geoip.country_name | 字符串 | 客户机(通过其 IP 地址标识)所在国家或地区的名称。 |
client_geoip.dma_code | 数字 | 客户机(通过其 IP 地址标识)的指定市场区域 (DMA) 代码。 |
client_geoip.ip | 字符串 | 客户机的 IP 地址。 |
client_geoip.latitude | 数字 | 客户机(通过其 IP 地址标识)位置的纬度。 |
client_geoip.location | 字符串 | 客户机(通过其 IP 地址标识)位置的经度和纬度(以逗号分隔)。 |
client_geoip.longitude | 数字 | 客户机(通过其 IP 地址标识)位置的经度。 |
client_geoip.postal_code | 字符串 | 客户机(通过其 IP 地址标识)的邮政编码。 |
client_geoip.real_region_name | 字符串 | 与客户机 IP 地址对应的区域的完整名称。 |
client_geoip.region_name | 字符串 | 与客户机 IP 地址对应的区域的缩写形式。 |
client_geoip.timezone | 字符串 | 客户机(通过其 IP 地址标识)的时区。 |
![]() |
![]() |
![]() |
client_ip | 字符串 | 从 X-Forwarded-For 头获取的原始客户机 IP 地址。 |
datetime | 日期 | 用于记录何时执行 API 的时间戳记。始终采用全球标准时间 UTC 来显示此时间戳记。 |
developer_org_id | 字符串 | 拥有该应用程序的开发者组织的标识。 |
developer_org_name | 字符串 | 拥有该应用程序的开发者组织的名称。 |
env_id | 字符串 | 目录标识。 |
env_name | 字符串 | 目录的名称。 |
gateway_geoip.area_code | 数字 | 网关(通过其 IP 地址标识)的公共交换电话网 (PSTN) 区域代码。 |
gateway_geoip.city_name | 字符串 | 网关(通过其 IP 地址标识)所在城市的名称。 |
gateway_geoip.continent_code | 字符串 | 网关(通过其 IP 地址标识)所在洲的代码(两个字母)。 |
gateway_geoip.country_code2 | 字符串 | 网关(通过其 IP 地址标识)所在国家或地区的代码(两个字母)。 |
gateway_geoip.country_code3 | 字符串 | 网关(通过其 IP 地址标识)所在国家或地区的代码(三个字母)。 |
gateway_geoip.country_name | 字符串 | 网关(通过其 IP 地址标识)所在国家或地区的名称。 |
gateway_geoip.dma_code | 数字 | 网关(通过其 IP 地址标识)的指定市场区域 (DMA) 代码。 |
gateway_geoip.ip | 字符串 | 网关的 IP 地址。 |
gateway_geoip.latitude | 数字 | 网关(通过其 IP 地址标识)位置的纬度。 |
gateway_geoip.location | 字符串 | 网关(通过其 IP 地址标识)位置的经度和纬度(以逗号分隔)。 |
gateway_geoip.longitude | 数字 | 网关(通过其 IP 地址标识)位置的经度。 |
gateway_geoip.postal_code | 字符串 | 网关(通过其 IP 地址标识)的邮政编码。 |
gateway_geoip.real_region_name | 字符串 | 与网关 IP 地址对应的区域的完整名称。 |
gateway_geoip.region_name | 字符串 | 与网关 IP 地址对应的区域的缩写形式。 |
gateway_geoip.timezone | 字符串 | 网关(通过其 IP 地址标识)的时区。 |
gateway_ip | 字符串 | 网关的 IP 地址。 |
headers.field_name | 字符串 | 消息的头部分的组件。 |
host | 字符串 | 主机名或 IP 地址。 |
http_user_agent | 字符串 | 入站请求的“用户代理”头的值。 |
immediate_client_ip | 字符串 | 网关正前面的客户机 IP 地址。在大多数情况下,这是负载均衡器。 |
latency_info.started | 数字 | 接收到请求和网关启动相应任务之间的时间延迟(以毫秒为单位)。 |
latency_info2.ended | 数字 | 此字段仅包含在用户界面导出的信息中。接收到请求和网关结束相应任务之间的时间延迟(以毫秒为单位)。 |
latency_info.task | 字符串 | 要完成的 API 事务的类型。 |
latency_info2.task | 字符串 | 此字段仅包含在用户界面导出的信息中。要完成的 API 事务的类型。 |
log_policy | 字符串 | 已定义的日志记录策略。值包括“无”、“事件”、“头”和“有效内容”。 |
org_id | 字符串 | 拥有该 API 和关联产品的提供者组织的标识。 |
org_name | 字符串 | 拥有该 API 和关联产品的提供者组织的名称。 |
plan_id | 字符串 | 计划标识。 |
plan_name | 字符串 | 计划的名称。 |
plan_version | 数字 | 计划的版本号。 |
product_name | 字符串 | 产品的名称。 |
product_title | 字符串 | 产品的标题。 |
product_version | 字符串 | 产品的版本号。 |
query_string | 字符串 | 入站请求的 URL 查询字符串值。 |
rateLimit.count | 数字 | 在已定义的比率限制期限内执行的 API 调用次数。 |
rateLimit.limit | 数字 | 在指定的期限内允许应用程序对 API 发出的最大请求数。 |
rateLimit.period | 数字 | 用于为 API 调用设置比率限制的期限。 |
rateLimit.reject | 字符串 | 指示是否将拒绝超出所指定比率限制的调用。如果此字段为 true,那么将拒绝 API 调用,并返回 429 状态码。如果此字段为 false,那么会在“活动”日志中创建一条记录。 |
rateLimit.shared | 字符串 | 指示是所有操作在计划级别共享比率限制,还是针对个别操作指定比率限制。 |
request_body | 字符串 | 入站请求的主体。 |
request_http_headers.field_name | 字符串 | 入站请求的 HTTP 头部分的组件;例如,可接受的编码、用户代理程序的标识字符串或用于发送请求的代理。 |
request_method | 字符串 | 入站请求的方法。 |
request_protocol | 字符串 | 入站请求的协议。 |
resource | 字符串 | 操作的名称。 |
resource_id | 字符串 | 操作标识。 |
resource_path | 字符串 | 操作路径。 |
response_body | 字符串 | 出站响应的主体。 |
response_http_headers.field_name | 字符串 | 出站响应的 HTTP 头部分的组件;例如,内容的 MIME 类型或发送消息的日期和时间。 |
status_code | 字符串 | 出站响应设置的状态码。 |
time_to_serve_request | 数字 | 用于处理 API 请求的时间(以毫秒计)。 |
transaction_id | 字符串 | API 事务的标识。 |
uri_path | 字符串 | 入站请求的 URI 路径。 |
示例:含调用详细信息(activity 日志记录设置)的事件记录
![[V5.0.7 或更高版本]](./../buildfiles/icon_v507.jpg)
限制: billing 对象字段仅在 V5.0.7.2 和更高版本中受支持。
{
"datetime": "2016-09-29T22:17:43.404Z",
"latency_info": [
{
"task": "Start",
"started": 2
},
{
"task": "security-appID",
"started": 7
},
{
"task": "Plan Limit",
"started": 11
},
{
"task": "proxy",
"started": 12
}
],
"api_version": "1.0.0",
"product_version": "1.0.0",
"product_name": "__INTERNAL_QS__",
"plan_version": "1.0.0",
"uri_path": "/macs-shack/sb/AccountService",
"request_method": "POST",
"log_policy": "activity",
"request_protocol": "https",
"query_string": [],
"request_body": "",
"response_body": "",
"bytes_received": 256,
"bytes_sent": 256,
"time_to_serve_request": 301,
"status_code": "200 OK",
"request_http_headers": [],
"response_http_headers": [],
"org_name": "macs-shack",
"api_name": "accountservice",
"catalog_name": "sb",
"resource_path": "post",
"plan_name": "default",
"developer_org_name": "macs-shack",
"billing": {
"trial_period_days": "0",
"amount": "0",
"currency": "USD",
"model": "free",
"provider": "none"
},
"client_geoip": {
"ip": "9.20.152.215",
"country_code2": "US",
"country_code3": "USA",
"country_name": "United States",
"continent_code": "NA",
"region_name": "NC",
"city_name": "Durham",
"postal_code": "27709",
"latitude": 35.994,
"longitude": -78.8986,
"dma_code": 560,
"area_code": 919,
"timezone": "America/New_York",
"real_region_name": "North Carolina",
"location": [
-78.8986,
35.994
]
},
"gateway_geoip": {
"ip": "9.79.12.126",
"country_code2": "US",
"country_code3": "USA",
"country_name": "United States",
"continent_code": "NA",
"region_name": "NC",
"city_name": "Durham",
"postal_code": "27709",
"latitude": 35.994,
"longitude": -78.8986,
"dma_code": 560,
"area_code": 919,
"timezone": "America/New_York",
"real_region_name": "North Carolina",
"location": [
-78.8986,
35.994
]
}
}
示例:含调用和头详细信息(header 日志记录设置)的事件记录
![[V5.0.7 或更高版本]](./../buildfiles/icon_v507.jpg)
限制: billing 对象字段仅在 V5.0.7.2 和更高版本中受支持。
{
"datetime": "2016-09-29T22:53:46.766Z",
"latency_info": [
{
"task": "Start",
"started": 3
},
{
"task": "security-appID",
"started": 8
},
{
"task": "Plan Limit",
"started": 84
},
{
"task": "activity-log",
"started": 86
},
{
"task": "proxy",
"started": 88
}
],
"api_version": "1.0.0",
"product_version": "1.0.0",
"product_name": "__INTERNAL_QS__",
"plan_version": "1.0.0",
"uri_path": "/macs-shack/sb/AccountService",
"request_method": "POST",
"log_policy": "header",
"request_protocol": "https",
"query_string": [],
"request_body": "",
"response_body": "",
"bytes_received": 256,
"bytes_sent": 256,
"time_to_serve_request": 317,
"status_code": "200 OK",
"request_http_headers": [
{
"Host": "apimanager.host.com"
},
{
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0"
},
{
"Accept": "application/xml"
},
{
"Accept-Language": "en-US,en;q=0.5"
},
{
"Accept-Encoding": "gzip, deflate"
},
{
"APIm-Debug": "true"
},
{
"Content-Type": "text/xml"
},
{
"SOAPAction": "getBalance"
},
{
"Referer": "https://apimanager.host.com/apim/"
},
{
"Content-Length": "256"
},
{
"Origin": "https://apimanager.host.com"
},
{
"Via": "1.1 AwAAABaygGU-"
},
{
"X-Client-IP": "9.79.12.126"
},
{
"X-Global-Transaction-ID": "1364721"
}
],
"response_http_headers": [
{
"Content-Type": "text/xml; charset=ISO-8859-1"
},
{
"Date": "Thu, 29 Sep 2016 22:53:46 GMT"
},
{
"X-Powered-By": "Servlet/3.0"
},
{
"X-Vcap-Request-Id": "452d95be-0304-4f73-7429-7186ca6be843"
},
{
"X-Global-Transaction-ID": "1364721"
},
{
"Access-Control-Expose-Headers": "APIm-Debug-Trans-Id, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-Global-Transaction-ID"
},
{
"Access-Control-Allow-Origin": "https://apimanager.host.com"
},
{
"Access-Control-Allow-Methods": "POST"
},
{
"Access-Control-Allow-Credentials": "true"
}
],
"org_name": "macs-shack",
"api_name": "accountservice",
"catalog_name": "sb",
"resource_path": "post",
"plan_name": "default",
"developer_org_name": "macs-shack",
"billing": {
"trial_period_days": "0",
"amount": "0",
"currency": "USD",
"model": "free",
"provider": "none"
},
"client_geoip": {
"ip": "9.20.152.215",
"country_code2": "US",
"country_code3": "USA",
"country_name": "United States",
"continent_code": "NA",
"region_name": "NC",
"city_name": "Durham",
"postal_code": "27709",
"latitude": 35.994,
"longitude": -78.8986,
"dma_code": 560,
"area_code": 919,
"timezone": "America/New_York",
"real_region_name": "North Carolina",
"location": [
-78.8986,
35.994
]
},
"gateway_geoip": {
"ip": "9.79.12.126",
"country_code2": "US",
"country_code3": "USA",
"country_name": "United States",
"continent_code": "NA",
"region_name": "NC",
"city_name": "Durham",
"postal_code": "27709",
"latitude": 35.994,
"longitude": -78.8986,
"dma_code": 560,
"area_code": 919,
"timezone": "America/New_York",
"real_region_name": "North Carolina",
"location": [
-78.8986,
35.994
]
}
}
示例:含调用、头和有效内容详细信息(payload 日志记录设置)的事件记录
![[V5.0.7 或更高版本]](./../buildfiles/icon_v507.jpg)
限制: billing 对象字段仅在 V5.0.7.2 和更高版本中受支持。
{
"datetime": "2016-09-29T22:26:28.667Z",
"latency_info": [
{
"task": "Start",
"started": 3
},
{
"task": "security-appID",
"started": 8
},
{
"task": "Plan Limit",
"started": 11
},
{
"task": "activity-log",
"started": 12
},
{
"task": "proxy",
"started": 269
}
],
"api_version": "1.0.0",
"product_version": "1.0.0",
"product_name": "__INTERNAL_QS__",
"plan_version": "1.0.0",
"uri_path": "/macs-shack/sb/AccountService",
"request_method": "POST",
"log_policy": "payload",
"request_protocol": "https",
"query_string": [],
"request_body": "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"><SOAP-ENV:Header/><SOAP-ENV:Body><ban:getBalance xmlns:ban=\"http://bankA.sample.ibm.com/\">\n <arg0>3</arg0>\n</ban:getBalance></SOAP-ENV:Body></SOAP-ENV:Envelope>",
"response_body": "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"><soap:Body><ns2:getBalanceResponse xmlns:ns2=\"http://bankA.sample.ibm.com/\"><return>4</return></ns2:getBalanceResponse></soap:Body></soap:Envelope>",
"bytes_received": 256,
"bytes_sent": 256,
"time_to_serve_request": 603,
"status_code": "200 OK",
"request_http_headers": [
{
"Host": "apimanager.host.com"
},
{
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0"
},
{
"Accept": "application/xml"
},
{
"Accept-Language": "en-US,en;q=0.5"
},
{
"Accept-Encoding": "gzip, deflate"
},
{
"APIm-Debug": "true"
},
{
"Content-Type": "text/xml"
},
{
"SOAPAction": "getBalance"
},
{
"Referer": "https://apimanager.host.com/apim/"
},
{
"Content-Length": "256"
},
{
"Origin": "https://apimanager.host.com"
},
{
"Via": "1.1 AQAAAPSLVfg-"
},
{
"X-Client-IP": "9.79.12.126"
},
{
"X-Global-Transaction-ID": "1204915"
}
],
"response_http_headers": [
{
"Content-Type": "text/xml; charset=ISO-8859-1"
},
{
"Date": "Thu, 29 Sep 2016 22:26:28 GMT"
},
{
"X-Powered-By": "Servlet/3.0"
},
{
"X-Global-Transaction-ID": "1204915"
},
{
"Access-Control-Expose-Headers": "APIm-Debug-Trans-Id, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-Global-Transaction-ID"
},
{
"Access-Control-Allow-Origin": "https://apimanager.host.com"
},
{
"Access-Control-Allow-Methods": "POST"
},
{
"Access-Control-Allow-Credentials": "true"
}
],
"org_name": "macs-shack",
"api_name": "accountservice",
"catalog_name": "sb",
"resource_path": "post",
"plan_name": "default",
"developer_org_name": "macs-shack",
"billing": {
"trial_period_days": "0",
"amount": "0",
"currency": "USD",
"model": "free",
"provider": "none"
},
"client_geoip": {
"ip": "9.20.152.215",
"country_code2": "US",
"country_code3": "USA",
"country_name": "United States",
"continent_code": "NA",
"region_name": "NC",
"city_name": "Durham",
"postal_code": "27709",
"latitude": 35.994,
"longitude": -78.8986,
"dma_code": 560,
"area_code": 919,
"timezone": "America/New_York",
"real_region_name": "North Carolina",
"location": [
-78.8986,
35.994
]
},
"gateway_geoip": {
"ip": "9.79.12.126",
"country_code2": "US",
"country_code3": "USA",
"country_name": "United States",
"continent_code": "NA",
"region_name": "NC",
"city_name": "Durham",
"postal_code": "27709",
"latitude": 35.994,
"longitude": -78.8986,
"dma_code": 560,
"area_code": 919,
"timezone": "America/New_York",
"real_region_name": "North Carolina",
"location": [
-78.8986,
35.994
]
}
}