Skip to main content

Prerrequisitos

Este plugin realiza conexiones remotas a las bases de datos a monitorizar, por lo que es necesario asegurar la conectividad entre el servidor de Pandora FMS y dichas bases de datos. Es necesario disponer de una configuración adecuada de la red y del cortafuegos para permitir la comunicación entre el servidor y las bases de datos remotas, con el fin de garantizar el funcionamiento eficaz del complemento.

ES — Conexión

El plugin se conecta mediante oracledb (driver Python) usando el formato:

HOST:PORT/SID

O mediante un DSN completo:

dsn=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sales1-srv)(PORT=1521))(CONNECT_DATA=(SID=ORCL)))

El usuario de conexión debe tener al menos el privilegio CREATE SESSION:

GRANT CREATE SESSION TO pandora;

ES — Grants por Módulo

Todos los módulos se activan mediante checkboxes en la configuración de Discovery. Otorga solo los permisos que necesites según los módulos que uses.

1. Conexiones (checkConnections)

-- v$session (contador de sesiones activas)
GRANT SELECT ON V_$SESSION TO pandora;

-- v$parameter (máximo de sesiones)
GRANT SELECT ON V_$PARAMETER TO pandora;

2. Uptime (checkUptime)

-- v$session (hora de inicio del proceso PMON)
GRANT SELECT ON V_$SESSION TO pandora;

3. Estadísticas de Queries (queryStats)

-- v$sqlstats (contadores de ejecución SQL)
GRANT SELECT ON V_$SQLSTATS TO pandora;

4. Tablespaces (checkTablespaces)

-- dba_tablespace_usage_metrics (Oracle 10g+)
GRANT SELECT ON DBA_TABLESPACE_USAGE_METRICS TO pandora;

-- dba_tablespaces (estado)
GRANT SELECT ON DBA_TABLESPACES TO pandora;

-- dba_data_files (cálculo de tamaño, fallback Oracle < 10g)
GRANT SELECT ON DBA_DATA_FILES TO pandora;

-- dba_free_space (cálculo de tamaño, fallback Oracle < 10g)
GRANT SELECT ON DBA_FREE_SPACE TO pandora;

5. Ratio de Fragmentación (checkFragmentation)

-- dba_tables (estadísticas de tablas para fragmentación)
GRANT SELECT ON DBA_TABLES TO pandora;

6. Estadísticas de Caché (checkCache)

-- v$librarycache
GRANT SELECT ON V_$LIBRARYCACHE TO pandora;

-- v$rowcache
GRANT SELECT ON V_$ROWCACHE TO pandora;

-- v$sysstat
GRANT SELECT ON V_$SYSSTAT TO pandora;

7. Multitenant / Monitorización de PDBs (multitenant)

-- v$pdbs (descubrimiento de PDBs)
GRANT SELECT ON V_$PDBS TO pandora;

Además, el usuario debe tener CREATE SESSION en cada PDB a monitorizar. Conéctate a cada PDB y ejecuta:

ALTER SESSION SET CONTAINER = <PDB_NAME>;
GRANT CREATE SESSION TO pandora;
-- Los grants granulares de PDB (v$session, dba_tablespaces, etc.)
-- deben otorgarse también dentro de cada PDB.

Nota: Con multitenant activado, el plugin se conecta directamente a cada PDB usando HOST:PORT/PDB_NAME, por lo que el usuario debe existir y tener los permisos necesarios en todas las PDBs.

8. Consultas Personalizadas (executeCustomQueries)

Los permisos dependen completamente de las consultas definidas por el usuario. Otorga SELECT sobre cualquier tabla/vista adicional que referencien las custom queries.


ES — Configuración Rápida (Todos los Módulos)

Para mayor comodidad, otorga SELECT_CATALOG_ROLE que cubre la mayoría de vistas V$ y DBA_:

-- En CDB (base de datos contenedora)
CREATE USER pandora IDENTIFIED BY <password>;
GRANT CREATE SESSION TO pandora;
GRANT SELECT_CATALOG_ROLE TO pandora;

-- En cada PDB (si usas multitenant)
ALTER SESSION SET CONTAINER = <PDB_NAME>;
-- Si el usuario ya existe como common user del CDB:
GRANT CREATE SESSION TO pandora;
GRANT SELECT_CATALOG_ROLE TO pandora;

Alternativa Granular Mínima

Si SELECT_CATALOG_ROLE es demasiado amplio, usa este bloque:

CREATE USER pandora IDENTIFIED BY <password>;
GRANT CREATE SESSION TO pandora;

-- Vistas de rendimiento dinámico
GRANT SELECT ON V_$SESSION TO pandora;
GRANT SELECT ON V_$SQLSTATS TO pandora;
GRANT SELECT ON V_$PARAMETER TO pandora;
GRANT SELECT ON V_$LIBRARYCACHE TO pandora;
GRANT SELECT ON V_$ROWCACHE TO pandora;
GRANT SELECT ON V_$SYSSTAT TO pandora;
GRANT SELECT ON V_$PDBS TO pandora;

-- Vistas DBA
GRANT SELECT ON DBA_TABLESPACES TO pandora;
GRANT SELECT ON DBA_TABLESPACE_USAGE_METRICS TO pandora;
GRANT SELECT ON DBA_DATA_FILES TO pandora;
GRANT SELECT ON DBA_FREE_SPACE TO pandora;
GRANT SELECT ON DBA_TABLES TO pandora;

-- Información de versión
GRANT SELECT ON PRODUCT_COMPONENT_VERSION TO pandora;

ES — Tabla Resumen

Token MóduloVista/Tabla Oracle
checkConnectionsV$SESSION, V$PARAMETER
checkUptimeV$SESSION
queryStatsV$SQLSTATS
checkTablespacesDBA_TABLESPACE_USAGE_METRICS, DBA_TABLESPACES, DBA_DATA_FILES, DBA_FREE_SPACE
checkFragmentationDBA_TABLES
checkCacheV$LIBRARYCACHE, V$ROWCACHE, V$SYSSTAT
multitenantV$PDBS + CREATE SESSION en cada PDB
executeCustomQueriesDepende de las queries del usuario

* Solo necesario para el fallback de Oracle <= 10g. Oracle 11g+ usa DBA_TABLESPACE_USAGE_METRICS.