Software AG Products 10.5 | Using API Gateway | API Gateway Analytics | Runtime Events and Metrics Data Model | API Portal
 
API Portal
The runtime events and metrics payload generated by API Gateway at run-time is published to the configured API Portal destination. The columns that make up the events and metrics data model for API Portal 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: SampleAPI
apiVersion
The system-assigned version identifier for the API.
Example: 1.0
consumerId
The unique identifier for the consumer associated with the API invocation.
Example: c0f84954-9732-11e5-b9f4-f159eafe47b2
consumerIp
IP address of the consumer associated with the API invocation.
Example: 10.1.1.211
consumerName
Name of the consumer associated with the API invocation.
A consumer name is populated as unknown when API Gateway is unable to identify the consumer 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
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: Nativeserivce
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"
}]
messagePayload
This is applicable only for WebSocket APIs. The request and response payloads for API invocations.
Example: Sample WebSocket message
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.
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 response payload 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
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
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
consumerId
The unique identifier for the consumer associated with the API invocation.
Example: c0f84954-9732-11e5-b9f4-f159eafe47b2
consumerIp
IP address of the consumer associated with the API invocation.
Example: 10.20.248.33
consumerName
Name of the consumer associated with the API invocation.
A consumer name is populated as unknown when API Gateway is unable to identify the consumer 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.
Service 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: 503
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.
Example: 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
consumerId
The unique identifier for the consumer associated with the API invocation.
Example: c0f84954-9732-11e5-b9f4-f159eafe47b2
consumerIp
IP address of the consumer associated with the API invocation.
Example: 10.20.248.33
consumerName
Name of the consumer associated with the API invocation.
A consumer name is populated as unknown when API Gateway is unable to identify the consumer 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: Monitor 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
Lifecycle Events
Column
Description
creationDate
Date and time when the event was generated in API Gateway.
Example: 1501671101509
eventStatus
Status of the API Gateway instance.
Possible values are: STARTED or STOPPED
eventType
The type of event that occurred.
Example: LifeCycle
targetName
Name of the API Gateway instance reporting the event.
Example: API_Gateway_Instance
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
consumerId
The unique identifier for the consumer associated with the API invocation.
Example: c0f84954-9732-11e5-b9f4-f159eafe47b2
consumerIp
IP address of the consumer associated with the API invocation.
Example: 10.20.248.33
consumerName
Name of the consumer associated with the API invocation.
A consumer name is populated as unknown when API Gateway is unable to identify the consumer 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
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: 2015-08-26 04:13:35 PM
intervalStop
The ending date and time until which you want to examine metrics.
Example: 2015-08-26 04:13:45 PM
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 for 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