Supervisión de los clústeres de SAP RHEL Pacemaker mediante los servicios de AWS - Recomendaciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Supervisión de los clústeres de SAP RHEL Pacemaker mediante los servicios de AWS

Harsh Thoria, Randy Germann y RAVEENDRA Voore, Amazon Web Services

Resumen

Este patrón describe los pasos para monitorear y configurar las alertas de un clúster Pacemaker de Red Hat Enterprise Linux (RHEL) para aplicaciones SAP y servicios de bases de datos SAP HANA mediante Amazon y CloudWatch Amazon Simple Notification Service (Amazon SNS).

La configuración le permite monitorear los recursos del clúster SAP SCS o ASCS, Enqueue Replication Server (ERS) y SAP HANA cuando se encuentran en estado «detenido» con la ayuda de flujos de CloudWatch registro, filtros de métricas y alarmas. Amazon SNS envía un correo electrónico al equipo de infraestructura o de SAP Basis sobre el estado del clúster detenido.

Puede crear los AWS recursos para este patrón mediante AWS CloudFormation scripts o consolas de servicio. AWS Este patrón presupone que está utilizando las consolas; no proporciona CloudFormation scripts ni cubre el despliegue de infraestructura para CloudWatch Amazon SNS. Los comandos de Pacemaker se utilizan para establecer la configuración de alertas del clúster.

Requisitos previos y limitaciones

Requisitos previos 

Limitaciones

  • Actualmente, esta solución funciona con los clústeres basados en Pacemaker de la versión 7.3 y posteriores de RHEL. No se ha probado en sistemas operativos SUSE.

Versiones de producto

  • RHEL 7.3 y versiones posteriores

Arquitectura

Pila de tecnología de destino

  • Agente controlado por eventos de alerta de RHEL Pacemaker

  • Amazon Elastic Compute Cloud (Amazon EC2)

  • CloudWatch alarma

  • CloudWatch grupo de registros y filtro de métricas

  • Amazon SNS

Arquitectura de destino

En el siguiente diagrama se muestran los componentes y flujos de trabajo de esta solución.

Arquitectura para supervisar los clústeres de SAP RHEL Pacemaker

Automatización y escala

  • Puede automatizar la creación de AWS recursos mediante CloudFormation scripts. También puede utilizar filtros de métricas adicionales para escalar y cubrir varios clústeres.

Tools (Herramientas)

Servicios de AWS

  • Amazon le CloudWatch ayuda a supervisar las métricas de sus AWS recursos y las aplicaciones en las que se ejecuta AWS en tiempo real.

  • Amazon Simple Notification Service (Amazon SNS) le permite coordinar y administrar el intercambio de mensajes entre publicadores y clientes, incluidos los servidores web y las direcciones de correo electrónico.

Herramientas

  • CloudWatch agent (unified) es una herramienta que recopila métricas, registros y rastreos a nivel del sistema de EC2 las instancias y recupera métricas personalizadas de sus aplicaciones.

  • El agente de alertas de Pacemaker (para la versión 7.3 y posteriores de RHEL) es una herramienta que inicia una acción cuando se produce un cambio (como cuando un recurso se detiene o se reinicia) en un clúster de Pacemaker.

Prácticas recomendadas

  • Para conocer las mejores prácticas sobre el uso de cargas de trabajo de SAP en AWS, consulte SAP Lens for the AWS Well-Architected Framework.

  • Tenga en cuenta los costos que implica configurar la CloudWatch supervisión de los clústeres de SAP HANA. Para obtener más información, consulte la Documentación de CloudWatch .

  • Considere la posibilidad de utilizar un mecanismo de localización o creación de tickets para las alertas de Amazon SNS.

  • Compruebe siempre las versiones de alta disponibilidad (HA) de RHEL del paquete RPM para ordenadores, Pacemaker y el AWS agente perimetral.

Epics

TareaDescripciónHabilidades requeridas

Cree un tema de SNS.

  1. Inicie sesión en la consola Amazon SNS en la v3/home Consola de administración de AWS y ábrala. https://console.aws.amazon.com/sns/

  2. En el panel de Amazon SNS, en Common actions (Acciones comunes), elija Create Topic (Crear tema). 

  3. En el cuadro de diálogo Crear tema nuevo, en Tipo, seleccione Estándar.

  4. En Nombre del tema, escriba un nombre para el tema (por ejemplo, my-topic).

  5. Seleccione Crear tema.

    Se creará un tema de SNS con una política de recursos que le permitirá publicar notificaciones.

  6. Copie el ARN del tema (por ejemplo, arn:aws:sns:us-east-1:111122223333:my-topic). Usará este ARN en un paso posterior.

Administrador de AWS

Modifique la política de acceso del tema de SNS.

  1. En la consola de Amazon SNS, en el panel de navegación, seleccione Temas y, a continuación, seleccione el tema que creó. 

  2. Seleccione Editar y vaya a la sección Política de acceso.

  3. Asegúrese de que la política de acceso incluya CloudWatch uno de los principales servicios a los que se les permite publicar en este tema. Por ejemplo:

       {        "Sid": "Allow AWS CloudWatch to Publish to this SNS topic",       "Effect": "Allow",       "Principal": {         "Service": [           "cloudwatch.amazonaws.com"         ]       },       "Action": "SNS:Publish",       "Resource": "arn:aws:sns:us-east-1:111122223333:my-topic"     }
  4. Seleccione Save changes (Guardar cambios).

Administrador de sistemas de AWS

Suscríbase al tema de SNS.

  1. En la consola de Amazon SNS, seleccione Suscripciones, Crear suscripción.

  2. En ARN del tema, pegue el ARN que creó en la primera tarea.

  3. En Protocolo, elige Correo electrónico.

  4. En Punto de conexión, introduzca la dirección de correo electrónico de la persona o el equipo responsable del clúster de SAP Pacemaker y que debe recibir las notificaciones. Por ejemplo, puede ser la dirección de correo electrónico de la lista de distribución de SAP Basis o del equipo de infraestructura.

  5. Seleccione Crear subscripción.

  6. Desde su aplicación de correo electrónico, abra el mensaje de AWS Notificaciones y confirme su suscripción.

El navegador web muestra una respuesta de confirmación de Amazon SNS.

Administrador de sistemas de AWS
TareaDescripciónHabilidades requeridas

Compruebe el estado del clúster

Utilice el comando pcs status para confirmar que los recursos estén en línea.

Administrador de SAP Basis
TareaDescripciónHabilidades requeridas

Configure el agente de alertas de Pacemaker en la instancia del clúster principal.

Inicia sesión en la EC2 instancia del clúster principal y ejecuta los siguientes comandos:

install --mode=0755 /usr/share/pacemaker/alerts/alert_file.sh.sample touch /var/lib/pacemaker/alert_file.sh touch /var/log/pcmk_alert_file.log chown hacluster:haclient /var/log/pcmk_alert_file.log chmod 600 /var/log/pcmk_alert_file.log pcs alert create id=alert_file description="Log events to a file." path=/var/lib/pacemaker/alert_file.sh pcs alert recipient add alert_file id=my-alert_logfile value=/var/log/pcmk_alert_file.log
Administrador de SAP Basis

Configure el agente de alertas de Pacemaker en la instancia del clúster secundario.

Inicia sesión en la EC2 instancia del clúster secundario del clúster secundario y ejecuta los siguientes comandos:

install --mode=0755 /usr/share/pacemaker/alerts/alert_file.sh.sample touch /var/lib/pacemaker/alert_file.sh touch /var/log/pcmk_alert_file.log chown hacluster:haclient /var/log/pcmk_alert_file.log chmod 600 /var/log/pcmk_alert_file.log
Administrador de SAP Basis

Confirme que se creó el recurso de alerta de RHEL.

Utilice el siguiente comando para verificar que se ha creado el recurso de la alerta:

pcs alert

La salida del comando tendrá este aspecto:

[root@xxxxxxx ~]# pcs alert Alerts: Alert: alert_file (path=/var/lib/pacemaker/alert_file.sh) Description: Log events to a file. Recipients: Recipient: my-alert_logfile (value=/var/log/pcmk_alert_file.log)
Administrador de SAP Basis
TareaDescripciónHabilidades requeridas

Instale el CloudWatch agente.

Hay varias formas de instalar el CloudWatch agente en una EC2 instancia. Para usar la línea de comandos, siga estos pasos:

  1. Descarga el paquete del CloudWatch agente: 

    wget https://s3.<region>.amazonaws.com/amazoncloudwatch-agent-region/redhat/amd64/latest/amazon-cloudwatch-agent.rpm

    dónde <region> está ubicada la EC2 instancia (por ejemplo,us-west-2). Región de AWS

  2. Opcional) Verifique la firma del paquete. Para obtener instrucciones, consulte Verificar la firma del paquete del CloudWatch agente en la CloudWatch documentación.

  3. Instale el paquete en la primera instancia:

    sudo rpm -U ./amazon-cloudwatch-agent.rpm
  4. Repita el proceso para la instancia secundaria.

Para obtener más información, consulte la Documentación de CloudWatch .

Administrador de sistemas de AWS

Adjunte un rol de IAM a la EC2 instancia.

Para permitir que el CloudWatch agente envíe datos desde las instancias, debes adjuntar la CloudWatchAgentServerRolefunción de IAM a cada instancia. O bien, puede añadir una política para el CloudWatch agente a su función de IAM actual. Para obtener más información, consulte la Documentación de CloudWatch .

Administrador de AWS

Configure el CloudWatch agente para que supervise el archivo de registro del agente de alertas de Pacemaker en la instancia del clúster principal.

  1. Ejecute este comando para configurar la instancia del clúster principal:

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
  2. Elija 1 para Linux y, a continuación, seleccione las opciones según la estrategia de supervisión.

  3. Para la pregunta ¿Desea supervisar algún archivo de registro?, seleccione e indique la ruta del archivo de registro de Pacemaker mediante el comando pcs alert. En nuestro caso, es var/log/pcmk_alert_file.log.

  4. Proporcione el nombre del grupo de registro y del flujo de registro. Si no especifica un flujo de registro, el ID de la AWS instancia se utiliza por defecto.

  5. Repita los pasos del 1 al 4 para la instancia del clúster secundario.

Administrador de AWS

Inicie el CloudWatch agente en las instancias del clúster principal y secundario.

Para iniciar el agente, ejecute el siguiente comando en las EC2 instancias de los clústeres principal y secundario:

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json
Administrador de AWS
TareaDescripciónHabilidades requeridas

Configure grupos de CloudWatch registros.

  1. Abra la CloudWatch consola en https://console.aws.amazon.com/cloudwatch/

  2. En el panel de navegación, elija Grupos de registro, Crear grupo de registro.                

  3. Escriba el nombre del grupo de registro y, a continuación, seleccione Crear grupo de registro.

El CloudWatch agente transferirá el archivo de alertas de Pacemaker al grupo de CloudWatch registros como una secuencia de registros.

Administrador de AWS

Configure filtros CloudWatch métricos.

Los filtros métricos le ayudan a buscar un patrón, como stop <cluster-resource-name> en los flujos de CloudWatch registro. Cuando se identifica este patrón, el filtro de métricas actualiza una métrica personalizada.

  1. En la CloudWatch consola, en el panel de navegación, selecciona Grupos de registros.

  2. Seleccione el nombre del grupo de registro que ha creado en la tarea anterior.

  3. Elija Actions (Acciones), Create metric filter (Crear filtro de métricas).

  4. En Patrón de filtro, introduzca el patrón de filtro que desee utilizar (como stop ABC_scs) para establecer una coincidencia con el evento de detención de un recurso de clúster de SAP SCS denominado ABC_scs.

    Para obtener más información, consulte la sintaxis del patrón de filtro en la CloudWatch documentación.

  5. (Opcional) Para probar el patrón de filtro, en Test Pattern (Patrón de prueba), ingrese uno o más eventos de registro a utilizar para probar el patrón. Cada evento de registro debe especificarse en una línea independiente, ya que los saltos de línea se utilizan para separar los eventos de registro en el cuadro Mensajes de eventos de registro.

  6. Elija Next (Siguiente) y luego ingrese un nombre para el filtro.

  7. En Detalles de la métrica, en Espacio de nombres métrico, introduzca un nombre para el espacio de CloudWatch nombres en el que se publicará la métrica (por ejemplo,). sapcluster_monitoring Si este espacio de nombres no existe todavía, seleccione Crear nuevo.

  8. En Nombre de métrica, introduzca un nombre para la nueva métrica (por ejemplo, sapcluster_<sid>, donde <sid> es el nombre de identificación del sistema de SAP).

  9. En Valor de métrica, introduzca 1

    También puede ingresar un token como $size. Esto incrementa la métrica por el valor del número en el campo size por cada evento de registro que contenga un campo size.

  10. En Valor predeterminado, introduzca 0.

  11. Elija Create metric filter (Crear filtro de métricas).

Cuando el filtro de métricas identifica el patrón en el paso 4, actualiza el valor de la métrica CloudWatch personalizada a 1. sapcluster_abc

La CloudWatch alarma SAP-Cluster-QA1-ABC monitorea la métrica sapcluster_abc y envía una notificación de SNS cuando el valor de la métrica cambia a 1. Esto indica que el recurso del clúster se ha detenido y que se deben tomar medidas.

Administrador de AWS, administrador de SAP Basis

Configure una alarma CloudWatch métrica para la métrica de SAP ASCS/SCS y ERS.

Para crear una alarma a partir de una sola métrica, siga estos pasos:

  1. En la CloudWatch consola, en el panel de navegación, seleccione Alarmas, Todas las alarmas.

  2. Elija Crear alarma.

  3. Elija Seleccionar métrica.

  4. Busque la métrica personalizada sapcluster_monitoring que creó en la tarea anterior.

  5. Seleccione el nombre de la métrica para SAP SCS (por ejemplo, sapcluster_<abc>), que también se creó en la tarea anterior.

  6. En la pestaña Métricas diagramadas, defina lo siguiente:

    • En Statistic (Estadística), elija Maximum (Máximo).

    • Para Periodo, seleccione 1 minuto.

    • En Tipo de umbral, seleccione Estático y establezca el umbral de sapcluster_<sid> en un valor mayor o igual a 1.

  7. Elija Siguiente.

  8. En Notificación, seleccione el tema de SNS que creó en el primer resumen.

  9. En Nombre y Descripción, proporcione el nombre de la alarma y una breve descripción y, a continuación, seleccione Siguiente.

  10. Elija Crear alarma.

Administrador de AWS

Configure una alarma CloudWatch métrica para la métrica de SAP HANA.

Repita los pasos para configurar una alarma CloudWatch métrica de la tarea anterior, con estos cambios:

  • En el paso 5, elija el nombre de la métrica para SAP HANA (por ejemplo, sapcluster_db_<abc>).

  • Para el paso 6, establezca el umbral de sapcluster_<sid> en un valor superior a 0.

Administrador de AWS

Recursos relacionados

Conexiones

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: attachment.zip