Oracle module
editOracle module
editThis is the Oracle module for Metricbeat. It is under active development with feedback from the community. A single Metricset for Tablespace monitoring is added so the community can start gathering metrics from their nodes and contributing to the module.
Compatibility
editOracle Metricbeat module is being tested version 12c R2 by using the store/oracle/database-enterprise:12.2.0.1 Docker image downloaded directly from the Oracle Docker Hub repository which is based on 5.0.13-arch1-1-ARCH Arch Linux. This is important, the module has only been tested with the mentioned image in Linux environments.
Dashboard
editAn overview dashboard for Kibana is already included:
Requirements
editConnectivity to Oracle can be facilitated in two ways either by using official Oracle libraries or by using a JDBC driver. Facilitation of the connectivity using JDBC is not supported currently with Metricbeat. Connectivity can be facilitated using Oracle libraries and the detailed steps to do the same are mentioned below.
Oracle Database Connection Pre-requisites
To get connected with the Oracle Database ORACLE_SID, ORACLE_BASE, ORACLE_HOME environment variables should be set.
For example: Let’s consider Oracle Database 21c installation using RPM manually by following this link, environment variables should be set as follows:
ORACLE_SID=ORCLCDB
ORACLE_BASE=/opt/oracle/oradata
ORACLE_HOME=/opt/oracle/product/21c/dbhome_1
Also, add ORACLE_HOME/bin
to the PATH
environment variable.
Oracle Instant Client
Oracle Instant Client enables development and deployment of applications that connect to Oracle Database. The Instant Client libraries provide the necessary network connectivity and advanced data features to make full use of Oracle Database. If you have OCI Oracle server which comes with these libraries pre-installed, you don’t need a separate client installation.
The OCI library install few Client Shared Libraries that must be referenced on the machine where Metricbeat is installed. Please follow this link for OCI Instant Client set up. The OCI Instant Client is available with the Oracle Universal Installer, RPM file or ZIP file. Download links can be found here.
Enable Listener
The Oracle listener is a service that runs on the database host and receives requests from Oracle clients. Make sure that listener should be running. To check if the listener is running or not, run:
lsnrctl STATUS
If the listener is not running, use the command to start:
lsnrctl START
Then, Metricbeat can be launched.
Host Configuration
The following two types of host configurations are supported:
-
Old style host configuration for backwards compatibility:
-
hosts: ["user/pass@0.0.0.0:1521/ORCLPDB1.localdomain"]
-
hosts: ["user/password@0.0.0.0:1521/ORCLPDB1.localdomain as sysdba"]
-
-
DSN host configuration:
-
hosts: ['user="user" password="pass" connectString="0.0.0.0:1521/ORCLPDB1.localdomain"']
-
hosts: ['user="user" password="password" connectString="host:port/service_name" sysdba=true']
-
DSN host configuration is the recommended way to configure the Oracle Metricbeat Module as it supports the usage of special characters in the password.
Note: If the password contains the backslash (\
) character, it must be escaped with a backslash. For example, if the password is my\_password
, it should be written as my\\_password
.
Metricsets
editThe following Metricsets are included in the module:
performance
editIncludes performance related events which contains mainly cursor and cache based data.
tablespaces
editIncludes information about data files and temp files, grouped by Tablespace with free space available, used space, status of the data files, status of the Tablespace, etc.
sysmetric
editIncludes the system metric values captured for the most current time interval from Oracle system metrics.
The Oracle module supports the standard configuration options that are described in Modules. Here is an example configuration:
metricbeat.modules: # Module: oracle - module: oracle period: 10m metricsets: - tablespace enabled: true hosts: ['user="user" password="pass" connectString="0.0.0.0:1521/ORCLPDB1.localdomain"'] - module: oracle period: 10s metricsets: - performance enabled: true hosts: ['user="user" password="pass" connectString="0.0.0.0:1521/ORCLPDB1.localdomain"'] - module: oracle period: 60s metricsets: - sysmetric enabled: true hosts: ['user="user" password="pass" connectString="0.0.0.0:1521/ORCLPDB1.localdomain"'] # patterns: ["foo%","%bar","%foobar%"] # username: "" # password: ""
The following metricsets are available: