Parámetros y configuración
Parámetros
| --conf | Ruta al archivo de configuración |
| --target_databases | Ruta al archivo de configuración que contiene los targets de las bases de datos |
| --target_agents | Ruta al archivo de configuración que contiene los targets de los agentes |
| --custom_queries | Ruta al archivo de configuración que contiene las consultas personalizadas |
Archivo de configuración (--conf)
[CONF]
agents_group_id = < ID del grupo en el que se crearán los agentes >
interval = < Intervalo de monitorización de los agentes en segundos >
user = < Usuario de conexión >
password = < Contraseña >
threads = < Número de hilos que se usaran para la creación de agentes >
modules_prefix = < Prefijo de módulos >
execute_custom_queries = < Activar con 1 para habilitar el uso de consultas personalizadas >
analyze_connections = < Activar con 1 para habilitar la monitorización de conexiones >
engine_uptime = < Activar con 1 para habilitar la monitorización del tiempo en ejecución >
query_stats = < Activar con 1 para habilitar la moitorización de estadísticas de consultas >
check_tablespaces = < Activar con 1 para habilitar la monitorización de estadísticas de tablespaces >
fragmentation_ratio = < Activar con 1 para habilitar la monitorización de estadísticas de ratio de fragmentación >
cache_stats = < Activar con 1 para habilitar la monitorización de estadísticas de cache >
thick_mode = < Activar con 1 para habilitar la conexión en thick mode >
multitenant = < Activar con 1 para habilitar la monitorizacion multitenant. Solo aplicable a arquitecturas multitenant de Oracle (CDB/PDB); en entornos que no sean CDB, simplemente emitirá una advertencia inofensiva>
agent_per_pdb = <Activar con 1 para habilitar la creacion de agente por cada PDB. Aplicable únicamente a arquitecturas multitenant (CDB/PDB) de Oracle. Si se marca esta casilla, se creará un agente para cada PDB de la instancia; de lo contrario, los módulos de cada PDB se incluirán en el agente principal de la instancia. >
client_path = < Ruta del cliente. Sólo necesario en caso de utilizar el thick mode >
entities_list = < Ruta donde se generará el fichero de entidades >
enable_entities_interval = < Ruta para activar el fichero de entidades (solo en modo multitenant >
entities_interval = < intervalo de reescaneo del fichero de entidades >
[THRESHOLDS]
< Patron regexp de coincidencia con nombre de módulos > = < Umbrales deseados en el modulo, separados por "|" >
Ejemplo
[CONF]
agents_group_id = 10
interval = 300
user = sa
password = HHgD85V@
threads = 1
modules_prefix =
execute_custom_queries = 1
analyze_connections = 1
engine_uptime = 1
query_stats = 1
check_tablespaces = 1
fragmentation_ratio = 1
cache_stats = 1
thick_mode = 1
multitenant = 0
agent_per_pdb = 0
client_path = /usr/lib/oracle/21/client64/lib/
entities_list = /tmp/entities_oracle.txt
enable_entities_interval = 1
entities_interval = 48000
[THRESHOLDS]
^tablespace = min_warning 10|max_warning 20|min_critical 0|max_critical 10
fragmentation = min_warning 10
La instalacion estandar de instant client 19.8 se hace en la ruta /usr/lib/oracle/19.8/client64/lib
Listado de bases de datos objetivo (--target_databases)
El contenido del fichero será un listado de bases de datos objetivo, separando cada base de datos por comas o por líneas. El formato para una base de datos podrá ser cualquiera de los siguientes:
ip/sid
ip:puerto/sid
ip:puerto/service_name
En caso de no indicarse el puerto, se usará el puerto 1521 TCP por defecto para la conexión al objetivo.
Ejemplo
172.17.0.3:1521/FREEPDB1
Cada línea del archivo debe representar una base de datos de destino independiente utilizando uno de estos formatos. Este archivo se utiliza para especificar las bases de datos que el complemento debe supervisar.
También puede especificar una cadena DNS directamente.
Ejemplo server standalone:
dsn=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sales1-srv)(PORT=1521))(CONNECT_DATA=(SID=ORCL)))
Ejemplo failover con dos servers
dsn=(DESCRIPTION=(FAILOVER=ON)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=sales1-srv)(PORT=1521) (CONNECT_TIMEOUT=5)(RETRY_COUNT=2))(ADDRESS=(PROTOCOL=TCP)(HOST=sales2-srv)(PORT=1521)(CONNECT_TIMEOUT=5)(RETRY_COUNT=2)))(CONNECT_DATA=(SID=ORCL)))
Listado de agentes objetivo (--target_agents)
El contenido del fichero será un listado de bases de nombres de agentes, separando cada agente por comas o por líneas. Estos nombres de agentes se usarán para volcar la información de cada base de datos objetivo en el nombre de agente indicado correspondiente, en lugar de dejar que el plugin genere los nombres de agentes de forma automática.
La posición de cada nombre de agente en el listado debe coincidir con la posición de la base de datos objetivo en su propio listado, es decir, el nombre para la primera base de datos objetivo será el primer nombre de este listado, teniendo en cuenta que las líneas en blanco son ignoradas.
Ejemplo
agente1,,agente3
agente4
agente5,agente6,agente7,,agente9
Consultas personalizadas (--custom_queries)
Se debe introducir un módulo por cada consulta personalizada que se pretenda monitorizar. Los módulos deben seguir una estructura, que es la siguiente:
check_begin --> Etiqueta de abertura del módulo
name --> Nombre del módulo
description --> Descripción del módulo.
operation --> Tipo de operación
datatype --> Tipo de módulo
min_warning --> Configuración del umbral mínimo de warning
max_warning --> Configuración del umbral máximo de warning
str_warning --> Configuración de string de warning
warning_inverse --> Activar el intervalo inverso con 1 para umbral de warning
min_critical --> Configuración del umbral mínimo de critical
max_critical --> Configuración del umbral máximo de critical
str_critical --> Configuración de string de critical
critical_inverse --> Activar el intervalo inverso con 1 para umbral de crítico
module_interval --> Este intervalo se calcula como un multiplicador del intervalo del agente.
target --> Consulta
target_scope --> Scope de ejecución: cdb, pdb o todos (default: cdb)
# - cdb: solo en la instancia de CDB
# - pdb: solo en cada PDB descubierta (requiere multitenant activado)
# - all: en todos (CDB and PDBs)
target_databases --> Agentes de bases de datos en los que se creará el módulo
check_end --> Etiqueta de cierre del módulo
Ejemplo
check_begin
name Select 1
description Number of invalid objects
operation value
datatype generic_data
min_warning 5
target SELECT 1 FROM dual
target_databases all
check_end
check_begin
name NumeroConexiones
description Number of connections
operation value
datatype generic_data
min_warning 5
target SELECT COUNT(*) AS NumeroConexiones FROM v$session;
target_databases pandora
check_end
check_begin
name NumeroRegistros.files_table
description Invalid objects (detail)
operation full
datatype generic_data
target SELECT COUNT(*) AS NumeroRegistros FROM files;
target_databases pandora
check_end