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 -
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.
"/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 -
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'

No comments:
Post a Comment