Linux and UNIX systems: Discover database instances

Enable S-TAP to periodically discover database instances and send the results to the current active S-TAP system.

The Guardium Discovery Agent is a software agent automatically installed with the S-TAP package on a database server. The instance discovery agent reports database instances, listener, and port information to the Guardium system. Discovery does not find and report on every detail of the DB instances on the server.

Auto-discovery is enabled by default. Configure it with the parameter discovery_interval.

Database types supported by S-TAP Discovery
Oracle, DB2, Informix, MySQL, PostgreSGL, Enterprise PostgreSQL, Sybase, Hadoop, Teradata, Netezza, MemSQL.
The discovery bundle is not installed in a slave zone or WPAR; the discovery agent running on the global zone collects information from other zones.
Note: On Solaris zones architecture, when DB2® instances are running on slave zones, Discovery does not discover the DB2 shared memory parameters.

Newly discovered database instances can be seen in the Discovered Instances report. From this report, datasources and inspection engines can quickly be added to Guardium using the Actions menu.

If databases on the database server are not operational (started) or are added later, the Discovery Agent can still discover these instances by running the Run Discovery Agent command from the STAP Control window (Manage > Activity Monitoring > S-TAP Control. Click Send command, and select Run Database Instance Discovery).

S-TAP Discovery can be run manually but this action is not suggested. The main reason to run it manually is for debugging purposes. If a new request comes in from the user interface while a scheduled discovery is running, the new request is ignored.

You can run Discovery from a local command line on the database server (/usr/local/guardium/guard_stap/guard_discovery), in one of three ways:
  • with the --update-tap flag: edits the guard_tap.ini to add or update inspection engines
  • with the --send-to-sqlguard flag (or with no flag, this is the default): sends the found changes to the Guardium system, where they appear in the Discovered Instances report
  • with the --print-output flag: prints the found changes to stdout (for debugging)
If the S-TAP running as "user" (and not guardium), the discovery functionality is limited. The following message displays:
WARNING: Discovery is enabled and STAP is running as user guardium.
The discovery function is limited when STAP runs as user guardium.
Discovery is most effective when 'tap_run_as_root=1'
Note: S-TAP Discovery is not supported on AIX 5.3 because of static libraries are needed on that platform.
Note: In order to avoid an instance where S-TAP discovery does not open the Informix database, it is recommended to start Informix databases using the full path to the executable.

The S-TAP Discovery application parameters should be left at their default values, except for advanced users. Discovery application are described in Linux and UNIX systems: Discovery parameters.

Discovery also uses these parameters: