Skip to main content

Discovery

Este plugin puede integrarse con el Discovery de Pandora FMS.

Para ello se debe cargar el paquete ".disco" que puede descargar desde la librería de Pandora FMS:

https://pandorafms.com/library/

image.png

Una vez cargado, se podrán monitorizar entornos de SAP HANA creando tareas de Discovery desde la sección Management > Discovery > Aplications.

image.png

Para cada tarea se solicitarán los siguientes parámetros mínimos:

  • SAP HANA target string: Dirección IP del host con SAP HANA, puerto, instancia de la base de datos.
  • Credenciales: Usuario y contraseña de tipo Custom, para ello necesitaremos crear en el apartado Management > Configuration > Credential store una nueva credencial.

step2.png

También se podrá ajustar la configuración de la tarea para personalizar la monitorización deseada:

  • Max threads: Número máximo de hilos concurrentes que se utilizarán para ejecutar las consultas de monitorización.
  • Target agent: Permite indicar manualmente el nombre de los agentes en los que se crearán los módulos. Se debe introducir un nombre de agente por cada SAP HANA target string, respetando el mismo orden. Si se deja vacío, el plugin creará los agentes automáticamente con el formato HOST - DATABASE.
  • Regexp to filter modules: Habilita el filtrado de módulos mediante expresiones regulares.
  • Allow regexp: Si se activa el filtro, solo se crearán los módulos cuyo nombre coincida con esta expresión regular.
  • Regexp to discard modules: Habilita el descarte de módulos mediante expresiones regulares.
  • Deny regexp: Si se activa el descarte, no se crearán los módulos cuyo nombre coincida con esta expresión regular.
  • Backups Size: Crea el módulo backups_estimated_size_bytes, con el tamaño estimado de los backups de SAP HANA.
  • Timestamp: Crea el módulo timestamp, con la fecha/hora actual de la base de datos para verificar desfases temporales.
  • Hana Version: Crea el módulo version, con la versión instalada de SAP HANA.
  • Data Disk Information: Crea los módulos volumes_count y volumes_io_entries, con información básica sobre volúmenes y actividad de E/S.
  • Hana Service Statistics: Crea módulos por cada servicio SAP HANA detectado, incluyendo ACTIVE_STATUS, PROCESS_CPU_TIME, TOTAL_CPU_TIME, PROCESS_MEMORY, TOTAL_MEMORY, AVAILABLE_MEMORY, ACTIVE_REQUEST_COUNT, PENDING_REQUEST_COUNT, ACTIVE_THREAD_COUNT, THREAD_COUNT, OPEN_FILE_COUNT, REQUESTS_PER_SEC, RESPONSE_TIME, START_TIME y SYS_TIMESTAMP.
  • Hana CPU Time: Crea los módulos cpu_total_time_ms, cpu_process_time_ms y cpu_service_count, con métricas agregadas del uso de CPU en los servicios SAP HANA.
  • Hana RS Fragmentation: Crea el módulo rowstore_fragmentation_pct, con el porcentaje estimado de fragmentación del Row Store.
  • Hana License: Crea los módulos license_expiration_date, license_days_remaining, license_memory_limit, license_hardware_key, license_installation_number, license_product_name, license_system_id, license_swproductname y license_enforced, con información de licencia del entorno SAP HANA.
  • Hana IO Stats: Crea los módulos io_total_read_bytes, io_total_write_bytes e io_total_time_ms, con métricas agregadas de lectura, escritura y tiempos de E/S.
  • Hana Get Stated Connections: Crea los módulos connections_total, connections_running, connections_idle, connections_queued, connections_disconnected y connections_unknown, con el estado de las conexiones activas.
  • Hana Memory: Crea los módulos memory_used_bytes y memory_allocation_limit_bytes, con métricas de uso y límite de memoria.
  • Hana Transactions: Crea los módulos blocked_transactions, blocked_transactions_distinct_users y open_transactions, con información sobre transacciones abiertas y bloqueadas.
  • Execute custom queries: Habilita la ejecución de consultas personalizadas definidas en el campo Custom queries.
  • Custom queries: Permite crear varios módulos personalizados usando bloques check_begin/check_end.
  • Custom module prefix: Define un prefijo que se concatenará al nombre de los módulos generados.
  • Custom modules (legacy): Permite declarar módulos personalizados con el formato heredado module:query:type:description.

image.png

Ejemplos de custom queries:

check_begin
name connections_total
description Conexiones totales (SYS.M_CONNECTIONS)
operation value
target SELECT COUNT(*) FROM SYS.M_CONNECTIONS
datatype generic_data
unit conns
check_end

check_begin
name connections_active
description Conexiones activas RUNNING (SYS.M_CONNECTIONS)
operation value
target SELECT COUNT(*) FROM SYS.M_CONNECTIONS WHERE CONNECTION_STATUS = 'RUNNING'
datatype generic_data
unit conns
check_end

check_begin
name memory_used_bytes
description Memoria usada total (INSTANCE_TOTAL_MEMORY_USED_SIZE)
operation value
target SELECT COALESCE(SUM(INSTANCE_TOTAL_MEMORY_USED_SIZE),0) FROM SYS.M_HOST_RESOURCE_UTILIZATION
datatype generic_data
unit bytes
check_end

check_begin
name memory_allocation_limit_bytes
description Limite de asignacion de memoria (ALLOCATION_LIMIT)
operation value
target SELECT COALESCE(SUM(ALLOCATION_LIMIT),0) FROM SYS.M_HOST_RESOURCE_UTILIZATION
datatype generic_data
unit bytes
check_end

check_begin
name cpu_total_time_ms
description CPU total time agregado (TOTAL_CPU_TIME)
operation value
target SELECT COALESCE(SUM(TOTAL_CPU_TIME),0) FROM SYS.M_SERVICE_STATISTICS
datatype generic_data
unit ms
check_end

check_begin
name cpu_process_time_ms
description CPU process time agregado (PROCESS_CPU_TIME)
operation value
target SELECT COALESCE(SUM(PROCESS_CPU_TIME),0) FROM SYS.M_SERVICE_STATISTICS
datatype generic_data
unit ms
check_end

check_begin
name service_total_memory_bytes
description Memoria total agregada por servicios (TOTAL_MEMORY)
operation value
target SELECT COALESCE(SUM(TOTAL_MEMORY),0) FROM SYS.M_SERVICE_STATISTICS
datatype generic_data
unit bytes
check_end

check_begin
name service_available_memory_bytes
description Memoria disponible agregada (AVAILABLE_MEMORY)
operation value
target SELECT COALESCE(SUM(AVAILABLE_MEMORY),0) FROM SYS.M_SERVICE_STATISTICS
datatype generic_data
unit bytes
check_end

check_begin
name io_total_read_bytes
description IO total leido acumulado (TOTAL_READ_SIZE)
operation value
target SELECT COALESCE(SUM(TOTAL_READ_SIZE),0) FROM SYS.M_VOLUME_IO_TOTAL_STATISTICS
datatype generic_data
unit bytes
check_end

check_begin
name io_total_write_bytes
description IO total escrito acumulado (TOTAL_WRITE_SIZE)
operation value
target SELECT COALESCE(SUM(TOTAL_WRITE_SIZE),0) FROM SYS.M_VOLUME_IO_TOTAL_STATISTICS
datatype generic_data
unit bytes
check_end

check_begin
name io_total_time_ms
description Tiempo total de IO acumulado (TOTAL_IO_TIME)
operation value
target SELECT COALESCE(SUM(TOTAL_IO_TIME),0) FROM SYS.M_VOLUME_IO_TOTAL_STATISTICS
datatype generic_data
unit ms
check_end

check_begin
name rowstore_free_pct
description Rowstore porcentaje libre (FREE_SIZE/ALLOCATED_SIZE)
operation value
target SELECT CASE WHEN SUM(ALLOCATED_SIZE)=0 THEN 0 ELSE ROUND(SUM(FREE_SIZE)*100.0/SUM(ALLOCATED_SIZE),2) END FROM SYS.M_RS_MEMORY
datatype generic_data
unit %
min_warning 40
min_critical 20
inverse_warning 1
inverse_critical 1
check_end

check_begin
name hana_time_utc
description Timestamp UTC de la BD
operation value
target SELECT TO_VARCHAR(CURRENT_UTCTIMESTAMP) FROM DUMMY
datatype generic_data_string
check_end

check_begin
name hana_services_running
description Numero de servicios activos (ACTIVE_STATUS='YES')
operation value
target SELECT COUNT(*) FROM SYS.M_SERVICE_STATISTICS WHERE ACTIVE_STATUS = 'YES'
datatype generic_data
unit services
check_end

Ejemplos de legacy queries:

legacy_memory_used:SELECT COALESCE(SUM(INSTANCE_TOTAL_MEMORY_USED_SIZE),0) FROM SYS.M_HOST_RESOURCE_UTILIZATION:generic_data:Legacy memory usage
legacy_hana_version:SELECT VERSION FROM SYS.M_DATABASE:generic_data_string:Legacy HANA version