Oracle Integration condition

Hi all,

is there a possibility to add a condition for Oracle Integration?

Just like PostgreSQL has one, I’d like to “activate” Oracle Integration based on agent Providers.

Thanks and greetings,

Hubert

Hi Hubert, welcome to the Elastic community!

Currently the Oracle integration doesn’t provide the same conditional activation based on agent providers like PostgreSQL does. In most cases, this needs to be handled through the Elastic Agent policy itself, assigning the integration only to the agents that should run it.

If you need more dynamic behavior, you could also separate policies or organize agents by provider groups.

Hope this helps.

Thank You Rafa for your answer although I was hoping to hear something like “it’s coming in next release” :wink: Yeah, it’s too pity there is no condition in Oracle Integration, I personally think it’s not a big thing to program it, but obviously it has no priority.

Regarding your hint about organizing agents by provider groups: did you mean to dynamically switch agent policy based on what’s currently happening and/or Running on server? If yes, how?

What I actually need is:

  • be able to include Oracle Integration into standard agent Policy. We use Fleet and want to have as less agent policies as possible (optimally 1)
  • Monitor applications on pacemaker Clusters (including Oracle). Currently Agents are unhealthy on Cluster nodes which are NOT Running the application (Oracle DB) because they can’t find database on empty node.

Somehow I don’t know how to proceed to have nice and friendly configuration. Current approach is:

  • Standard agent Policy for regular Linux servers
  • separate agent Policy with Oracle Integration for Oracle DB Single Servers

when using that separate policy on pacemaker Oracle Cluster we always got one server unhealthy (the passive one). Workaround is to ship Standard Policy to all pacemaker nodes and then Designate one extra VM to monitor all clustered Oracle instances, having one more special agent policy.

I’d be thankful for any valuable input :slight_smile:

Hi Hubert,

Good question and I see the challenge with pacemaker clusters

You’re right: today there’s no native “condition” like PostgreSQL. Also, Elastic Agent doesn’t dynamically switch policies based on runtime state (active/passive node).

For your case, the cleanest approach is usually:
Keep a single policy, but make the Oracle integration tolerant to failures (don’t treat connection errors as critical)
Or scope the Oracle input using host-level conditions (e.g. only enable it via local config/vars on the active node)
Another common pattern is using a lightweight check (script/process) to expose whether Oracle is running, and only collect metrics when it’s present

Your workaround (dedicated VM monitoring Oracle) is actually a valid and commonly used pattern for clustered DBs.

Today, avoiding multiple policies + handling passive nodes gracefully is the most practical path.

Thank You, I’ll try and see whatever fits best our environment.