Wednesday, March 25, 2026
#1132 - leveraging OIC based tools from OpenAI Codex
This post details how to configure OpenAI Codex to use tools from OIC.
My apocryphal order processing agent will be known to those who read my posts, but for those who don't, here's a screenshot of the OIC based tools I will be using -
Clicking on the Enable MCP Server box above will surface an url in the format -
https://yourOICInstance/mcp-server/v1/projects/yourProject/mcp
I copy the url for further use -
Now to Codex -
Click on Settings -
]
Save and you're ready to go!
I've created a new project in Codex -
Monday, March 23, 2026
#1131 - OCI Log Explorer for surfacing Faulted Flows
Introduction
Here is a simple way to identify successful/errored flows from the OIC Activity Stream Logs -
Check out the log fields in the activity stream - here I'm viewing them in Log Analytics -
This field can have the values -
- ProcessCompleted
- ProcessCompletedWithFaults
instanceCompletionState is not directly surfaced in the OIC Activity Stream in Log Explorer.
However, we can remedy this by creating a new field in Log Analytics -
This new field, which I call Instance Completion State, will be filled with the instanceCompletionState value from the log file.
Now that we've defined the field, let's define the extraction rule to get the required value from the log -
Here I need to customize the Source - OIC Integration Activity Stream Logs. I need to add an extended field so I click on Extended Fields -
\"instanceCompletionState\"\s*:\s*\"{Instance Completion State:[^\"]+}\"
Note instanceCompletionState is the name of the field in the log and Instance Completion State is the field I just created.
I test this -
Here is the query I use -
'Log Source' = 'OCI Integration Activity Stream Logs' | where 'Instance Completion State' != null | fields 'Instance Completion State', Entity, 'Entity Type', 'Host Name (Server)', 'Problem Priority', Label, 'Log Source' | fields Integration | fields Instance
'Log Source' = 'OCI Integration Activity Stream Logs' | where 'Instance Completion State' != null | fields 'Instance Completion State', Entity, 'Entity Type', 'Host Name (Server)', 'Problem Priority', Label, 'Log Source' | fields Integration | fields Instance | stats count as integrationFlows by 'Instance Completion State'
Friday, March 20, 2026
#1130 - using keys with OIC File Server
Introduction
This is more of a note for myself, but others may also find it useful.
Generate the keys
Here I use the following cmd -
ssh-keygen -t ed25519 -C "OIC-FileServer"
You can check out the keygen options here.
I then give a name for the keys -
Tuesday, March 17, 2026
#1129 - OCI Log Analytics MCP Server
Introduction
As you all know, I'm a great fan of OCI Log Analytics, especially in respect of OIC. Before delving into the MCP aspect, let's have a quick recap on what Log Analytics offers the OIC administrator -
- OOTB OIC focused dashboards, especially useful for OIC fleet management based on -
- OCI Service Metrics for Oracle Integration
- OIC Activity Stream logs
- Ability to create one's own specific dashboards for OIC
- Enables ad hoc querying of the OIC Activity Stream, via Log Explorer
- Ability to trace requests over multiple OCI services e.g.
- OCI API Gateway to OIC
- Enables long term storage of OIC Logs
- etc. etc.
Net, net, a very compelling addition to the OIC Admin toolkit. OIC Log Analytics also offers LoganAI, the ability to query your logs using natural language. Please check out my blog post on this topic, before continuing.
This cool feature has now been augmented with the ability to connect to Log Analytics from your favourite AI Assistant.A big thanks to my ORCL colleague, Rishabh G. His repo is available here.
As he states - this enables an - MCP server that connects AI assistants to OCI Log Analytics. Query, analyze, and explore your logs through natural language. No query language expertise required.
I now make many a couple of api calls - pushing thru orders number 100 and 101.
I validate the numbers in OIC Observability -
Log Analytics MCP Server
This is running on a compute node -
Before firing up Claude, let's enter a couple of orders in OIC. These run with trace set to audit -
- All orders for an iCar will be rejected, as we don't stock such a product.
- Every order for an iBoat takes longer due to extra processing required for this cool product
- Orders over 10k for customer NiallC will be rejected, as it breaks his credit limit
- All other orders will be approved and processed.
I will execute 7 orders -
- orderNr 100 - order for an iCar - this will fail
- orderNr 101 - order for an iBoat - this will take longer to process
- orderNr 102 - order for iBike - approved and processed
- orderNr 103 - order for an iBoat - this will take longer to process
- orderNr 104 - order for iScooter - approved and processed
- orderNr 105 - order for iBike - approved and processed
- orderNr 106 - order over 10K from NiallC - rejected
The tracking fields are as follows -
I now make many a couple of api calls - pushing thru orders number 100 and 101.
I can ask questions, such as -
As you can see, there was a peak on March 16th. I was running large SOAP UI tests.
As you can see, there was a peak on March 16th. I was running large SOAP UI tests.
This is significant — cross-referencing with the order volumes from the chart earlier, that hour saw 415,786 total logs and out of those 94,379 were authentication errors. It looks like something went wrong with authentication credentials/tokens during the high-volume processing window on March 16, causing roughly 1 in 4 flows to fail at the trigger. No errors have occurred since.
This strongly suggests iCar is not in the integration's approved product catalogue and orders for it will always be rejected until the product is added or the validation logic is updated.
I now run an integration, that will, at runtime, throw an error in the MAP action -
I now run an integration, that will, at runtime, throw an error in the MAP action -
This is a great addition to your monitoring toolkit. Kick the tyres, you won't regret it!
Subscribe to:
Comments (Atom)
