How to monitor Oracle with Linux GDMA
This service profile monitors an Oracle database on a Linux server using GDMA. Queries for basic availability checks are provided along with instruction on how to add additional queries to monitoring to tailor the service checks to your individual requirements.
Additionally, you may want to review a related blog post fas fa-blog
- gdma_check_oracle_available: Checks for database availability
- gdma_check_oracle_max_processes: Checks for the processes in use
- gdma_check_oracle_tablespace: Checks the size of all tablespaces in the database
- Database user with proper permissions
Special instructions for Red Hat Enterprise Linux (RHEL) 8
By default, libnsl.so.1 is not installed in Red Hat Enterprise Linux release 8.0. Without this package, no agent can be installed successfully. Have your administrator set up a yum repository for you, and then run this command:
yum install libnsl
After successful installation, you can see /usr/lib64/libnsl.so.1. For further reference see Agent Prerequisite Linux.
In order to monitor the database using SQL queries, you will need to create a user and give it access to create a session, at minimum. This can be done in the SQL*Plus command-line, for example:
You will likely want to use a more secure password to comply with your organization's security policies, this is just an example.
Depending on what you wish to monitor at the Database level, granting additional privileges to the gdma user may be necessary.
create user gdma identified by somepassword; grant create session to gdma;
Installing the Profile
- Login to the command-line of the GroundWork server as the user used to install GroundWork Monitor 8.
Change to the gw8 directory:
- Download the attached GDMA Oracle profile: service-profile-gdma-oracle-database.xml
Copy the profile to the monarch container on your GroundWork server:
docker cp service-profile-gdma-oracle-database.xml dockergw8_monarch_1:/usr/local/groundwork/monarch/profiles/Uploaded/CODE
- In the GroundWork Monitor UI, import the profiles in the Uploaded folder:
- Go to Configuration > Nagios Monitoring > Profiles > Profile Importer > Import > Uploaded.
- Click Check all and click Import.
- Now, you can adjust the arguments in each service to suit your environment and preference.
- Go to Configuration > Nagios Monitoring > Hosts > select the host you just created > click the service gdma_check_oracle_available > click the Service Check tab.
- Under the section Externals Macro Arguments, uncheck Inherit externals arguments from the generic service:
The default arguments are as follows:
Which translate to:
Hostname or IP address!Port!Database name!User!Password!Warning Threshold!Critical Threshold!Column to read!Continue check if oracle is offline!Graph the check!
- Other services may be adjusted in the same fashion, though you may optionally want to choose Y to graph the data received from the query.
- After you are satisfied with your adjustments, apply the profile to your Oracle host, commit, and build externals. The new checks will begin monitoring within 10 minutes (If no changes to check interval have been made).