Thursday, January 15, 2026

#1114 - OCI API Gateway and OIC Monitoring

Introduction

We have many Oracle Integration customers who front OIC with OCI API Gateway. Ergo incoming requests to OIC, initially pass through OCI API Gateway, before being routed to OIC.

Wouldn't it be great to trace those requests as they traverse both OCI Services?

Let's now look at exactly how to do that. 
But firstly, a big thanks to Sreeji from the OCI Log Analytics team for his support here.

The OIC Integration invoked is - processOrders. It invokes a local integration, validateOrder.


Here is my API Gateway Deployment setup -

Ensure logging is enabled - 

I execute the request to the gateway -
Now, in OCI Logging, I see the api gateway and oic logs. Note the first log entry shown is from api gateway, routing the request to OIC. Note the last entry is from api gateway, processing the OIC response.

 

The api gateway log has the following format - 

Note the opcRequestId entry - 

"/14A3FC5552D04597A8EDF81EECFB635D/7D3278EF2D014AC4B359D70ADCA03A09"

Now to the OIC activity stream entry - 

Note the opcRequestId entry - 
"5TYRCGIW24W2CNSPKVG7JC5FAE84P1XU/14A3FC5552D04597A8EDF81EECFB635D/O6TIS1HTURTM4M3HMR232FLC5W9DYWOA"

As you can see, the first part of the api  gateway opcRequestId surfaces as the second part of the OIC opcRequestId. 

We need to create Correlation IDs that reflect this relationship in OCI Log Analytics.

OCI Log Analytics

Getting API Gateway logs into Log Analytics

I create a new Log Group for api gateway execution log in OCI Log Analytics -

I then create a Connector in OCI Logging to push the api gateway log data to OCI Log Analytics - 

Creating the Correlation ID field for the API Gateway log


The example field entry -
/14A3FC5552D04597A8EDF81EECFB635D/7D3278EF2D014AC4B359D70ADCA03A09

The regex - \/{Correlation ID:.*}\/

Creating the Correlation ID field for the OIC Activity Stream Log


The example field entry -
5TYRCGIW24W2CNSPKVG7JC5FAE84P1XU/14A3FC5552D04597A8EDF81EECFB635D/O6TIS1HTURTM4M3HMR232FLC5W9DYWOA

The regex - .+/{Correlation ID:.+}/

Now to creating the Log Explorer Query.

Log Analytics - Log Explorer Query


Query - 'Correlation ID' != null | link includenulls = true 'Log Source', 'Correlation ID', 'OPC Request ID', Identifier | stats unique(Instance) as 'Instance ID', avg(Duration) as 'Avg. Duration' | eval 'Avg. Duration' = unit('Avg. Duration', second) | rename 'Group Duration' as 'Time Taken' | sort 'Correlation ID', 'Start Time' | fields -'OPC Request ID'

Let's look at these columns in detail - 



















 







No comments: