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

customFieldsrequest 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"
}]
gatewayTime Duration in milliseconds, to process a request by API Gateway. This does not include native service processing duration.

gatewayTime = totalTime - providerTime

Example: 20

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"}

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"
}
nativeRequestPayload The native service request data.

Example:


{ 
"param1" : "value1", 
"param2" : 10
}
nativeResonsePayload 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

targetName Name of the API Gateway instance reporting the event.

Example: API_Gateway_Instance

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

targetName Name of the API Gateway instance reporting the event.

Example: API_Gateway_Instance

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

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: 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

eventType The type of event that occurred.

Example: Monitor Event

monitorAttr The monitored attribute which has breached the configured SLA.

Example: AVGRESPONSETIME GT 1.0, SUCCESSCOUNT EQ 3, REQUESTCOUNT GT 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.

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

targetName Name of the API Gateway instance reporting the event.

Example: API_Gateway_Instance

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

targetName Name of the API Gateway instance reporting the event.

Example: API_Gateway_Instance

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

targetName Name of the API Gateway instance reporting the event.

Example: API_Gateway_Instance

totalCount The total number of API invocations (successful and unsuccessful) in the current interval.

Example: 110