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ódulo | Vista/Tabla Oracle |
|---|---|
checkConnections |
V$SESSION, V$PARAMETER |
checkUptime |
V$SESSION |
queryStats |
V$SQLSTATS |
checkTablespaces |
DBA_TABLESPACE_USAGE_METRICS, DBA_TABLESPACES, DBA_DATA_FILES, DBA_FREE_SPACE |
checkFragmentation |
DBA_TABLES |
checkCache |
V$LIBRARYCACHE, V$ROWCACHE, V$SYSSTAT |
multitenant |
V$PDBS + CREATE SESSION en cada PDB |
executeCustomQueries |
Depende de las queries del usuario |
* Solo necesario para el fallback de Oracle <= 10g. Oracle 11g+ usa DBA_TABLESPACE_USAGE_METRICS.