API Gateway

The runtime events and metrics payload is generated by webMethods API Gateway at run-time. The columns that make up the events and metrics data model for webMethods 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 webMethods 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 webMethods 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 webMethods 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 webMethods 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 webMethods 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 webMethods 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 webMethods 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 webMethods 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 webMethods 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 webMethods 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 webMethods 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 webMethods 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 webMethods 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 webMethods 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 webMethods API Gateway, then the operation field name is populated as addInts.

sessionId A string the webMethods 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 webMethods API Gateway.

Example: 1501671101509

eventType The type of event that occurred.

Example: LifeCycle

gatewayStatus Status of the webMethods 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 webMethods 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 webMethods 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 webMethods 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 webMethods 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 webMethods 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 webMethods 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 webMethods 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 webMethods 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 webMethods 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