Werk #13732: mk_oracle on AIX, Solaris and UNIX: Solve sync. vs. async sections on hosts with systemd

Component Checks & agents
Title mk_oracle on AIX, Solaris and UNIX: Solve sync. vs. async sections on hosts with systemd
Date Aug 4, 2022
Level Trivial Change
Class Bug Fix
Compatibility Incompatible - Manual interaction might be required
Checkmk versions & editions
2.2.0b1 Checkmk Raw (CRE), Checkmk Enterprise (CEE), Checkmk Cloud (CCE), Checkmk MSP (CME)
2.1.0p13 Checkmk Raw (CRE), Checkmk Enterprise (CEE), Checkmk MSP (CME)
2.0.0p29 Checkmk Raw (CRE), Checkmk Enterprise (CEE), Checkmk MSP (CME)

The agent plugin "mk_oracle" implements its own caching functionality because of long running SQL statements (and custom SQLs with own cache interalls). But the execution of synchronous and asynchronous SQls does not work properly with systemd anymore if the plugin is installed to ../check_mk_agent/plugins/ because the "check-mk-agent-sync.service" would wait for all child processes and may take too long.

In order to solve this situation on hosts with systemd the "mk_oracle" must be installed to ../check_mk_agent/plugins/NUMBER and is now triggered by the "check-mk-agent-async.service" (which runs permanently, every minute).

Details:

  • The plugin is now able to detect the installation folder
  • On distros without systemd you can keep the plugin below ../check_mk_agent/plugins/
  • On distros with systemd you have to install the plugin to ../check_mk_agent/plugins/NUMBER/
  • The recommended NUMBER for this folder is 60

If the "mk_oracle" is installed to ../check_mk_agent/plugins/NUMBER the result (which consists of the sync. and async. SQLs) is saved into the Checkmk agent's spool directory

The limit of this spoolfile is three times the NUMBER (interval).

If the plugin is executed with any CL option, then the output is shown on "stdout" as before.

To the list of all Werks