Elasticsearch
The runtime events and metrics payload generated by API Gateway at run-time is published to the configured 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 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 |
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:
|
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:
|
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 API Gateway
to native service. Example:
|
nativeRequestPayload | The native service request data. Example:
|
nativeResponseHeaders | Response header in the outgoing response from the native
service to API Gateway. Example:
|
nativeResponsePayload | The native service response data. Example:
|
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 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: 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:
|
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:
|
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 |
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 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 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 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: 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 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 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 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 |
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 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 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: 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 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 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 |