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.
-
Actualice todos los paquetes del sistema operativo a la última versión. Reinicie el host si es necesario.
sudo zypper update
-
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
-
Cree el directorio de almacenamiento de datos de Prometheus.
sudo mkdir /opt/prometheus
-
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
-
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
.
-
Acceda al Centro de descargas de SAP utilizando la autenticación de usuario S de SAP.
-
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.
-
Instale el controlador SAP Python
hdbcli
como se describe en la sección Instalación del controlador Python. -
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
-
Descargue el paquete de instalación de
SAPCAR_*.EXE
desde el centro de descargas de SAP. -
Copie los dos archivos
SAPCAR_*.EXE
yIMDB_CLIENTXXX.SAR
en un directorio arbitrario en el host de supervisión. -
Como usuario root, ejecute el siguiente comando.
chmod 755 SAPCAR_*.EXE
-
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. -
Utilice
hdbinst
para instalar el cliente de SAP HANA.cd SAP_HANA_CLIENT
./hdbinst
-
Introduzca la ruta de instalación:
[/usr/sap/hdbclient]: /usr/sap/hdbclient
. -
Instale el paquete de pipas necesario para Python 3.x.
sudo zypper install python3-pip
-
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
).
-
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"
. -
Verifique que su clave se haya creado correctamente enumerando todas las claves.
/usr/sap/hdbclient/hdbuserstore list
-
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 HANAconfig.json
contienesap_hana_ip
,sap_hana_sql_systemdb_port
yhdbuserkey
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 <…>
.
-
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 } }
-
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
-
Cambie los permisos de los archivos de configuración para que solo el usuario root pueda leerlos.
chmod 600 /etc/hanadb_exporter/config*
-
Antes de definir la configuración de
sap_host_exporters
para elsystemd 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
-
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).
-
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
-
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.
-
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>"
-
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>"
-
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>"
-
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.
-
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
-
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
-
Verifique que se muestren los datos métricos. Si no se muestran métricas, debería ver algunos mensajes de error.
-
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).
-
Cree un archivo
sap_host_exporter@.service
como usuario root en el directorio del sistema./etc/systemd/system/sap_host_exporter@.service
-
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
-
Ejecute el siguiente comando como usuario root para recargar la configuración de systemd.
systemctl daemon-reload
-
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
-
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
-
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.