API Gateway
The runtime events and metrics payload is generated by API Gateway at run-time. The columns that make up the events and metrics data model for API Gateway are listed below:
Transactional Events
Column | Description |
---|---|
apiId | The unique identifier for the API. Example: c0f84954-9732-11e5-b9f4-f159eafe47b1 |
apiName | Name of the API in which the event occurred. Example: pet1 |
apiVersion | The system-assigned version identifier for the API.
Example: 1.0 |
applicationId | The unique identifier for the application associated with the
API invocation. Example: c0f84954-9732-11e5-b9f4-f159eafe47b2 |
applicationIp | IP address of the application associated with the API
invocation. Example: 10.20.248.33 |
applicationName | Name of the application associated with the API invocation.
An application name is populated as unknown when API Gateway is unable to identify the application using a security policy that is configured for the API. Example: SampleApplication |
callbackRequest | Indicates whether the event is generated for a callback
request. Possible values are:
|
correlationID | The unique identifier that is automatically generated for
every request coming to API Gateway and can be used to query the log. Example: MED38e9cfa4-2348-408b-9462-124b2181c1a6:656 |
creationDate | Date and time when the event was generated in API Gateway. Example: 1501671101509 |
customFields | The custom fields an API Provider can provide to log a new
field and value for a transaction event. Example: {"customfield":"customvalue"} |
errorOrigin | The origin of error. Example: Nativeservice |
eventType | The type of event that occurred. Example: Transactional |
externalCalls | List the external calls from API Gateway. These external calls
can be to a native service or service registry. Example:
|
gatewayTime | Duration in milliseconds, to process a request by API Gateway. This does not include native service
processing duration. gatewayTime = totalTime - providerTime Example: 20 |
httpMethod | The HTTP method used to invoke the API. Example: GET |
nativeHttpMethod | The HTTP method used to invoke the native service. Example: GET |
nativeReqPayload | The native service request data. Example:
|
nativeRequestHeaders | Request header in the incoming request from the API Gateway to
native service. Example:
|
nativeResPayload | The native service response data. Example:
|
nativeResponseHeaders | Response header in the outgoing response from the native
service to API Gateway. Example:
|
nativeURL | URL of the native service. Example: http://petstore.swagger.io/v2/pet/2 |
operationName | Name of the API operation that is invoked. Example: Using a Calculator API, you can perform various operations such as addition, subtraction, multiplication, and division. When an addition operation is invoked in API Gateway, then the operation field name is populated as addInts. |
queryParameters | This is applicable only for REST APIs. Query parameters
present in the incoming REST request. Example: {"status":"available"} |
reqPayload | The API request payload data. Example: RequestPayload |
requestHeaders | Request header in the incoming request from the client.
Example:
|
responseCode | The HTTP response status code that indicates success or
failure of the requested operation. Example: 200 |
responseHeaders | Response header in the outgoing response. Example:
|
serverID | The API Gateway server on which the transaction event
occurred. This column is currently not used. It appears as NULL or as an empty
string. Example: SampleHost:80 |
sessionId | A string the API Gateway server generates to uniquely identify each
session. This is either the IS session token or the automatically generated GUID
if the token is missing from the message context. Example: c0f84954-9732-11e5-b9f4-f159eafe47b2 |
sourceGateway | Source of event generation. Possible values: APIGateway or Microgateway. |
sourceGatewayNode | Source API Gateway's IP address.
Example:10.0.75.1 |
status | Status of the API request. Possible values are: SUCCESS, FAILURE |
totalDataSize | The total combined size of request and response payloads in
bytes. Example: 100 |
totalTime | Time in milliseconds required to invoke the API provider. This
time includes the overhead incurred by API Gateway. Overhead includes security overhead for
encryption, decryption, and load-balance retries. Example: 120 |
Error Events
Column | Description |
---|---|
apiId | The unique identifier for the API. Example: c0f84954-9732-11e5-b9f4-f159eafe47b1 |
apiName | Name of the API in which the event occurred. Example: SampleAPI |
apiVersion | The system-assigned version identifier for the API.
Example: 1.0 |
applicationId | The unique identifier for the application associated with the
API invocation. Example: c0f84954-9732-11e5-b9f4-f159eafe47b2 |
applicationIp | IP address of the application associated with the API
invocation. Example: 10.20.248.33 |
applicationName | Name of the application associated with the API invocation.
An application name is populated as unknown when API Gateway is unable to identify the application using a security policy that is configured for the API. Example: SampleApplication |
correlationID | The unique identifier that is automatically generated for
every request coming to API Gateway and can be used to query the log. Example: MED38e9cfa4-2348-408b-9462-124b2181c1a6:656 |
creationDate | Date and time when the event was generated in API Gateway. Example: 1501671101509 |
errorDesc | Message that describes the error that occurred. Example: Invocation for SampleAPI was rejected based on policy violation, response code: 503 |
eventType | The type of event that occurred. Example: Error Event |
operationName | Name of the API operation that is invoked. Example: Using a Calculator API, you can perform various operations such as addition, subtraction, multiplication, and division. When an addition operation is invoked in API Gateway, then the operation field name is populated as addInts. |
responseCode | The HTTP response status code that indicates success or
failure of the requested operation. Example: 200 |
sessionId | A string the API Gateway server generates to uniquely identify each
session. This is either the IS session token or the automatically generated GUID
if the token is missing from the message context. Example: c0f84954-9732-11e5-b9f4-f159eafe47b2 |
sourceGateway | Source of event generation. Possible values: APIGateway or Microgateway. |
sourceGatewayNode | Source API Gateway's IP address.
Example:10.0.75.1 |
userAgent | Name of the client used to invoke the API. Example: Postman |
Monitoring Events
Column | Description |
---|---|
alertDesc | Text of the alert message sent to a configured destination
when the performance conditions are violated. The alert message is specified in
the policy definition of an API. Example: EnforcePolicy-HardLimit |
alertType | The type of alert generated for the event. Possible values are: Monitor, sla |
apiId | The unique identifier for the API. Example: c0f84954-9732-11e5-b9f4-f159eafe47b1 |
apiName | Name of the API in which the event occurred. Example: SampleAPI |
apiVersion | The system-assigned version identifier for the API.
Example: 1.0 |
applicationId | The unique identifier for the application associated with the
API invocation. Example: c0f84954-9732-11e5-b9f4-f159eafe47b2 |
applicationIp | IP address of the application associated with the API
invocation. Example: 10.20.248.33 |
applicationName | Name of the application associated with the API invocation.
An application name is populated as unknown when API Gateway is unable to identify the application using a security policy that is configured for the API. Example: SampleApplication |
creationDate | Date and time when the event was generated in API Gateway. Example: 1501671101509 |
eventSource | The source where the event occurred. Example: API_Gateway_Instance |
eventType | The type of event that occurred. Example: Monitor Event |
httpMethod | The HTTP method used to invoke the API. Example: GET |
operationName | Name of the API operation that is invoked. Example: Using a Calculator API, you can perform various operations such as addition, subtraction, multiplication, and division. When an addition operation is invoked in API Gateway, then the operation field name is populated as addInts. |
sessionId | A string the API Gateway server generates to uniquely identify each
session. This is either the IS session token or the automatically generated GUID
if the token is missing from the message context. Example: c0f84954-9732-11e5-b9f4-f159eafe47b2 |
sourceGateway | Source of event generation. Possible values: APIGateway or Microgateway. |
sourceGatewayDetails | Details of events generated only from Microgateway. The details include Microgateway Id, Source Gateway Host, Source Gateway Port, Source Gateway Version, Microgateway pool. |
Lifecycle Events
Column | Description |
---|---|
creationDate | Date and time when the event was generated in API Gateway. Example: 1501671101509 |
eventType | The type of event that occurred. Example: LifeCycle |
gatewayStatus | Status of the API Gateway instance. Possible values are: STARTED or STOPPED |
sourceGateway | Source of event generation. Possible values: APIGateway or Microgateway. |
sourceGatewayDetails | Details of events generated only from Microgateway. The details include Microgateway Id, Source Gateway Host, Source Gateway Port, Source Gateway Version, Microgateway pool. |
Policy Violation Events
Column | Description |
---|---|
alertDesc | Text of the alert message sent to a configured destination
when the performance conditions are violated. The alert message is specified in
the policy definition of an API. Example: A violation was detected for policy (Unknown-Policyuser ): application could not be identified. Anonymous access is not allowed for this service! |
alertSource | Name of the API Gateway policy that generated the alert message.
Example: Unknown-Policy |
alertType | The type of alert generated for the event. Example: PolicyViolation |
apiId | The unique identifier for the API. Example: c0f84954-9732-11e5-b9f4-f159eafe47b1 |
apiName | Name of the API in which the event occurred. Example: SampleAPI |
apiVersion | The system-assigned version identifier for the API.
Example: 1.0 |
applicationId | The unique identifier for the application associated with the
API invocation. Example: c0f84954-9732-11e5-b9f4-f159eafe47b2 |
applicationIp | IP address of the application associated with the API
invocation. Example: 10.20.248.33 |
applicationName | Name of the application associated with the API invocation.
An application name is populated as unknown when API Gateway is unable to identify the application using a security policy that is configured for the API. Example: SampleApplication |
creationDate | Date and time when the event was generated in API Gateway. Example: 1501671101509 |
eventType | The type of event that occurred. Example: Policy Violation Event |
httpMethod | The HTTP method used to request the API access. Example: GET |
operationName | Name of the API operation that is invoked. Example: Using a Calculator API, you can perform various operations such as addition, subtraction, multiplication, and division. When an addition operation is invoked in API Gateway, then the operation field name is populated as addInts. |
responseCode | The HTTP response status code that indicates success or
failure of the requested operation. Example: 200 |
sessionId | A string the API Gateway server generates to uniquely identify each
session. This is either the IS session token or the automatically generated GUID
if the token is missing from the message context. Example: c0f84954-9732-11e5-b9f4-f159eafe47b2 |
sourceGateway | Source of event generation. Possible values: APIGateway or Microgateway. |
sourceGatewayNode | Source API Gateway's IP address. Example: 10.0.75.1 |
userAgent | Name of the client used to invoke the API. Example: Postman |
Performance Metrics
Column | Description |
---|---|
apiId | The unique identifier for the API. Example: c0f84954-9732-11e5-b9f4-f159eafe47b1 |
apiName | Name of the API in which the event occurred. Example: SampleAPI |
apiVersion | The system-assigned version identifier for the API.
Example: 1.0 |
availability | The percentage of time that an API was available during the
current interval. A value of 100 indicates that the API was always available. If
invocations fail due to policy violations, this parameter could still be as high
as 100. Example: 100 |
avgResponseTime |
The average amount of time it took the API to complete each invocation in the current interval. Response time is measured from the moment API Gateway receives the request until the moment it returns the response to the caller. Example: 135 |
creationDate | Date and time when the event was generated in API Gateway. Example: 1501671101509 |
eventType | The type of event that occurred. Example: Performance Metrics Event |
faultCount | The number of failed API invocations in the current interval.
Example: 10 |
intervalStart | The starting date and time from which you want to examine
metrics. Example: 1526294632172 |
intervalStop | The ending date and time until which you want to examine
metrics. Example: 1526294632182 |
maxResponseTime | The maximum amount of time (in milliseconds) it took for the
API to complete an invocation in the current interval. Example: 343 |
minResponseTime | The minimum amount of time (in milliseconds) it took for the
API to complete an invocation in the current interval. Example: 10 |
sourceGateway | Source of event generation. Possible values: APIGateway or Microgateway. |
successCount | The number of successful API invocations in the current
interval. Example: 100 |
totalCount | The total number of API invocations (successful and
unsuccessful) in the current interval. Example: 110 |
Threat Protection Events
Column | Description |
---|---|
id | The unique identifier for an event. Example: 8e05267a-45c9-45f0-a3dd-8b2ee1e98ca2 |
alertAction | A helpful action taken on the API for the alert. Example: DENY |
creationDate | Date and time when the event was generated in API Gateway. Example: 1501671101509 |
eventType | The type of event that occurred. Example: Transactional |
filterName | Name of the threat protection filter. Example: DoSFilter |
message | If the API invocation failed, message that describes the error
that occurred. Example: Global Denial of Service limits were reached: Maximum requests limit of 2 in 120 seconds has been exceeded. |
requestHost | Hostname of the machine from which the API access request was
submitted. Example: 10.60.34.152 |
requestTime | Date and time the request was submitted. Example: 1501671101509 |
requestType | The type of request that was received for the API.
Example: ALL |
resourcePath | The relative URI path of a resource that was used for API
invocation. Example: invoke/pub.date/getCurrentDate |
ruleName | The API Gateway rule that triggered the event. Example: GlobalDoSRule |
serverHost | The name or IP address of the machine on which the thread
protection server is running. Example: 10.60.34.83 |
serverPort | The port number on which the thread protection server is
configured to listen for incoming requests. Example: 8911 |