Sap hana Discovery Este documento describe la funcionalidad Sap Hana del discovery de PandoraFMS. Introducción El plugin de  SAP HANA  para Pandora FMS descubre las bases de datos HANA configuradas y recopila métricas de estado y rendimiento para crear los módulos de monitorización correspondientes. Entre otros indicadores, obtiene información de  conectividad y disponibilidad ,  consumo de memoria ,  CPU ,  E/S de volúmenes ,  conexiones ,  transacciones  y  servicios . Prerrequisitos Conectividad a SAP Hana desde Pandora El plugin es un binario que contiene las dependias empaquetadas por lo que no es necesaria la instalación de ningún tipo de dependencia para su uso. 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/ Una vez cargado, se podrán monitorizar entornos de SAP HANA creando tareas de Discovery desde la sección Management > Discovery > Aplications . 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. 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 . 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 Agentes y módulos generados por el plugin Un ejemplo de Agentes creados con el plugin sería este: Los módulos del host sap hana serán estos: Enable Backups Size Módulo Descripción backups_estimated_size_bytes Tamaño estimado de los backups de la base de datos SAP HANA. Enable Timestamp Módulo Descripción timestamp Fecha y hora actual de la base de datos para validar sincronización temporal. Enable Hana Version Módulo Descripción version Versión instalada de SAP HANA. Enable Data Disk Information Módulo Descripción volumes_count Número total de volúmenes de datos detectados en SAP HANA. volumes_io_entries Número de entradas de actividad de E/S detectadas. Enable Hana Service Statistics Módulo Descripción ACTIVE_STATUS Estado activo actual del servicio. PROCESS_CPU_TIME Tiempo de CPU consumido por el proceso del servicio. TOTAL_CPU_TIME Tiempo total de CPU consumido por el servicio. PROCESS_MEMORY Memoria utilizada actualmente por el proceso del servicio. TOTAL_MEMORY Memoria total asignada al servicio. AVAILABLE_MEMORY Memoria disponible reportada por el servicio. ACTIVE_REQUEST_COUNT Número de peticiones activas actualmente. PENDING_REQUEST_COUNT Número de peticiones pendientes del servicio. ACTIVE_THREAD_COUNT Número de hilos activos del servicio. THREAD_COUNT Número total de hilos del servicio. OPEN_FILE_COUNT Número de archivos abiertos utilizados por el servicio. REQUESTS_PER_SEC Peticiones procesadas por segundo. RESPONSE_TIME Tiempo medio de respuesta del servicio. START_TIME Fecha y hora de inicio del servicio. SYS_TIMESTAMP Marca temporal actual reportada por el servicio. Enable Hana CPU Time Módulo Descripción cpu_total_time_ms Tiempo total de CPU agregado entre los servicios SAP HANA. cpu_process_time_ms Tiempo de CPU de proceso agregado entre los servicios SAP HANA. cpu_service_count Número de servicios incluidos en las estadísticas de CPU. Enable Hana RS Fragmentation Módulo Descripción rowstore_fragmentation_pct Porcentaje estimado de fragmentación del Row Store. Enable Hana License Módulo Descripción license_expiration_date Fecha de expiración de la licencia. license_days_remaining Días restantes hasta la expiración de la licencia. license_memory_limit Límite de memoria configurado para la licencia. license_hardware_key Clave de hardware asociada a la licencia. license_installation_number Identificador de instalación de la licencia. license_product_name Nombre del producto SAP HANA licenciado. license_system_id Identificador del sistema SAP HANA. license_swproductname Nombre del producto software licenciado. license_enforced Indica si la aplicación de licencia está habilitada. Enable Hana IO Stats Módulo Descripción io_total_read_bytes Total de bytes leídos desde disco. io_total_write_bytes Total de bytes escritos en disco. io_total_time_ms Tiempo total acumulado de operaciones de E/S en disco. Enable Hana Get Stated Connections Módulo Descripción connections_total Número total de conexiones a la base de datos. connections_running Número de conexiones activas en ejecución. connections_idle Número de conexiones inactivas. connections_queued Número de conexiones en cola. connections_disconnected Número de sesiones desconectadas. connections_unknown Conexiones con estado desconocido. Enable Hana Memory Módulo Descripción memory_used_bytes Memoria total actualmente utilizada por SAP HANA. memory_allocation_limit_bytes Límite de asignación de memoria configurado en SAP HANA. Enable Hana Transactions Módulo Descripción blocked_transactions Número total de transacciones bloqueadas. blocked_transactions_distinct_users Número de usuarios distintos con transacciones bloqueadas. open_transactions Número total de transacciones abiertas actualmente. Execute Custom Queries Módulo Descripción Módulos personalizados definidos por el usuario Módulos generados dinámicamente a partir de las consultas personalizadas configuradas.