IBM Cloud Docs
Configuración de un host de supervisión

Configuración de un host de supervisión

Un agente de supervisión recopila las métricas de un sistema de monitorización ( SAP ) y las reenvía al panel de control de la instancia de supervisión.

Implementación del host de instancia de servidor virtual VPC para un agente de supervisión

Utilice exportadores de Prometheus para recopilar las métricas. La sección sobre Recopilación de métricas explica detalles sobre métricas, etiquetas y agentes de supervisión.

El exportador Prometheus se basa en el proyecto de código abierto GitHub SAP HANA DB exporter.

Antes de empezar, consulte la documentación de IBM Cloud® sobre Creación de instancias de servidor virtual para crear un host de supervisión mediante la interfaz de usuario de IBM Cloud®.

Consideración de monitorización del host

Considere la siguiente configuración para el host de supervisión.

  • El host de monitorización debe estar desplegado en la misma región y zona que el sistema de e SAP.
  • Asegúrese de seleccionar el grupo de recursos correcto que se corresponda con su arquitectura desplegable (AD).
  • Debe implementar la imagen ibm-sles-15-5-amd64-sap-applications-<version>- SUSE Linux Enterprise Server 15 SP5 para aplicaciones SAP ( AMD64 )- con el tamaño más pequeño disponible de 2 núcleos.
  • Añada sus claves SSH adecuadas como se describe en Administrar claves SSH.

Verificación de ACL y grupos de seguridad

Después de crear el host del agente de supervisión, vaya a sus ACL y grupos de seguridad para verificar que la configuración sea correcta.

Si utiliza puntos de conexión de ingestión distintos de la ubicación del país del host de supervisión, debe ajustar la configuración de la lista de control de acceso (ACL) de la red de IBM Cloud® para un punto de conexión de la API REST privada correspondiente. Para obtener más información, consulte Recopilación de métricas utilizando la escritura remota de Prometheus.

Exportación de variables de SAP o como variables de bash

Utilice el siguiente comando para exportar variables de SAP como variables de Bash.

export sap_monitoring_nr=<sap_monitoring_nr>
export sap_hana_ip=<sap_hana_ip>
export sap_ascs_ip=<sap_ascs_ip>
export sap_app_server_ip_01=<sap_app_server_ip_01>
export sap_app_server_port_01=<sap_app_server_port_01>
export sap_ascs_http_port=<sap_ascs_http_port>
export sap_hana_http_port=<sap_hana_http_port>
export sap_hana_sql_systemdb_port=<sap_hana_sql_systemdb_port>
export sap_hana_sql_systemdb_user=<sap_hana_sql_systemdb_user>
export sap_hana_sql_systemdb_password=<sap_hana_sql_systemdb_password>
export ibmcloud_monitoring_instance_url=<ibmcloud_monitoring_instance_url>
export ibmcloud_monitoring_authorization_credentials=<ibmcloud_monitoring_authorization_credentials>

Comprobación de la conectividad para el puerto de la base de datos y los puertos de instancia de SAP

Instale la herramienta netcat utilizando el siguiente comando.

sudo zypper install netcat

Utilice netcat para comprobar la conectividad con el puerto de la base de datos y los puertos de instancia de SAP en el host de supervisión.

nc –vz ${sap_hana_ip} ${sap_hana_sql_systemdb_port}

Compruebe la conectividad desde el servidor de base de datos SAP HANA al puerto HTTP del servicio web sapstartsrv en el servidor SAP HANA.

nc –vz ${sap_hana_ip} ${sap_hana_http_port}

Compruebe la conectividad desde el servidor ASCS SAP al puerto HTTP del servicio web sapstartsrv del ASCS en el servidor ASCS SAP.

nc –vz ${sap_ascs_ip} ${sap_ascs_http_port}

Compruebe la conectividad desde la dirección IP del primer servidor de aplicaciones (principal) SAP hasta el puerto HTTP del servicio web sapstartsrv en el primer servidor de aplicaciones.

nc –vz ${sap_app_server_ip_01} ${sap_app_server_port_01}

Comprobación del estado de los repositorios del sistema operativo SLES

Asegúrese de que los repositorios de SLES OS adecuados estén habilitados mediante el siguiente comando.

SLE-Module-SAP-Applications15-SP5-Updates
SLE-Module-Packagehub-Subpackages15-SP5-Pool

Si los repositorios no están habilitados, utilice los siguientes comandos para habilitarlos.

sudo SUSEConnect -p sle-module-sap-applications/15.5/x86_64
sudo SUSEConnect -p PackageHub/15.5/x86_64

Si no puede activar estos repositorios, entonces ha instalado la versión incorrecta de la imagen del sistema operativo SLES.

Instalación de paquetes SLES Prometheus

Siga los pasos siguientes para instalar los paquetes SLES Prometheus.

  1. Actualice todos los paquetes del sistema operativo a la última versión. Reinicie el host si es necesario.

    sudo zypper update
    
  2. Instale los siguientes paquetes de Prometheus.

    sudo zypper install prometheus-sap_host_exporter
    
    sudo zypper install prometheus-hanadb_exporter
    
    sudo zypper install golang-github-prometheus-prometheus
    
  3. Cree el directorio de almacenamiento de datos de Prometheus.

    sudo mkdir /opt/prometheus
    
  4. Cambie los ID de usuario y grupo del directorio de almacenamiento de datos de Prometheus al usuario Prometheus.

    sudo chown -R prometheus:prometheus /opt/prometheus
    
    sudo chmod u+rwx /opt/prometheus
    
  5. Copie el archivo de métricas metrics.json al directorio de configuración /etc/hanadb_exporter.

    sudo cp /usr/share/doc/packages/prometheus-hanadb_exporter/metrics.json  /etc/hanadb_exporter/metrics.json
    

Instalación del controlador hdbcli de SAP Python

Siga los pasos siguientes para instalar el controlador SAP Python hdbcli.

  1. Acceda al Centro de descargas de SAP utilizando la autenticación de usuario S de SAP.

  2. Recupere el controlador SAP HANA Python descargando el cliente oficial SAP HANA. Para obtener información más detallada, consulte Instalar el cliente de SAP HANA.

  3. Instale el controlador SAP Python hdbcli como se describe en la sección Instalación del controlador Python.

  4. Elija el siguiente paquete de cliente de SAP HANA con las actuales <version> y <patch>.

    SUPPORT PACKAGES & PATCHES - SAP HANA PLATFORM EDITION/ - SAP HANA PLATFORM EDITION 2.0/ - SAP HANA CLIENT 2.0 - LINUX ON X86_64 64BIT - IMDB_CLIENT20_<version>_<patch>-80002082.SAR
    
  5. Descargue el paquete de instalación de SAPCAR_*.EXE desde el centro de descargas de SAP.

  6. Copie los dos archivos SAPCAR_*.EXE y IMDB_CLIENTXXX.SAR en un directorio arbitrario en el host de supervisión.

  7. Como usuario root, ejecute el siguiente comando.

    chmod 755 SAPCAR_*.EXE
    
  8. Extraiga el cliente de SAP ( SAP HANA ) del archivo SAR con SAPCAR.

    ./SAPCAR_*.EXE -xvf IMDB_CLIENT20*.SAR
    

    El nombre de archivo SAPCAR_*.EXE es un archivo binario de Linux.

  9. Utilice hdbinst para instalar el cliente de SAP HANA.

    cd SAP_HANA_CLIENT
    
    ./hdbinst
    
  10. Introduzca la ruta de instalación: [/usr/sap/hdbclient]: /usr/sap/hdbclient.

  11. Instale el paquete de pipas necesario para Python 3.x.

    sudo zypper install python3-pip
    
  12. Instale el controlador SAP HANA Python.

    pip install /usr/sap/hdbclient/hdbcli-*.tar.gz
    

Creación de la clave hdbuserstore

Siga los pasos siguientes para crear la clave de acceso a la cuenta ( hdbuserstore ).

  1. Cree la clave de usuario almacenada con el mismo usuario de Python que ejecuta el hanadb_exporter. Utilice el usuario SQL ReadOnly como <sap_hana_sql_systemdb_user>.

    /usr/sap/hdbclient/hdbuserstore SET MONITORING-${sap_monitoring_nr}-KEY \
    "${sap_hana_ip}:${sap_hana_sql_systemdb_port}@SYSTEMDB" \
    ${sap_hana_sql_systemdb_user} ${sap_hana_sql_systemdb_password}
    

    Para obtener más información, consulte SAP HANA User Store(hdbuserstore ) y hdbuserstore Commands.

    Para los siguientes pasos, se añade el userkey al archivo de configuración del hanadb_exporter como "userkey": "MONITORING-<sap_monitoring_nr>-KEY".

  2. Verifique que su clave se haya creado correctamente enumerando todas las claves.

    /usr/sap/hdbclient/hdbuserstore list
    
  3. Para mostrar solo su clave, utilice el siguiente comando.

    /usr/sap/hdbclient/hdbuserstore list MONITORING-${sap_monitoring_nr}-KEY
    

Configuración del hanadb_exporter y activación del demonio

Siga los pasos siguientes para configurar el hanadb_exporter y activar el demonio.

hanadb_exporter, recopila métricas de la base de datos SAP HANA. Todas las métricas del sistema de base de datos SYSTEMDB se reenvían al punto final de ingesta de supervisión a través de Prometheus.

El repositorio de la Guía de la marca registrada ( GitHub ) y la documentación original se pueden encontrar en los siguientes sitios web.

La configuración consta de dos archivos de configuración:

  • metrics.json- contiene todas las instrucciones SQL para consultar la base de datos SAP HANA
  • config.json contiene sap_hana_ip, sap_hana_sql_systemdb_port y hdbuserkey

Para evitar la necesidad de privilegios de administrador en la base de datos, utilice el usuario SQL ReadOnly desde el hdbuserstore. Los parámetros específicos se añaden al archivo de configuración sustituyendo los marcadores de posición <…>.

  1. Cree el archivo de configuración como usuario root con el nombre de archivo /etc/hanadb_exporter/config-<sap_monitoring_nr>-SQL.json utilizando el siguiente comando:

    {
       "listen_address": "0.0.0.0",
       "exposition_port": 5<sap_monitoring_nr>02,
       "multi_tenant": false,
       "_comment_multi_tenant": "true, if you want another 1000 metrics",
       "timeout": 30,
       "hana": {
         "host": "<sap_hana_ip>",
         "port": <sap_hana_sql_systemdb_port>,
         "userkey": "MONITORING-<sap_monitoring_nr>-KEY",
         "ssl": true,
         "ssl_validate_cert": false
         }
    }
    
  2. Para el valor del parámetro " userkey ", utilice el nombre de " hdbuserkey " que creó anteriormente.

Puede enumerar las claves utilizando el siguiente comando.

/usr/sap/hdbclient/hdbuserstore list
  1. Cambie los permisos de los archivos de configuración para que solo el usuario root pueda leerlos.

    chmod 600 /etc/hanadb_exporter/config*
    
  2. Antes de definir la configuración de sap_host_exporters para el systemd service, pruebe los exportadores manualmente utilizando el siguiente comando.

    hanadb_exporter -c /etc/hanadb_exporter/config-${sap_monitoring_nr}-SQL.json -m /etc/hanadb_exporter/metrics.json
    
  3. El proceso está bloqueando un terminal, así que abra un segundo terminal y verifique que un exportador haya recopilado correctamente la métrica. Ejecute el siguiente mandato cURL.

    curl http://localhost:5${sap_monitoring_nr}02/metrics
    

Si ves las métricas, también deberías ver un mensaje de estado. Si las métricas se enumeran correctamente, detenga el proceso de exportación.

Configure la aplicación systemd para el servicio de inicio ( hanadb_exporter).

El archivo de configuración de systemd para hanadb_exporter se incluye en el paquete de instalación. No es necesario realizar cambios en este archivo de configuración. El servicio systemd puede iniciar cualquier proceso con el nombre de configuración (sin la extensión JSON como nombre de archivo).

  1. Para habilitar el servicio systemd para el hanadb_exporter, utilice los siguientes comandos.

    sudo systemctl start prometheus-hanadb_exporter@config-${sap_monitoring_nr}-SQL
    
    sudo systemctl enable prometheus-hanadb_exporter@config-${sap_monitoring_nr}-SQL
    
  2. Para mostrar el estado del hanadb_exporter, ejecute el comando que aparece a continuación.

    sudo systemctl status prometheus-hanadb_exporter@config-${sap_monitoring_nr}-SQL
    

Configuración del sap_host_exporter y activación del demonio

Utilice la siguiente información para configurar el sap_host_exporter y activar el demonio.

Prometheus sap_host_exporter utiliza el protocolo de recolección de métricas sin estado ( HTTP ) para recopilar métricas de las instancias del sistema de SAP. Para obtener más información, consulte el repositorio oficial de GitHub.

La configuración del exportador SAP contiene todos los parámetros para la conexión y el puerto HTTP. Tenga en cuenta que debe crear un archivo de configuración independiente para cada conexión.

Cree los archivos de configuración en el directorio /etc/sap_host_exporter/. Asigne un nombre a los archivos de configuración según la instancia de SAP utilizando el siguiente comando.

Utilice las siguientes plantillas para los archivos de configuración.

  1. Como usuario root, cree el archivo de configuración de SAP HANA con el nombre de archivo /etc/sap_host_exporter/sap_host_exporter-${sap_monitoring_nr}-HANA.yaml.

    # The listening TCP/IP address and port.
    address: "0.0.0.0"
    port: "5<sap_monitoring_nr>03"
    log-level: "info"
    sap-control-url: "http://<sap_hana_ip>:<sap_hana_http_port>"
    
  2. Como usuario root, cree el archivo de configuración ASCS SAP con el nombre de archivo /etc/sap_host_exporter/sap_host_exporter-${sap_monitoring_nr}-ASCS.yaml.

    # The listening TCP/IP address and port.
    address: "0.0.0.0"
    port: "5${sap_monitoring_nr}04"
    log-level: "info"
    # ASCS instance
    sap-control-url: "http://<sap_ascs_ip>:<sap_ascs_http_port>"
    
  3. Como usuario root, cree el primer archivo de configuración del servidor de aplicaciones (PAS) de SAP con el nombre /etc/sap_host_exporter/sap_host_exporter-${sap_monitoring_nr}-DI-01.yaml.

    # The listening TCP/IP address and port.
    address: "0.0.0.0"
    port: "5<sap_monitoring_nr>05"
    log-level: "info"
    # DI instance (metrics dispatcher server + resources)
    sap-control-url: "http://<sap_app_server_ip_01>:<sap_app_server_port_01>"
    
  4. Como usuario root, cree el segundo archivo de configuración del servidor de aplicaciones ( SAP, AAS) con el nombre /etc/sap_host_exporter/sap_host_exporter-<sap_monitoring_nr>-DI-02.yaml.

    # The listening TCP/IP address and port.
    address: "0.0.0.0"
    port: "5<sap_monitoring_nr>06"
    log-level: "info"
    # DI instance (metrics dispatcher server + resources)
    sap-control-url: "http://<sap_app_server_ip_02>:<sap_app_server_port_02>"
    

    Si hay varios servidores de aplicaciones, cree más archivos de configuración para cada servidor de aplicaciones de SAP. Asegúrese de incrementar el número de cada archivo de configuración.

  5. Probar cada configuración de e sap_host_exporter.

    sap_host_exporter -c /etc/sap_host_exporter/sap_host_exporter-<sap_monitoring_nr>-HANA.yaml
    
  6. El proceso está bloqueando el terminal, así que abra un segundo terminal y ejecute el siguiente comando.

    curl http://localhost:5<sap_monitoring_nr>03/metrics
    
  7. Verifique que se muestren los datos métricos. Si no se muestran métricas, debería ver algunos mensajes de error.

  8. Repita la misma prueba con otras configuraciones de exportador:

    /etc/sap_host_exporter/sap_host_exporter-<sap_monitoring_nr>-ASCS.yaml
    
    /etc/sap_host_exporter/sap_host_exporter-<sap_monitoring_nr>-DI-01.yaml
    

Si todos los exportadores funcionan correctamente, continúe con la configuración de systemd.

Configure el servidor systemd para el sap_host_exporter.

Solo se requiere un archivo de configuración de systemd adicional para todos los sap_host_exporters. El servicio systemd puede iniciar cualquier proceso con el nombre de configuración (sin la extensión JSON como nombre de archivo).

  1. Cree un archivo sap_host_exporter@.service como usuario root en el directorio del sistema.

    /etc/systemd/system/sap_host_exporter@.service
    
  2. Añada el siguiente contenido sin realizar ningún cambio.

    [Unit]
    Description=Prometheus sap_host_exporter for Netweaver clusters metrics
    After=network.target
    Documentation=https://github.com/SUSE/sap_host_exporter
    [Service]
    Type=simple
    Restart=always
    ExecStart=/usr/bin/sap_host_exporter --config /etc/sap_host_exporter/%i.yaml
    ExecReload=/bin/kill -HUP $MAINPID
    [Install]
    WantedBy=multi-user.target
    DefaultInstance=default
    
  3. Ejecute el siguiente comando como usuario root para recargar la configuración de systemd.

    systemctl daemon-reload
    
  4. Como usuario root, inicie y habilite el servicio para todos los sap_host_exporters configurados.

    systemctl enable --now sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-HANA
    
    systemctl enable --now sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-ASCS
    
    systemctl enable --now sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-DI-01
    
    systemctl enable --now sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-DI-02
    
  5. Como usuario root, compruebe el estado de systemd processes.

    systemctl status sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-ASCS
    
    systemctl status sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-HANA
    
    systemctl status sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-DI-01
    
    systemctl status sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-DI-02
    
  6. Habilite systemd autostart.

    sudo systemctl enable sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-ASCS
    
    sudo systemctl enable sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-HANA
    
    sudo systemctl enable sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-DI-01
    

Próximos pasos

Si la instalación y configuración del host de supervisión se realizó correctamente, continúe con la Configuración del reenvío de métricas del servidor de Prometheus.