SAP HANA

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

La integración de SAP HANA recopila las métricas y los registros de SAP HANA. Las métricas se recopilan mediante consultas a vistas de supervisión relevantes. Esta integración escribe registros de seguimiento estructurados.

Para obtener más información sobre HANA, consulta la documentación de SAP HANA.

Requisitos previos

Para recopilar la telemetría de HANA, debes instalar el Agente de operaciones, versión 2.18.1 o posterior.

Esta integración es compatible con la versión 2.0 de HANA.

Configura tu instancia de HANA

Para recopilar métricas, un usuario de supervisión requiere acceso SELECT a las vistas de supervisión relevantes. La siguiente secuencia de comandos de SQL crea un rol de supervisión y lo aplica a un usuario de supervisión si lo ejecuta un usuario con permisos suficientes conectados a la instancia de SAP HANA.

--Create the user
CREATE RESTRICTED USER otel_monitoring_user PASSWORD ;
--Enable user login
ALTER USER otel_monitoring_user ENABLE CLIENT CONNECT;
--Create the monitoring role
CREATE ROLE OTEL_MONITORING;
--Grant permissions to the relevant views
GRANT CATALOG READ TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_BACKUP_CATALOG TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_BLOCKED_TRANSACTIONS TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_CONNECTIONS TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_CS_ALL_COLUMNS TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_CS_TABLES TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_DATABASE TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_DISKS TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_HOST_RESOURCE_UTILIZATION TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_LICENSES TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_RS_TABLES TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_SERVICE_COMPONENT_MEMORY TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_SERVICE_MEMORY TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_SERVICE_REPLICATION TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_SERVICE_STATISTICS TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_SERVICE_THREADS TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_SERVICES TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_VOLUME_IO_TOTAL_STATISTICS TO OTEL_MONITORING;
GRANT SELECT ON SYS.M_WORKLOAD TO OTEL_MONITORING;
GRANT SELECT ON _SYS_STATISTICS.STATISTICS_CURRENT_ALERTS TO OTEL_MONITORING;
GRANT SELECT ON DUMMY TO OTEL_MONITORING;
--Add the OTEL_MONITOR role to the monitoring user
GRANT OTEL_MONITORING TO otel_monitoring_user;

Configura el Agente de operaciones para HANA

Mediante la guía Configura el Agente de operaciones, agrega los elementos necesarios para recopilar la telemetría de las instancias de HANA y reinicia el agente.

Configuración de ejemplo

El siguiente comando crea la configuración para recopilar y transferir la telemetría de transferencia para HANA y reinicia el Agente de operaciones.

# Configures Ops Agent to collect telemetry from the app and restart Ops Agent.

set -e

sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
logging:
  receivers:
    saphana:
      type: saphana
      include_paths:
      - /usr/sap/*/HDB*/saphanamon/trace/*.trc
      exclude_paths:
      - /usr/sap/*/HDB*/saphanamon/trace/nameserver_history*.trc
      - /usr/sap/*/HDB*/saphanamon/trace/nameserver*loads*.trc
      - /usr/sap/*/HDB*/saphanamon/trace/nameserver*executed_statements*.trc
  service:
    pipelines:
      saphana:
        receivers:
          - saphana
metrics:
  receivers:
    saphana:
      type: saphana
      username: SYSTEM
      password: G00g3l21
      endpoint: localhost:30015
  service:
    pipelines:
      saphana:
        receivers:
          - saphana
EOF

sudo service google-cloud-ops-agent restart

Configura la recopilación de registros

A fin de transferir registros desde HANA, debes crear receptores para los registros que produce HANA y, luego, crear una canalización para los receptores nuevos.

A fin de configurar un receptor para tus registros saphana, especifica los siguientes campos:

Campo Default Descripción
exclude_paths [/usr/sap/*/HDB*/${HOSTNAME}/trace/nameserver_history*.trc, /usr/sap/*/HDB*/${HOSTNAME}/trace/nameserver*loads*.trc, /usr/sap/*/HDB*/${HOSTNAME}/trace/nameserver*executed_statements*.trc] Una lista de patrones de ruta de acceso del sistema de archivos que se excluirán del conjunto que coincide con include_paths.
include_paths [/usr/sap/*/HDB*/${HOSTNAME}/trace/*.trc] Una lista de rutas de acceso del sistema de archivos que se leerán mediante la visualización del final de cada archivo. Se puede usar un comodín (*) en las rutas.
record_log_file_path false Si se configura como true, la ruta al archivo específico desde el que se obtuvo el registro aparece en la entrada de registro de salida como el valor de la etiqueta agent.googleapis.com/log_file_path. Cuando se usa un comodín, solo se registra la ruta de acceso del archivo del que se obtuvo el registro.
type El valor debe ser saphana.
wildcard_refresh_interval 60s El intervalo en el que se actualizan las rutas de acceso de archivos comodín en include_paths. Se proporciona como una duración, por ejemplo, 30s o 2m. Esta propiedad puede ser útil en el caso de una capacidad de procesamiento de registro alta en la que los archivos de registro se rotan más rápido que el intervalo predeterminado.

¿Qué se registra?

logName se deriva de los ID de receptor especificados en la configuración. Los campos detallados dentro de LogEntry son los siguientes.

Los registros saphana contienen los siguientes campos en LogEntry:

Campo Tipo Descripción
jsonPayload.component string Componente de SAP HANA
jsonPayload.thread_id número ID del subproceso que registra el mensaje
jsonPayload.connection_id número ID de la conexión desde la que se originó el mensaje, si el mensaje se registró en el alcance de una conexión
jsonPayload.transaction_id número ID de la transacción en la que se originó el mensaje, si el mensaje se registró en el alcance de una transacción
jsonPayload.update_transaction_id número ID de la transacción de actualización en la que se originó el mensaje, si el mensaje se registró dentro del alcance de una transacción de actualización
jsonPayload.message string Mensaje del registro
sourceLocation.file string Nombre de archivo de origen
sourceLocation.line número Línea dentro del archivo de origen

Configura la recopilación de métricas

A fin de transferir métricas desde HANA, debes crear receptores para las métricas que produce HANA y, luego, una canalización para los receptores nuevos.

A fin de configurar un receptor para las métricas de saphana, especifica los siguientes campos:

Campo Default Descripción
ca_file Ruta al certificado de CA. Como cliente, esto verifica el certificado del servidor. Si está vacío, el receptor usa la CA raíz del sistema.
cert_file Ruta de acceso al certificado TLS que se usará para las conexiones requeridas por mTLS.
collection_interval 60s Un valor time.Duration, como 30s o 5m.
endpoint localhost:30015 El nombre de host:puerto que se usa para conectarse a la instancia de saphana.
insecure true Establece si se debe usar o no una conexión TLS segura. Si se configura como , TLS está habilitado.
insecure_skip_verify false Establece si se debe omitir la verificación del certificado. Si insecure se configura como true, no se usa insecure_skip_verify value.
key_file Ruta de acceso a la clave TLS que se usará para las conexiones requeridas por mTLS.
password La contraseña usada para conectarse a la instancia.
type Este valor debe ser saphana.
username El nombre de usuario usado para conectarse a la instancia.

Qué se supervisa

En la siguiente tabla, se proporciona una lista de métricas que el Agente de operaciones recopila de la instancia HANA.

Tipo de métrica 
Categoría, tipo
Recursos supervisados
Etiquetas
workload.googleapis.com/saphana.alert.count
GAUGE, INT64
gce_instance
rating
workload.googleapis.com/saphana.backup.latest
GAUGE, INT64
gce_instance
 
workload.googleapis.com/saphana.column.memory.used
GAUGE, INT64
gce_instance
host
subtype
type
workload.googleapis.com/saphana.component.memory.used
GAUGE, INT64
gce_instance
component
host
workload.googleapis.com/saphana.connection.count
GAUGEINT64
gce_instance
host
status
workload.googleapis.com/saphana.cpu.used
CUMULATIVEINT64
gce_instance
host
type
workload.googleapis.com/saphana.disk.size.current
GAUGE, INT64
gce_instance
host
path
state
usage_type
workload.googleapis.com/saphana.host.memory.current
GAUGE, INT64
gce_instance
host
state
workload.googleapis.com/saphana.host.swap.current
GAUGEINT64
gce_instance
host
state
workload.googleapis.com/saphana.instance.code_size
GAUGEINT64
gce_instance
host
workload.googleapis.com/saphana.instance.memory.current
GAUGE, INT64
gce_instance
host
state
workload.googleapis.com/saphana.instance.memory.shared.allocated
GAUGE, INT64
gce_instance
host
workload.googleapis.com/saphana.instance.memory.used.peak
GAUGEINT64
gce_instance
host
workload.googleapis.com/saphana.license.expiration.time
GAUGE, INT64
gce_instance
product
system
workload.googleapis.com/saphana.license.limit
GAUGE, INT64
gce_instance
product
system
workload.googleapis.com/saphana.license.peak
GAUGE, INT64
gce_instance
product
system
workload.googleapis.com/saphana.network.request.average_time
GAUGE, DOUBLE
gce_instance
host
workload.googleapis.com/saphana.network.request.count
GAUGE, INT64
gce_instance
host
state
workload.googleapis.com/saphana.network.request.finished.count
CUMULATIVEINT64
gce_instance
host
type
workload.googleapis.com/saphana.replication.average_time
GAUGE, DOUBLE
gce_instance
mode
port
primary
secondary
workload.googleapis.com/saphana.replication.backlog.size
GAUGEINT64
gce_instance
mode
port
primary
secondary
workload.googleapis.com/saphana.replication.backlog.time
GAUGEINT64
gce_instance
mode
port
primary
secondary
workload.googleapis.com/saphana.row_store.memory.used
GAUGEINT64
gce_instance
host
type
workload.googleapis.com/saphana.schema.memory.used.current
GAUGEINT64
gce_instance
host
schema
type
workload.googleapis.com/saphana.schema.memory.used.max
GAUGE, INT64
gce_instance
host
schema
workload.googleapis.com/saphana.schema.operation.count
CUMULATIVEINT64
gce_instance
host
schema
type
workload.googleapis.com/saphana.schema.record.compressed.count
GAUGEINT64
gce_instance
host
schema
workload.googleapis.com/saphana.schema.record.count
GAUGEINT64
gce_instance
host
schema
type
workload.googleapis.com/saphana.service.code_size
GAUGE, INT64
gce_instance
host
service
workload.googleapis.com/saphana.service.count
GAUGEINT64
gce_instance
host
status
workload.googleapis.com/saphana.service.memory.compactors.allocated
GAUGEINT64
gce_instance
host
service
workload.googleapis.com/saphana.service.memory.compactors.freeable
GAUGE, INT64
gce_instance
host
service
workload.googleapis.com/saphana.service.memory.effective_limit
GAUGE, INT64
gce_instance
host
service
workload.googleapis.com/saphana.service.memory.heap.current
GAUGEINT64
gce_instance
host
service
state
workload.googleapis.com/saphana.service.memory.limit
GAUGEINT64
gce_instance
host
service
workload.googleapis.com/saphana.service.memory.shared.current
GAUGE, INT64
gce_instance
host
service
state
workload.googleapis.com/saphana.service.memory.used
GAUGE, INT64
gce_instance
host
service
type
workload.googleapis.com/saphana.service.stack_size
GAUGEINT64
gce_instance
host
service
workload.googleapis.com/saphana.service.thread.count
GAUGEINT64
gce_instance
host
status
workload.googleapis.com/saphana.transaction.blocked
GAUGEINT64
gce_instance
host
workload.googleapis.com/saphana.transaction.count
CUMULATIVE, INT64
gce_instance
host
type
workload.googleapis.com/saphana.volume.operation.count
CUMULATIVE, INT64
gce_instance
host
path
type
usage_type
workload.googleapis.com/saphana.volume.operation.size
CUMULATIVEINT64
gce_instance
host
path
type
usage_type
workload.googleapis.com/saphana.volume.operation.time
CUMULATIVEINT64
gce_instance
host
path
type
usage_type

Panel de muestra

Para ver tus métricas de HANA, debes tener configurado un gráfico o un panel. Cloud Monitoring proporciona una biblioteca de paneles de muestra para integraciones, que contienen gráficos preconfigurados. Para obtener información sobre la instalación de estos paneles, consulta Instala paneles de muestra.

Verifica la configuración

En esta sección, se describe cómo verificar que hayas configurado correctamente el receptor de HANA. El agente de operaciones puede tardar uno o dos minutos en comenzar a recopilar telemetría.

Para verificar que se transfieran los registros, ve al Explorador de registros y ejecuta la siguiente consulta a fin de ver los registros de HANA:

resource.type="gce_instance"
log_id("saphana")

Para verificar que las métricas se transfieran, ve a Explorador de métricas y ejecuta la siguiente consulta en la pestaña MQL:

fetch gce_instance
| metric 'workload.googleapis.com/saphana.connection.count'
| every 1m

¿Qué sigue?

Para obtener una explicación sobre cómo usar Ansible a fin de instalar el agente de operaciones, configurar una aplicación de terceros y, luego, instalar un panel de muestra, consulta el video Instala el agente de operaciones para solucionar problemas de apps de terceros.