Hoy os traigo una nueva entrada de Zabbix donde en esta ocasión voy a explicaros como podéis monitorizar vuestras instancias de Oracle utilizando el plugin incluido en Zabbix 6.
Requisitos
- Según la documentación oficial de Zabbix las versiones de Oracle soportadas por el plugin son las versiones 12c2, 18c y 19c
- Es necesario tener instalado en el servidor donde se encuentra instalada la instancia de Oracle el agente 2 de Zabbix en su versión 6.2 o superior.
Instalación Instant Client de Oracle
Importante: los siguientes pasos hay que hacerlos en el servidor donde se encuentra instalado Oracle.
En primer lugar nos iremos a la página oficial de Oracle y descargaremos el cliente de Oracle correspondiente a la versión de Oracle que estemos utilizando. Una vez localizada nuestra versión, descargaremos el paquete Basic Package en formato zip y lo guardaremos en nuestro servidor.
A continuación creamos el siguiente directorio:
sudo mkdir -p /opt/oracle
Descomprimimos el fichero zip que hemos descargado previamente en la carpeta /opt/oracle.
sudo unzip nombre_fichero_zip -d /opt/oracle/
Ejecutamos el siguiente comando (modificar instantclient_12_2 por el nombre de vuestra carpeta ya que variará en función de la versión descargada).
sudo sh -c "echo /opt/oracle/instantclient_12_2 > \ /etc/ld.so.conf.d/oracle-instantclient.conf"
Ahora ejecutamos el siguiente comando:
sudo ldconfig
Creamos un nuevo directorio donde guardaremos un fichero de configuración para nuestro agente de Zabbix:
mkdir -p /etc/systemd/system/zabbix-agent2.service.d
Creamos el fichero de configuración donde almacenaremos la información relativa a las variables de entorno de Oracle:
nano /etc/systemd/system/zabbix-agent2.service.d/oracle-env.conf
El contenido del fichero de configuración será el siguiente (OJO modificar las rutas por las vuestras):
[Service] Environment="ORACLE_HOME=/opt/oracle/instantclient_12_2" Environment="LD_LIBRARY_PATH=/opt/oracle/instantclient_12_2:$LD_LIBRARY_PATH" Environment="PATH=$PATH:$ORACLE_HOME"
Guardamos el fichero.
Reiniciamos el demonio para que coja los cambios que hemos realizado.
systemctl daemon-reload
Reiniciamos el agente de Zabbix.
systemctl restart zabbix-agent2
Creación usuario Zabbix en Oracle
Para continuar necesitaremos crear un usuario de Oracle con suficientes privilegios para obtener los datos relativos a nuestra instancia a monitorizar.
CREATE USER zabbix IDENTIFIED BY tu_contrasena; GRANT CONNECT, CREATE SESSION TO zabbix; GRANT SELECT_CATALOG_ROLE to zabbix; GRANT SELECT ON DBA_TABLESPACE_USAGE_METRICS TO zabbix; GRANT SELECT ON DBA_TABLESPACES TO zabbix; GRANT SELECT ON DBA_USERS TO zabbix; GRANT SELECT ON SYS.DBA_DATA_FILES TO zabbix; GRANT SELECT ON V_$ACTIVE_SESSION_HISTORY TO zabbix; GRANT SELECT ON V_$ARCHIVE_DEST TO zabbix; GRANT SELECT ON V_$ASM_DISKGROUP TO zabbix; GRANT SELECT ON V_$DATABASE TO zabbix; GRANT SELECT ON V_$DATAFILE TO zabbix; GRANT SELECT ON V_$INSTANCE TO zabbix; GRANT SELECT ON V_$LOG TO zabbix; GRANT SELECT ON V_$OSSTAT TO zabbix; GRANT SELECT ON V_$PGASTAT TO zabbix; GRANT SELECT ON V_$PROCESS TO zabbix; GRANT SELECT ON V_$RECOVERY_FILE_DEST TO zabbix; GRANT SELECT ON V_$RESTORE_POINT TO zabbix; GRANT SELECT ON V_$SESSION TO zabbix; GRANT SELECT ON V_$SGASTAT TO zabbix; GRANT SELECT ON V_$SYSMETRIC TO zabbix; GRANT SELECT ON V_$SYSTEM_PARAMETER TO zabbix;
Configuración del servidor de Oracle en Zabbix Server
El primer paso sería conectarnos vía web a nuestra instancia de Zabbix para incluir el servidor de Oracle. Voy a obviar como sería este proceso de agregar un servidor ya que seguramente lo habréis hecho ya en varias ocasiones y me voy a centrar exclusivamente en las configuraciones que hay que realizar para monitorizar nuestra instancia de Oracle.
Una vez tengamos nuestro nuevo host incluido en Zabbix, tenemos que añadir una nueva template incluida en Zabbix llamada Oracle by Zabbix agent2.
En la pestaña de Macros tendremos que crear las siguientes macros:
- {$ORACLE.PASSWORD}: Aquí tendremos que poner la contraseña del usuario de Oracle que hemos creado anteriormente.
- {$ORACLE.SERVICE}: Nombre del servicio de Oracle.
- {$ORACLE.USER}: Usuario de Oracle que creamos para obtener los datos de nuestra instancia.
Guardamos los cambios.
Y listo, pasados unos minutos ya deberíamos a empezar a tener datos de nuestra instancia de Oracle.
Como siempre espero que os haya sido de utilidad.
Entradas relacionadas
- Monitorizar un Clúster de Kubernetes con Zabbix 6
- Monitorizar un servidor MySQL con Zabbix 6
- Como actualizar Zabbix desde la versión 5 a la versión 6
- Instalar y configurar el agente de Zabbix 6 en Windows
- Instalación agente Zabbix 6 en equipos Linux
- Como instalar y configurar Zabbix 6
- Como monitorizar sitios webs con Zabbix 6
- Como monitorizar un fichero de Log de Linux con Zabbix 6
- Como monitorizar un servidor VMware ESXi con Zabbix 6
- Como monitorizar un servicio de Windows con Zabbix 6
Me dedico a la Administración de Sistemas y he creado este blog para compartir mis conocimientos con toda la comunidad y así aportar mi granito de arena y ayudar a todo el que lo necesite.
Hola, un saludo desde Chile, te sigo y he aprendido mucho contigo, tengo una duda tienes algun tutorial de como instalar el agente 2 zabbix en solaris??…ojala me puedas ayudar
Hola Carlos,
Por ahora no tengo ninguno pero me lo apunto para ver si en un futuro puedo hacer uno.
Saludos.