API Gateway 10.5 | Using API Gateway | API Gateway Analytics | Runtime Events and Metrics Data Model | API Gateway
 
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:
*true. This denotes that the event is generated for a callback request.
*false. This denotes that the event is generated for a normal response.
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:

[{
"externalCallType":"SERVICE_REGISTRY_CALL",
"externalURL":"http://service.registry.com",
"callDuration":49,
"callStartTime":1562244570486,
"callEndTime":1562244570535,
"responseCode": "200"
},
{
"externalCallType":"NATIVE_SERVICE_CALL",
"externalURL":
"https://petstore.swagger.io/v2/store/inventory",
"callDuration":1285,
"callStartTime":1562244569252,
"callEndTime":1562244570537,
"responseCode":"200"
}]
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:

{
"param1" : "value1",
"param2" : 10
}
nativeRequestHeaders
Request header in the incoming request from the API Gateway to native service.
Example:

{
"Authorization":"**************",
"Accept": "*/*",
"Authorization": "**************",
"Accept":"*/*",
"Cache-Control": "no-cache",
"User-Agent": "PostmanRuntime/7.13.0",
"Postman-Token":
"381424fa-e3b3-4058-8df9-4abf9d72c899",
"postmanHeader": "hello",
"accept-encoding": "gzip, deflate",
"Content-Type": "application/x-www-form-urlencoded"
}
nativeResPayload
The native service response data.
Example:

{
"id":2,
"category":
{
"id":2,
"name":"string"
},
"name":"pysen",
"photoUrls":["string"],
"tags":
[{
"id":0,
"name":"string"
}],
"status":"available"
}
nativeResponseHeaders
Response header in the outgoing response from the native service to API Gateway.
Example:

{
"Server":"Jetty(9.2.9.v20150224)",
"Access-Control-Allow-Origin":"*",
"Access-Control-Allow-Methods": "GET, POST, DELETE,
PUT",
"Connection":"close",
"Date": "Fri, 07 Jun 2019 12:44:13 GMT",
"Access-Control-Allow-Headers": "Content-Type,
api_key, Authorization",
"Content-Type": "application/json"
}
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:

{
"Cache-Control":"max-age=0",
"Accept":"text/plain,application/json;
q=0.9,image/webp,image/apng,*/*;
q=0.8",
"Upgrade-Insecure-Requests":"1",
"Connection":"keep-alive",
"User-Agent":"Mozilla/5.0(Windows NT 6.1; Win64; x64)
AppleWebKit/537.36 (KHTML,like Gecko)
Chrome/65.0.3325.181Safari/537.36",
"Host":"mcdaso02:5555",
"Accept-Encoding":"gzip,deflate",
"Accept-Language":"en-US,en;q=0.9,ta;q=0.8",
"Content-Type":"application/x-www-form-urlencoded"
}
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:

{
"Server":"Jetty(9.2.9.v20150224)",
"Access-Control-Allow-Origin":"*",
"Access-Control-Allow-Methods":"GET,POST, DELETE,
PUT",
"Connection":"close",
"Date":"Fri, 30 Mar 2018 08:25:45 GMT",
"Access-Control-Allow-Headers":"Content-Type,
api_key,Authorization",
"Content-Type":"application/xml"
}
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