E-Business Suite Concurrent Manger

  • Last Updated 3/31/2023, 12:34:01 PM UTC
  • About 3 min read

Plugin info

name: ora-ebs-cm-status

Emits events based on the status of the EBS concurrent manager:

  1. Internal concurrent manager is not running
  2. Service manager actual processes not equal to target processes
  3. Job queues are down
  4. Slow job queues

# Prerequisites

Important, if the connection to the database/ASM takes place over BEQ, the process resource limits for myrmex-ad must match those set for the oracle database/ASM processes. Set these limits in the systemd unit file for myrmex-ad and then reload and restart the myrmex-ad service. Refer to https://www.man7.org/linux/man-pages/man5/systemd.exec.5.html#PROCESS_PROPERTIES (opens new window) for the process limit directives and their ulimit equivalents.

# Events

  • myrmex/oracle/ebs/cm/internal-manager/down set to 1 when internal concurrent manager down
    • Dimensions
      • sid the Oracle SID
  • myrmex/oracle/ebs/cm/queues/num-down set to number of queues which are down
    • Dimensions
      • sid the Oracle SID
  • myrmex/oracle/ebs/cm/queue/pending-jobs set to number of jobs which are pending
    • Dimensions
      • sid the Oracle SID
      • name the queue name

# Configuration

Plugin is configured with a yaml file:

  • instance_name: unique identifier for this database instance that will appear in emitted events. It does not affect the connection parameters.

  • source: the value that will appear as the source of metrics generated by this configuration. defaults to instance_name

  • timeout: execution timeout in duration format (opens new window). Defaults to 10s

  • oracle_home: set this only if you are logging on via a local (BEQ) connection. Not required when connecting via Oracle Net

  • oracle_sid: set this only if you are logging on via a local (BEQ) connection. Not required when connecting via Oracle Net

  • oracle_logon: the connection string just like in sqlplus. If the username or password contain the characters '@', '/', ' ' escape them in double quotes just like you would do for sqlplus; for example:

    oracle_logon: '"user@name"/"passw@rd"@//localhost:1521/TEST'
    // same applies for secrets
    oracle_logon: '"user@name"/"${polaris.db.test.pwd}"@//localhost:1521/TEST'
    
  • pending_jobs_limit: the number of pending jobs in a queue over which an alert is triggered

  • timeout: (optional default 10s), how long to wait before abandoning collection

# Example Configuration


# the unique identifier for this database instance that will appear in the metrics. It does not affect the connection paramters 
instance_name: TEST

# set this only if you are logging on via a local (BEQ) connection. Not required when connecting via Oracle Net 
oracle_home: /u01/app/oracle/product/12.2.0.1/dbhome_1
# set this only if you are logging on via a local (BEQ) connection. Not required when connecting via Oracle Net
oracle_sid: TEST
# the connection string just like in sqlplus
# {<username>/<password>[@<connect_identifier>] | / } [AS {SYSDBA | SYSOPER | SYSASM}]
# local connection examples. make sure that you have set params oracle_home and oracle_sid above
#   - / as sysdba
#   - system/password as sysoper
# Oracle Net connection examples: 
#   - system/password@//localhost:1521/MY_INSANCE
# Encypted parameters (such as password or usernames) can be referenced using ${param_name} format
# For example to connect as sys where the password was encrypted in paramter /oracle/MY_INSTNCE/sys_pwd:
#   - sys/${/oracle/MY_INSTNCE/sys_pwd}@//localhost:1521/MY_INSANCE
oracle_logon: 'polaris/${polaris.db.test.pwd}@//localhost:1521/TEST'

# per queue pending jobs limit to trigger alert
pending_jobs_limit: 5

# Validate Configuration

ora-ebs-cm-status --run-conf /path/to/config/file.yaml --validate

# Testing

Run the plugin from the command line and get any emitted events on stdout

ora-ebs-cm-status --run-conf /path/to/config/file.yaml

# List events emitted by this plugin

ora-ebs-cm-status --events
Last Updated: 3/31/2023, 12:34:01 PM