API 事件记录字段

每次调用 API 操作时都会记录 API 事件,并为网关服务器中的每个 API 事件生成一条事件记录。 API 事件记录包含有关 API 调用的信息,记录内容取决于为该操作设置的日志记录策略。

您可以使用活动日志策略来为“分析”组件中存储的 API 事件详细信息配置日志记录首选项。 缺省情况下,如果 API 调用成功,将记录调用详细信息,如果 API 调用导致错误代码,将记录调用、头和有效内容(消息体)详细信息。要覆盖这些缺省设置和更改 API 事件记录中所含的详细信息的级别,可将活动日志策略添加到 API 组合件,然后配置策略属性。例如:
  • 要在成功 API 调用的 API 事件记录中包含有关请求主体或响应主体的详细信息,可向关联的 API 操作添加活动日志策略并将内容类型设置为 payload
    限制: 对于在法兰克福区域托管的 Bluemix 实例,禁用了有效内容日志记录功能。该区域对于存储敏感个人信息 (SPI) 的要求限制性更强,因此无法保存有效内容信息。
  • 要在成功 API 调用的 API 事件记录中包含有关 HTTP 请求头或 HTTP 响应头的详细信息,可向关联的 API 操作添加活动日志策略并将内容类型设置为 headerpayload
有关如何配置日志记录首选项的更多信息,请参阅活动日志策略在组合件中包含组件。有关如何查看为 API 生成的事件记录的信息,请参阅查看和导出分析和 API 事件数据
提示: 日志策略字段包含在事件记录中,用于标识日志记录设置。 要查看可包含在 API 事件记录中的调用、头和有效内容详细信息的示例,请参阅:

下表列出了 API 事件记录中显示的一组静态字段。创建可视化时,可使用这些字段配置聚集,以定义待检索和显示的信息的类型和级别。有关更多信息,请参阅配置可视化[V5.0.5 或更高版本]如果将日志记录首选项配置为包含头和有效内容详细信息,那么在配置聚集时您还可以选择头和有效内容字段, 以便您在需要时根据头和有效内容数据创建可视化。

表 1. API 事件记录字段
字段名称 类型 描述
@timestamp 日期 用于记录 Logstash 数据收集引擎(将数据提供给 Elasticsearch)何时写入记录的时间戳记。
api_id 字符串 API 标识。
api_name 字符串 API 的名称。
api_version 数字 API 的版本号。
app_id 字符串 已注册的应用程序的标识。
app_name 字符串 已注册的应用程序的名称。
[V5.0.7 或更高版本]app_type [V5.0.7 或更高版本]字符串 [V5.0.7 或更高版本]应用程序类型,值为 ProductionDevelopment
[V5.0.7 或更高版本]billing.amount [V5.0.7 或更高版本]字符串 [V5.0.7 或更高版本]对客户预订产品收取的金额。
[V5.0.7 或更高版本]billing.currency [V5.0.7 或更高版本]字符串 [V5.0.7 或更高版本]用于确定预订费用的货币。
[V5.0.7 或更高版本]billing.model [V5.0.7 或更高版本]字符串 [V5.0.7 或更高版本]对客户预订产品进行收费的收费计划类型。
[V5.0.7 或更高版本]billing.provider [V5.0.7 或更高版本]字符串 [V5.0.7 或更高版本]对产品预订进行收费的信用卡处理合作伙伴。
[V5.0.7 或更高版本]billing.trial_period_days [V5.0.7 或更高版本]整数 [V5.0.7 或更高版本]客户可以免费使用收费计划的天数。
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 地址标识)的时区。
[V5.0.8 或更高版本]client_id [V5.0.8 或更高版本]字符串 [V5.0.8 或更高版本]附加到 API 请求的客户机的唯一标识。
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 或更高版本]
限制: 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 或更高版本]
限制: 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 或更高版本]
限制: 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
    ]
  }
}
时间戳记图标 上次更新时间:2017-10-24