API イベント・レコードのフィールド
API 操作を呼び出すたびに API イベントが記録され、ゲートウェイ・サーバーでの API イベントごとにイベント・レコードが生成されます。API イベント・レコードには、API 呼び出しと、操作に設定されたロギング・ポリシーに応じたレコードの内容についての情報が含まれます。
activity-log ポリシーを使用して、分析コンポーネントに保存されている API イベント詳細用にロギングの設定を構成します。デフォルトでは、API 呼び出しが成功した場合は呼び出しの詳細が記録され、API 呼び出しの結果がエラー・コードになった場合は、呼び出し、ヘッダー、およびペイロード (メッセージ本文) の詳細が記録されます。これらのデフォルト設定をオーバーライドし、API イベント・レコードに含まれる詳細のレベルを変更するために、API アセンブリーに activity-log ポリシーを追加し、このポリシーのプロパティーを構成できます。以下に例を示します。
- 正常な API 呼び出しの API イベント・レコードに要求の本文または応答の本文についての詳細を含めるには、activity-log ポリシーを関連 API 操作に追加し、コンテンツ・タイプを payload に設定します。制約事項: Bluemix インスタンスがフランクフルト地域でホストされている場合、ペイロードのロギング機能は無効です。この地域では、機密個人情報 (SPI) の保管に関する要件の制限がより厳しいため、ペイロード情報を保存できません。
- 正常な API 呼び出しの API イベント・レコードに HTTP 要求ヘッダーまたは HTTP 応答ヘッダーについての詳細を含めるには、 activity-log ポリシーを関連 API 操作に追加し、コンテンツ・タイプを header または payload のいずれかに設定します。
ヒント: ロギング設定を識別するために、イベント・レコードにはログ・ポリシー・フィールドが含まれています。
API イベント・レコードに含まれる可能性がある呼び出し、ヘッダー、およびペイロードの詳細のサンプルを見るには、以下を参照してください。
API イベント・レコード内に表示されるフィールドの静的セットを次の表にリストします。可視化を作成するときは、これらのフィールドを使用して、取得して表示する情報の種類とレベルを定義する集約を構成できます。詳しくは、可視化の構成を参照してください。ヘッダーおよびペイロードの詳細を含めるようにロギング設定を構成している場合、集約を構成する際にヘッダーおよびペイロードのフィールドも追加で選択可能になるため、必要に応じてヘッダーおよびペイロードのデータを基に可視化を作成できます。
フィールド名 | タイプ | 説明 |
---|---|---|
@timestamp | 日付 | Elasticsearch にデータを供給する Logstash データ収集エンジンによってレコードが書き込まれたタイミングを記録するタイム・スタンプ。 |
api_id | ストリング | API ID。 |
api_name | ストリング | API の名前。 |
api_version | 数値 | API のバージョン番号。 |
app_id | ストリング | 登録されているアプリケーションの ID。 |
app_name | ストリング | 登録されているアプリケーションの名前。 |
app_type | ストリング | アプリケーション・タイプ。値は、Production または Development です。 |
billing.amount | ストリング | 製品のサブスクリプションに対してお客様が請求される金額。 |
billing.currency | ストリング | サブスクリプション料金を決定する際に使用される通貨。 |
billing.model | ストリング | 製品のサブスクリプションに対してお客様が請求される有料プランのタイプ。 |
billing.provider | ストリング | 製品のサブスクリプションに対して請求を行うクレジット・カード処理パートナー。 |
billing.trial_period_days | 整数 | お客様が課金されずに有料プランを使用できる日数。 |
bytes_received | 数値 | インバウンド要求で受信したバイト数。 |
bytes_sent | 数値 | アウトバウンド要求で送信したバイト数。 |
client_geoip.area_code | 数値 | IP アドレスによって識別される、クライアントの公衆交換電話網 (PSTN) の市外局番。 |
client_geoip.city_name | ストリング | IP アドレスによって識別される、クライアントの市区町村の名前。 |
client_geoip.continent_code | ストリング | IP アドレスによって識別される、クライアントの 2 文字の大陸コード。 |
client_geoip.country_code2 | ストリング | IP アドレスによって識別される、クライアントの 2 文字の国別コード。 |
client_geoip.country_code3 | ストリング | IP アドレスによって識別される、クライアントの 3 文字の国別コード。 |
client_geoip.country_name | ストリング | IP アドレスによって識別される、クライアントの国名。 |
client_geoip.dma_code | 数値 | IP アドレスによって識別される、クライアントの Designated Market Area (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_id | ストリング | API 要求に添付されるクライアントの固有 ID。 |
client_ip | ストリング | 元のクライアント IP アドレス。X-Forwarded-For ヘッダーから取得されます。 |
datetime | 日付 | API が実行されたタイミングを記録するタイム・スタンプ。このタイム・スタンプは、常に協定世界時 (UTC) で表示されます。 |
developer_org_id | ストリング | アプリケーションを所有する開発者組織の ID。 |
developer_org_name | ストリング | アプリケーションを所有する開発者組織の名前。 |
env_id | ストリング | カタログ ID。 |
env_name | ストリング | カタログの名前。 |
gateway_geoip.area_code | 数値 | IP アドレスによって識別される、ゲートウェイの公衆交換電話網 (PSTN) の市外局番。 |
gateway_geoip.city_name | ストリング | IP アドレスによって識別される、ゲートウェイの市区町村の名前。 |
gateway_geoip.continent_code | ストリング | IP アドレスによって識別される、ゲートウェイの 2 文字の大陸コード。 |
gateway_geoip.country_code2 | ストリング | IP アドレスによって識別される、ゲートウェイの 2 文字の国別コード。 |
gateway_geoip.country_code3 | ストリング | IP アドレスによって識別される、ゲートウェイの 3 文字の国別コード。 |
gateway_geoip.country_name | ストリング | IP アドレスによって識別される、ゲートウェイの国名。 |
gateway_geoip.dma_code | 数値 | IP アドレスによって識別される、ゲートウェイの Designated Market Area (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 および関連付けられている製品を所有するプロバイダー組織の ID。 |
org_name | ストリング | API および関連付けられている製品を所有するプロバイダー組織の名前。 |
plan_id | ストリング | プラン 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_id | ストリング | 操作 ID。 |
resource_path | ストリング | 操作パス。 |
response_body | ストリング | アウトバウンド応答の本文。 |
response_http_headers.field_name | ストリング | アウトバウンド応答の HTTP ヘッダー・セクションのコンポーネント (例: コンテンツの MIME タイプ、メッセージの送信日時など)。 |
status_code | ストリング | アウトバウンド応答に設定された状況コード。 |
time_to_serve_request | 数値 | API 要求の処理時間 (ミリ秒単位)。 |
transaction_id | ストリング | API トランザクションの ID。 |
uri_path | ストリング | インバウンド要求の URI パス。 |
例: 呼び出しの詳細を含むイベント・レコード (activity ロギング設定)
制約事項: billing オブジェクト・フィールドは、バージョン 5.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 ロギング設定)
制約事項: billing オブジェクト・フィールドは、バージョン 5.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 ロギング設定)
制約事項: billing オブジェクト・フィールドは、バージョン 5.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
]
}
}