Software AG Products 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
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
cachedResponse
Indicates whether the response is sent to the client from the cached data present in API Gateway through the Service result caching policy or the response is received from Native service and sent to client.
Possible values are: Cached, Not-Cached
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"
}]
httpMethod
The HTTP method used to invoke the API.
Example: GET
messagePayload
This is applicable only for WebSocket APIs. The message payload for a particular API invocation.
Example: Sample WebSocket message
messageType
This is applicable only for WebSocket APIs. This indicates the type of a WebSocket message.
Possible values are: binary, text
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.
origin
This is applicable only for WebSocket APIs. The origin of the request.
Possible values are: client, server
pacakgeId
The unique identifier for the API package.
Example: c0f84954-9732-11e5-b9f4-f159eafe47b2
packageName
Name of the API package.
Example: Travel Package
planId
The unique identifier for the API plan.
Example: d0f84954-9732-11e5-b9f4-f159eafe47b2
planName
Name of the API plan.
Example: Gold Plan
providerTime
Time in milliseconds required for API Gateway to invoke a native provider and receive a response. This time includes the overhead incurred by API Gateway. Overhead includes the time it takes for a provider to process a request and return a response, plus any network latency to or from the provider. Subtracting total time from provider time must give a rough indicator of the API Gateway overhead.
Example: 20
queryParameters
This is applicable only for REST APIs. Query parameters present in the incoming REST request.
Example: {"status":"available"}
request
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"
}
response
The API request response data.
Example: <ResponsePayload>
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"
}
nativeHttpMethod
The HTTP method used to invoke the native service.
Example: GET
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"
}
nativeReqPayload
The native service request data.
Example:

{
"param1" : "value1",
"param2" : 10
}
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"
}
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"
}
nativeURL
URL of the native service.
Example: http://petstore.swagger.io/v2/pet/2
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
eventSource
The source where the event occurred.
Example: API_Gateway_Instance
eventType
The type of event that occurred.
Example: Error 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.
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
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.
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
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
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
eventSource
The source where the event occurred.
Example: API_Gateway_Instance
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
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
includeFaults
Includes failed API invocations.
Possible values are: true, false
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
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.
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
alertAction
A helpful action taken on the API for the alert.
Example: DENY
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
requestUser
Name of the user on API Gateway from whom the request is received.
Example: null
resourcePath
The relative URI path of a resource that was used for API invocation.
Example: invoke/pub.date/getCurrentDate
responseCode
The HTTP response status code that indicates success or failure of the requested operation.
Example: 200
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