Audit Log

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

Transactional Events

Column Description
API_ID The unique identifier for the API.

Example: ec1473cc-40a0-479e-9126-474a917c3c89

API_NAME Name of the API in which the event occurred.

Example: SampleAPI

API_VERSION The system-assigned version identifier for the API.

Example: 1.0

AUDITTIMESTAMP Date and time when the event was written to the log.

Example: 2017-08-07 07:22:22

CONSUMER_IP IP address of the consumer associated with the API invocation.

Example: 10.60.37.42

CONSUMER_NAME 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 policy that is configured for the API.

Example: SampleApplication

CONTEXTID The unique identifier for the current context information API Gateway uses to connect related entries from different logs.

This column is currently not used. It appears as NULL or as an empty string.

Example: 81546147-41a8-4998-8150-02ba67bb08c2

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

CUSTOMFIELDS The custom fields an API Provider can provide to log a new field and value for a transaction event.

Example: {"customfield":"customvalue"}

ERROR_ORIGIN The origin of error.

Example: Nativeserivce

EVENT_PK The primary key (PK) that uniquely identifies the event that occurred.

Example: 1

EXTERNAL_CALLS 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"
}]
INSERTTIMESTAMP Date and time when the event was generated in API Gateway.

Example: 2017-08-07 07:22:22

MSGID The ID assigned to the message by the API provider.

This column is currently not used.

Example: 361dc2f8-a60b-fc21-8545-9b07fce1a479

NATIVE_ENDPOINT The endpoint URL of the native API that is invoked.

Example: http://petstore.swagger.io/v2/pet/55

NATIVE_HTTP_METHOD The HTTP method used to invoke the native service.

Example: GET

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

Example:


{ 
"param1" : "value1", 
"param2" : 10
}
NATIVE_RESPONSE_HEADERS 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"
}
NATIVE_RES_PAYLOAD The native service response data.

Example:


{
"id":2,
"category":
{
   "id":2,
   "name":"string"
},
"name":"pysen",
"photoUrls":["string"],
"tags":
[{
   "id":0,
   "name":"string"
}],
"status":"available"
}
NATIVE_URL URL of the native service.

Example: http://petstore.swagger.io/v2/pet/2

OPERATION_NAME Name of the API operation or resource that is invoked.

Example: /pet/{petId}

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

QUERY_PARAMETERS This is applicable only for REST APIs. Query parameters present in the incoming REST request.

Example: {"status":"available"}

REQUEST_HEADERS 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_HEADERS 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"
}
ROOTCONTEXTID The unique identifier for the root context information API Gateway uses to connect related entries from different logs.

This column is currently not used. It appears as NULL or as an empty string.

Example: 81546147-41a8-4998-8150-02ba67bb08c2

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

SERVICE_NAME Name of the service in which the event occurred.

Example: Swagger_Petstore

SESSION_ID 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: 6dfcd849198c4a7e96b4ff89bc2deaf5

SOURCE_GATEWAY_NODE Source API Gateway's IP address.

Example: 10.0.75.1

STATUS Status of the API request.

Possible values are: SUCCESS, FAILURE

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