Surveillez les clusters SAP RHEL Pacemaker à l'aide des services AWS - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Surveillez les clusters SAP RHEL Pacemaker à l'aide des services AWS

Créée par Harsh Thoria (AWS), Randy Germann (AWS) et RAVEENDRA Voore (AWS)

Environnement : Production

Technologies : infrastructure CloudNative ; systèmes d'exploitation

Charge de travail : SAP

Services AWS : Amazon CloudWatch ; Amazon SNS ; Amazon Logs CloudWatch

Récapitulatif

Ce modèle décrit les étapes de surveillance et de configuration des alertes pour un cluster Red Hat Enterprise Linux (RHEL) Pacemaker pour les applications SAP et les services de base de données SAP HANA à l'aide d'Amazon et CloudWatch d'Amazon Simple Notification Service (Amazon SNS).

La configuration vous permet de surveiller les ressources des clusters SAP SCS ou ASCS, Enqueue Replication Server (ERS) et SAP HANA lorsqu'elles sont « arrêtées » à l'aide de flux de CloudWatch journaux, de filtres métriques et d'alarmes. Amazon SNS envoie un e-mail à l'équipe chargée de l'infrastructure ou à l'équipe SAP Basis concernant l'état du cluster arrêté.

Vous pouvez créer les AWS ressources pour ce modèle à l'aide de AWS CloudFormation scripts ou de consoles AWS de service. Ce modèle suppose que vous utilisez les consoles ; il ne fournit pas de CloudFormation scripts ni ne couvre le déploiement de l'infrastructure pour CloudWatch Amazon SNS. Les commandes du stimulateur cardiaque sont utilisées pour définir la configuration des alertes du cluster.

Conditions préalables et limitations

Prérequis

Limites

  • Cette solution fonctionne actuellement pour les clusters basés sur RHEL version 7.3 et versions ultérieures basés sur Pacemaker. Il n'a pas été testé sur les systèmes d'exploitation SUSE.

Versions du produit

  • RHEL 7.3 et versions ultérieures

Architecture

Pile technologique cible

  • Agent piloté par un événement d'alerte RHEL Pacemaker

  • Amazon Elastic Compute Cloud (Amazon EC2)

  • CloudWatch alarme

  • CloudWatch groupe de logs et filtre métrique

  • Amazon SNS

Architecture cible

Le schéma suivant illustre les composants et les flux de travail de cette solution.

Architecture de surveillance des clusters SAP RHEL Pacemaker

Automatisation et mise à l'échelle

  • Vous pouvez automatiser la création de AWS ressources à l'aide de CloudFormation scripts. Vous pouvez également utiliser des filtres métriques supplémentaires pour redimensionner et couvrir plusieurs clusters.

Outils

Services AWS

  • Amazon vous CloudWatch aide à surveiller les indicateurs de vos AWS ressources et des applications que vous utilisez AWS en temps réel.

  • Amazon Simple Notification Service (Amazon SNS) vous aide à coordonner et à gérer l'échange de messages entre les éditeurs et les clients, y compris les serveurs Web et les adresses e-mail.

Outils

  • CloudWatch agent (unifié) est un outil qui collecte des métriques, des journaux et des traces au niveau du système à partir d'instances EC2, et qui extrait des métriques personnalisées à partir de vos applications.

  • L'agent d'alerte Pacemaker (pour RHEL 7.3 et versions ultérieures) est un outil qui lance une action en cas de modification, par exemple lorsqu'une ressource s'arrête ou redémarre, dans un cluster Pacemaker.

Bonnes pratiques

  • Pour connaître les meilleures pratiques relatives à l'utilisation des charges de travail SAP AWS, consultez le SAP Lens for the AWS Well-Architected Framework.

  • Tenez compte des coûts liés à la mise en place CloudWatch de la surveillance des clusters SAP HANA. Pour plus d'informations, consultez la CloudWatch documentation.

  • Envisagez d'utiliser un téléavertisseur ou un mécanisme de billetterie pour les alertes Amazon SNS.

  • Vérifiez toujours les versions RHEL à haute disponibilité (HA) du package RPM pour PC, Pacemaker et agent de clôture AWS .

Épopées

TâcheDescriptionCompétences requises

Créez une rubrique SNS.

  1. Connectez-vous à la console Amazon SNS AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/sns/v3/home.

  2. Dans le tableau de bord Amazon SNS, sous Common actions (Actions courantes), choisissez Create topic (Créer une rubrique)

  3. Dans la boîte de dialogue Créer un nouveau sujet, pour Type, sélectionnez Standard.

  4. Dans Nom du sujet, entrez un nom pour le sujet (par exemple,my-topic).

  5. Choisissez Créer une rubrique.

    Cela crée une rubrique SNS avec une politique de ressources qui vous permet de publier des notifications.

  6. Copiez l'ARN de la rubrique (par exemple,arn:aws:sns:us-east-1:111122223333:my-topic). Vous utiliserez cet ARN dans une étape ultérieure.

Administrateur AWS

Modifiez la politique d'accès pour la rubrique SNS.

  1. Sur la console Amazon SNS, dans le volet de navigation, choisissez Rubriques, puis choisissez la rubrique que vous avez créée. 

  2. Choisissez Modifier et accédez à la section Politique d'accès.

  3. Assurez-vous que la politique d'accès inclut CloudWatch l'un des principaux services autorisés à publier sur cette rubrique. Par exemple :

       {        "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. Sélectionnez Enregistrer les modifications.

Administrateur système AWS

Abonnez-vous à la rubrique SNS.

  1. Sur la console Amazon SNS, dans le volet de navigation, choisissez Subscriptions, Create subscription.

  2. Pour l'ARN du sujet, collez l'ARN que vous avez créé lors de la première tâche.

  3. Pour Protocole, choisissez E-mail.

  4. Pour Endpoint, entrez l'adresse e-mail de la personne ou de l'équipe responsable du cluster SAP Pacemaker et qui doit recevoir des notifications. Par exemple, il peut s'agir de l'adresse e-mail de la liste de distribution de SAP Basis ou de l'équipe d'infrastructure.

  5. Choisissez Créer un abonnement.

  6. Depuis votre application de messagerie, ouvrez le message dans AWS Notifications et confirmez votre abonnement.

Votre navigateur Web affiche une réponse de confirmation provenant de Amazon SNS.

Administrateur système AWS
TâcheDescriptionCompétences requises

Vérifiez l'état du cluster.

Utilisez la commande pcs status pour vérifier que les ressources sont en ligne.

Administrateur SAP Basis
TâcheDescriptionCompétences requises

Configurez l'agent d'alerte Pacemaker sur l'instance de cluster principale.

Connectez-vous à l'instance EC2 dans le cluster principal et exécutez les commandes suivantes :

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
Administrateur SAP Basis

Configurez l'agent d'alerte Pacemaker sur l'instance de cluster secondaire.

Connectez-vous à l'instance EC2 du cluster secondaire dans le cluster secondaire et exécutez les commandes suivantes :

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
Administrateur SAP Basis

Vérifiez que la ressource d'alerte RHEL a été créée.

Utilisez la commande suivante pour confirmer que la ressource d'alerte a été créée :

pcs alert

Le résultat de la commande ressemblera à ceci :

[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)
Administrateur SAP Basis
TâcheDescriptionCompétences requises

Installez l' CloudWatch agent.

Il existe plusieurs méthodes pour installer l' CloudWatch agent sur une instance EC2. Pour utiliser la ligne de commande :

  1. Téléchargez le package de CloudWatch l'agent : 

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

    <region> est située l'instance EC2 (par exemple,us-west-2). Région AWS

  2. (Facultatif) Vérifiez la signature du package. Pour obtenir des instructions, consultez la section Vérification de la signature du package de l' CloudWatch agent dans la CloudWatch documentation.

  3. Installez le package sur la première instance :

    sudo rpm -U ./amazon-cloudwatch-agent.rpm
  4. Répétez l'opération pour l'instance secondaire.

Pour plus d'informations, consultez la CloudWatch documentation.

Administrateur système AWS

Attachez un rôle IAM à l'instance EC2.

Pour permettre à l' CloudWatch agent d'envoyer des données depuis les instances, vous devez associer le CloudWatchAgentServerRolerôle IAM à chaque instance. Vous pouvez également ajouter une politique pour l' CloudWatch agent à votre rôle IAM existant. Pour plus d'informations, consultez la CloudWatch documentation.

Administrateur AWS

Configurez l' CloudWatch agent pour surveiller le fichier journal de l'agent d'alerte Pacemaker sur l'instance de cluster principale.

  1. Configurez l'instance de cluster principale en exécutant la commande suivante :

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
  2. Choisissez 1 pour Linux, puis sélectionnez les options correspondant à votre stratégie de surveillance.

  3. Pour la question « Voulez-vous surveiller des fichiers journaux », choisissez Oui et indiquez le chemin du fichier journal du Pacemaker à partir de la commande pcs alert. Dans notre cas, c'est le casvar/log/pcmk_alert_file.log.

  4. Indiquez le nom du groupe de journaux et du flux de journaux. Si vous ne spécifiez aucun flux de journal, l'ID d' AWS instance est utilisé par défaut.

  5. Répétez les étapes 1 à 4 pour l'instance de cluster secondaire.

Administrateur AWS

Démarrez l' CloudWatch agent sur les instances de cluster principales et secondaires.

Pour démarrer l'agent, exécutez la commande suivante sur les instances EC2 des clusters principal et secondaire :

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
Administrateur AWS
TâcheDescriptionCompétences requises

Configurez des groupes de CloudWatch journaux.

  1. Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/

  2. Dans le volet de navigation, choisissez Log groups, Create log group.                

  3. Entrez un nom pour le groupe de journaux, puis choisissez Create log group.

L' CloudWatch agent transférera le fichier d'alerte Pacemaker vers le groupe de CloudWatch journaux sous forme de flux de journal.

Administrateur AWS

Configurez des filtres CloudWatch métriques.

Les filtres métriques vous aident à rechercher un modèle, par exemple stop <cluster-resource-name> dans les flux de CloudWatch journaux. Lorsque ce modèle est identifié, le filtre métrique met à jour une métrique personnalisée.

  1. Sur la CloudWatch console, dans le volet de navigation, choisissez Log groups.

  2. Choisissez le nom du groupe de journaux que vous avez créé lors de la tâche précédente.

  3. Choisissez Actions, Créer un filtre de métriques.

  4. Pour Modèle de filtre, entrez le modèle de filtre à utiliser, par exemple pour correspondre à l'événement d'arrêt d'une ressource de cluster SAP SCS nomméeABC_scs. stop ABC_scs

    Pour plus d'informations, consultez la section Syntaxe du modèle de filtre dans la CloudWatch documentation.

  5. (Facultatif) Pour tester votre modèle de filtre, sous Test Pattern (Modèle de test), saisissez un ou plusieurs événements du journal à utiliser pour tester le modèle. Chaque événement du journal doit être spécifié sur une ligne distincte, car les sauts de ligne sont utilisés pour séparer les événements du journal dans la zone Messages des événements du journal.

  6. Sélectionnez Next (Suivant), puis saisissez un nom pour le filtre.

  7. Sous Détails de la métrique, pour l'espace de noms métrique, entrez le nom de l' CloudWatch espace de noms dans lequel la métrique sera publiée (par exemple,sapcluster_monitoring). Si cet espace de noms n'existe pas déjà, sélectionnez Créer un nouveau.

  8. Dans Nom de la métrique, entrez le nom de la nouvelle métrique (par exemplesapcluster_<sid>, où <sid> est le nom d'identification du système SAP).

  9. Dans le champ Valeur métrique, entrez 1

    Vous pouvez également saisir un jeton tel que$size. Cela incrémente la métrique de la valeur du nombre dans le champ size pour chaque événement de journal qui contient un champ size.

  10. Dans le champ Valeur par défaut, entrez 0.

  11. Choisissez Créer un filtre de métriques.

Lorsque le filtre métrique identifie le modèle à l'étape 4, il met à jour la valeur de la métrique CloudWatch personnalisée sapcluster_abc à 1.

L' CloudWatch alarme SAP-Cluster-QA1-ABC surveille la métrique sapcluster_abc et envoie une notification SNS lorsque la valeur de la métrique passe à 1. Cela indique que la ressource du cluster s'est arrêtée et que des mesures doivent être prises.

Administrateur AWS, administrateur SAP Basis

Configurez une alarme CloudWatch métrique pour la métrique SAP ASCS/SCS et ERS.

Pour créer une alarme basée sur une seule métrique, procédez comme suit :

  1. Sur la CloudWatch console, dans le volet de navigation, choisissez Alarmes, Toutes les alarmes.

  2. Choisissez Create alarm (Créer une alerte).

  3. Choisissez Select Metric (Sélectionner une métrique).

  4. Recherchez la métrique sapcluster_monitoring personnalisée créée lors de la tâche précédente.

  5. Choisissez le nom de la métrique pour SAP SCS (par exemple,sapcluster_<abc>), qui a également été créé lors de la tâche précédente.

  6. Dans l'onglet Mesures graphiques, définissez les paramètres suivants :

    • Pour Statistique, choisissez Maximum.

    • Pour Période, choisissez 1 minute.

    • Pour le type de seuil, choisissez Statique et définissez le seuil sur une valeur supérieure ou égale à 1. sapcluster_<sid>

  7. Choisissez Suivant.

  8. Pour Notification, sélectionnez le sujet SNS que vous avez créé dans le premier épisode épique.

  9. Dans Nom et description, indiquez le nom de l'alarme et une brève description, puis choisissez Next.

  10. Sélectionnez Create Alarm (Créer une alerte).

Administrateur AWS

Configurez une alarme CloudWatch métrique pour la métrique SAP HANA.

Répétez les étapes de configuration d'une alarme CloudWatch métrique à partir de la tâche précédente, avec les modifications suivantes :

  • Pour l'étape 5, choisissez le nom de la métrique pour SAP HANA (par exemple,sapcluster_db_<abc>).

  • Pour l'étape 6, définissez le seuil sapcluster_<sid> pour une valeur supérieure à 0.

Administrateur AWS

Ressources connexes

Pièces jointes

Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip