Blog

Monitor your Oracle Standby Databases with Zabbix

oracle data basesWithin the framework of Amazon Web Services' cloud-based SAP managed systems, an important part to consider is always infrastructure monitoring as well as replication. Among the different monitoring tools, Linke uses mainly Zabbix. Recently, our customers have raised a need that we have managed to solve: Currently, Zabbix does not support the monitoring of Oracle replication databases.

For this reason, we want to share in today's post how our SAP Basis Senior Consultant, Jaume Moreno, has configured and developed a solution for Zabbix to monitor these Oracle standby databases from now on. Ready? Keep reading:

Zabbix for Oracle: the solution

Let's see the step-by-step configuration of Zabbix for an Oracle Standby (DataGuard) Database. To do this, Zabbix agent had to be modified and improved to ensure that the replicated version of the database runs correctly. 

By default, pyora2 (Zabbix template for Oracle databases) does not contemplate databases that are not in "open" mode, such as Oracle DataGuard's standby databases, which are in "mounted" mode. For this reason, pyora2's Python is modified to contemplate this case and to inform when the database is operational. In addition, we added a new check that will show if the DataGuard database has the log file applied within the last 24 hours.  

Below you can see the details of the configuration:

1. Modified Pyora files (custom)

  • Database.py

fichero zabbix1 - Edited

  • Databases.py

fichero zabbix2 - Edited

  • pyora-config.py

ficheros 3 - Edited

  • pyora-active.py

zabbix4

pyora_mod

With the previous modifications you can add/configure an Oracle Dataguard database in Zabbix using the pyora template on one hand, and on the other hand, you can add a check that will tell us if you have the log file applied.

Now, the way to add a system with database slightly changes when adding the field "brs". If now we execute the command "./pyora-config.py -d" we have to notify if the system with the database is or not an Oracle Standby system (brs).

Note: The user who can connect to the database in Standby will be the "sys" user, since this role has the default permissions to do a SYSDBA.

sysdba

Then, in the file /etc/pyora2/databases.cfg the following entry is added: 

2020-03-24

2. Setting up Zabbix

For this step, a special template has been created on Zabbix only with two new entries: check_active_brs and check_last_log_applied_24h. These entries will return a 1 if the check is OK and 0 for a failed check up. This is how the configuration for the template has been determined:

  • Template

As a template name we have assigned: "Oracle Active Base 2.0 with BRS"

oracle template

  • Item check_active_brs

ítem oracle

  • Trigger check_active_brs

trigger oracle

  • Item check_last_log_applied_24h

item_24h
  • Trigger check_last_log_applied_24hr
trigger 24h

 

So, assigning this template to the server where the Oracle brs is located will be more than enough.

plantilla_mod

Similarly, we modify the macro with the data obtained from the instance.

macro_modified

Obtaining the following result in the Latest Data section of Zabbix:

latest data

By following those steps, at Linke we have achieved the development of this solution for your Oracle Databases. Now the monitoring at Zabbix will be much easier!

 

Want to learn more about Linke´s AWS Managed Services for SAP in the Cloud? Contact us, we will be happy to help you. 

Contact us

Stay tunned for more content like this.

Linke SAP on AWS
Key steps to adopt Devops on a Cloud-Native Company
Download The Linke AWS Connector for SAP in PDF