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 disponibilidadconsumo de memoriaCPUE/S de volúmenesconexionestransacciones y servicios.

Prerrequisitos

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/

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:

step2.png

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

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

Agentes y módulos generados por el plugin

Un ejemplo de Agentes creados con el plugin sería este:

agente.png

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.