Elasticsearch

The runtime events and metrics payload generated by webMethods API Gateway at run-time is published to the configured external Elasticsearch destination. The columns that make up the events and metrics data model for Elasticsearch are listed below:

Transactional Events

Column Description
apiId The unique identifier for the API.

Example: af70b2de-c9c5-4f40-94be-7d8622743e42

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.60.37.42

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

cachedResponse Indicates whether the response is sent to the client from the cached data present in webMethods 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

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

eventType The type of event that occurred.

Example: Transactional

externalCalls List the external calls from webMethods 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

isCallbackRequest 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.
messageType This is applicable only for WebSocket APIs. This indicates the type of a WebSocket message.

Possible values are: binary, text

nativeHttpMethod The HTTP method used to invoke the native service.

Example: GET

nativeRequestHeaders Request header in the incoming request from the webMethods 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
}
nativeResponseHeaders Response header in the outgoing response from the native service to webMethods 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"
}
nativeResponsePayload 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

operationName Name of the API operation that is invoked.

Example: /pet/{petId}

origin This is applicable only for WebSocket APIs. The origin of the request.

Possible values are: client, server

packageId 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 webMethods API Gateway to invoke a native provider and receive a response. This time includes the overhead incurred by webMethods 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 webMethods API Gateway overhead.

Example: 1367

queryParameteres 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"
}
resPayload The API response payload data.

Example: <ResponsePayload>

responseCode The HTTP response status code that indicates success or failure of the requested operation.

Example: 404

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

sourceGatewayDetails Details of events generated only from Microgateway. The details include Microgateway Id, Source Gateway Host, Source Gateway Port, Source Gateway Version, Microgateway pool.
sourceGatewayNode Source webMethods API Gateway's IP address.

Example: 10.0.75.1

sourceGateway Source of event generation.

Possible values: APIGateway or Microgateway.

status Status of the API request.

Possible values are: SUCCESS, FAILURE

totalDataSize The total combined size of request and response payloads in bytes.

Example: 51

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

Error Events

Column Description
apiId The unique identifier for the API.

Example: af70b2de-c9c5-4f40-94be-7d8622743e42

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.60.37.42

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: Native service provider error. Code : 404

eventSource The source where the event occurred.

Example: API_Gateway_Instance

eventType The type of event that occurred.

Example: Error

httpMethod The HTTP method used to invoke the API.

Example: GET

operationName Name of the API operation that is invoked.

Example: /pet/{petId}

responseCode The HTTP response status code that indicates success or failure of the requested operation.

Example: 404

sourceGatewayDetails Details of events generated only from Microgateway. The details include Microgateway Id, Source Gateway Host, Source Gateway Port, Source Gateway Version, Microgateway pool.
sourceGatewayNode Source webMethods API Gateway's IP address.

Example: 10.0.75.1

sourceGateway Source of event generation.

Possible values: APIGateway or Microgateway.

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 webMethods API Gateway policy that generated the alert message.

Example: Monitorpolicy

alertType The type of alert generated for the event.

Example: Monitor

apiId The unique identifier for the API.

Example: af70b2de-c9c5-4f40-94be-7d8622743e42

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.60.37.42

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

httpMethod The HTTP method used to request the API access.

Example: GET

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: /pet/{petId}

responseCode The HTTP response status code that indicates success or failure of the requested operation.

Example: 200

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: af70b2de-c9c5-4f40-94be-7d8622743e42

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: 9434e90d-65c3-4e37-8ccb-595b8df3e645

applicationIp IP address of the application associated with the API invocation.

Example: 10.60.37.42

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

httpMethod The HTTP method used to request the API access.

Example: GET

operationName Name of the API operation that is invoked.

Example: /pet/{petId}

responseCode The HTTP response status code that indicates success or failure of the requested operation.

Example: 503

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.

Performance Metrics

Column Description
apiId The unique identifier for the API.

Example: af70b2de-c9c5-4f40-94be-7d8622743e42

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.0

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

creationDate Date and time when the event was generated in webMethods API Gateway.

Example: 1501671101509

eventType The type of event that occurred.

Example: PerformanceData

faultCount The number of failed API invocations in the current interval.

Example: 1

includeFaults Includes failed API invocations.

Possible values are: true, false

intervalStart The starting date and time from which you want to examine metrics.

Example: 02 Aug 2017 10:51:31 GMT

intervalStop The ending date and time until which you want to examine metrics.

Example: 02 Aug 2017 10:52:31 GMT

maxResponseTime The maximum amount of time (in milliseconds) it took for the API to complete an invocation in the current interval.

Example: 1401

minResponseTime The minimum amount of time (in milliseconds) it took for the API to complete an invocation in the current interval.

Example: 1352

sourceGatewayDetails Details of events generated only from Microgateway. The details include Microgateway Id, Source Gateway Host, Source Gateway Port, Source Gateway Version, Microgateway pool.
sourceGateway Source of event generation.

Possible values: APIGateway or Microgateway.

operationName Name of the API operation that is invoked.

Example: /pet/{petId}

successCount The number of successful API invocations in the current interval.

Example: 1

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

Example: 2