Monitoramento de clusters Pacemaker no RHEL para SAP por meio dos serviços da AWS - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Monitoramento de clusters Pacemaker no RHEL para SAP por meio dos serviços da AWS

Harsh Thoria, Randy Germann e Raveendra Voore, Amazon Web Services

Resumo

Esse padrão descreve as etapas para monitorar e configurar alertas para um cluster Red Hat Enterprise Linux (RHEL) Pacemaker para aplicativos SAP e serviços de banco de dados SAP HANA usando a Amazon e o Amazon Simple Notification Service ( CloudWatch Amazon SNS).

A configuração permite monitorar recursos de cluster SAP SCS ou ASCS, Enqueue Replication Server (ERS) e SAP HANA quando eles estão em um estado “parado” com a ajuda de fluxos de CloudWatch log, filtros métricos e alarmes. O Amazon SNS envia uma mensagem por e-mail para a equipe de infraestrutura ou do SAP Basis, informando o status interrompido do cluster.

Você pode criar os AWS recursos para esse padrão usando AWS CloudFormation scripts ou os consoles AWS de serviço. Esse padrão pressupõe que você esteja usando os consoles; ele não fornece CloudFormation scripts nem cobre a implantação de infraestrutura para CloudWatch o Amazon SNS. Os comandos do Pacemaker são usados para configurar a geração de alertas do cluster.

Pré-requisitos e limitações

Pré-requisitos

Limitações

  • Atualmente, esta solução é compatível com clusters baseados no Pacemaker no RHEL 7.3 e em versões posteriores. Não houve testes realizados em sistemas operacionais SUSE.

Versões do produto

  • RHEL 7.3 e versões posteriores

Arquitetura

Pilha de tecnologias de destino

  • Agente orientados por enventos de alertas do Pacemaker no RHEL

  • Amazon Elastic Compute Cloud (Amazon EC2)

  • CloudWatch alarme

  • CloudWatch grupo de registros e filtro métrico

  • Amazon SNS

Arquitetura de destino

O diagrama apresentado a seguir ilustra os componentes e os fluxos de trabalho desta solução.

Arquitetura para monitoramento de clusters Pacemaker no RHEL para SAP

Automação e escala

  • Você pode automatizar a criação de AWS recursos usando CloudFormation scripts. Filtros de métricas adicionais também podem ser usados para escalar e abranger vários clusters.

Ferramentas

Serviços da AWS

  • CloudWatchA Amazon ajuda você a monitorar as métricas dos seus AWS recursos e dos aplicativos em que você executa AWS em tempo real.

  • O Amazon Simple Notification Service (Amazon SNS) ajuda você a coordenar e gerenciar a troca de mensagens entre publicadores e clientes, incluindo servidores web e endereços de e-mail.

Ferramentas

  • CloudWatch agent (unificado) é uma ferramenta que coleta métricas, registros e rastreamentos em nível de sistema de EC2 instâncias e recupera métricas personalizadas de seus aplicativos.

  • O agente de alertas do Pacemaker, disponível para RHEL 7.3 e versões posteriores, é uma ferramenta que inicia uma ação quando ocorre uma alteração, como quando um recurso é interrompido e reiniciado, em um cluster Pacemaker.

Práticas recomendadas

  • Para obter as melhores práticas para usar cargas de trabalho SAP em AWS, consulte o SAP Lens for the AWS Well-Architected Framework.

  • Considere os custos envolvidos na configuração do CloudWatch monitoramento de clusters SAP HANA. Para obter mais informações, consulte a documentação do CloudWatch .

  • Considere usar um pager ou um mecanismo de geração de tíquetes para alertas do Amazon SNS.

  • Sempre verifique as versões RHEL de alta disponibilidade (HA) do pacote RPM para PCs, Pacemaker e o AWS agente de vedação.

Épicos

TarefaDescriptionHabilidades necessárias

Criar um tópico do SNS.

  1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon SNS em https://console.aws.amazon.com/sns/ v3/home.

  2. No painel do Amazon SNS, em Common actions (Ações comuns), escolha Create Topic (Criar tópico). 

  3. Na caixa de diálogo Criar novo tópico, em Tipo, escolha Padrão.

  4. No campo Nome do tópico, insira um nome para o tópico (por exemplo, my-topic).

  5. Escolha Criar tópico.

    Isso cria um tópico do SNS com uma política de recursos que permite a publicação de notificações.

  6. Copie o ARN do tópico (por exemplo, arn:aws:sns:us-east-1:111122223333:my-topic). Você usará esse ARN em uma etapa posterior.

Administrador da AWS

Modifique a política de acesso do tópico do SNS.

  1. No console do Amazon SNS, no painel de navegação, selecione Tópicos e, em seguida, escolha o tópico que você criou. 

  2. Escolha Editar e acesse a seção Política de acesso.

  3. Certifique-se de que a política de acesso CloudWatch inclua um dos principais serviços que têm permissão para publicar neste tópico. Por exemplo:

       {        "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. Escolha Salvar alterações.

Administrador de sistemas AWS

Inscreva-se no tópico do SNS.

  1. No console do Amazon SNS, no painel de navegação, selecione Assinaturas e, depois, Criar assinatura.

  2. No campo ARN do tópico, cole o ARN que você criou na primeira tarefa.

  3. Em Protocolo, escolha E-mail.

  4. Em Endpoint, insira um endereço de e-mail da pessoa ou equipe responsável pelo cluster Pacemaker para SAP e que deve receber as notificações. Por exemplo, pode ser o endereço de e-mail da lista de distribuição da equipe de infraestrutura ou do SAP Basis.

  5. Selecione Criar assinatura.

  6. No seu aplicativo de e-mail, abra a mensagem em AWS Notificações e confirme sua assinatura.

O navegador da Web exibe uma resposta de confirmação do Amazon SNS.

Administrador de sistemas AWS
TarefaDescriptionHabilidades necessárias

Verifique o status do cluster.

Use o comando pcs status para confirmar que os recursos estão on-line.

Administrador do SAP Basis
TarefaDescriptionHabilidades necessárias

Configure o agente de alertas do Pacemaker na instância primária do cluster.

Faça login na EC2 instância no cluster primário e execute os seguintes 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 do SAP Basis

Configure o agente de alertas do Pacemaker na instância secundária do cluster.

Faça login na EC2 instância secundária do cluster no cluster secundário e execute os seguintes 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 do SAP Basis

Confirme que o recurso de alerta do RHEL foi criado.

Use o seguinte comando para confirmar que o recurso de alerta foi criado:

pcs alert

A saída do comando terá a seguinte aparência:

[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 do SAP Basis
TarefaDescriptionHabilidades necessárias

Instale o CloudWatch agente.

Há várias maneiras de instalar o CloudWatch agente em uma EC2 instância. Para usar a linha de comandos:

  1. Baixe o pacote do CloudWatch agente: 

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

    onde <region> é Região da AWS onde a EC2 instância está localizada (por exemplo,us-west-2).

  2. (Opcional) Verifique a assinatura do pacote. Para obter instruções, consulte Verificação da assinatura do pacote do CloudWatch agente na CloudWatch documentação.

  3. Instale o pacote na primeira instância:

    sudo rpm -U ./amazon-cloudwatch-agent.rpm
  4. Repita o procedimento para a instância secundária.

Para obter mais informações, consulte a documentação do CloudWatch .

Administrador de sistemas AWS

Anexe uma função do IAM à EC2 instância.

Para permitir que o CloudWatch agente envie dados das instâncias, você deve anexar a CloudWatchAgentServerRolefunção do IAM a cada instância. Ou você pode adicionar uma política para o CloudWatch agente à sua função atual do IAM. Para obter mais informações, consulte a documentação do CloudWatch .

Administrador da AWS

Configure o CloudWatch agente para monitorar o arquivo de log do agente de alerta do Pacemaker na instância primária do cluster.

  1. Configure a instância primária do cluster executando o comando:

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
  2. Escolha 1 para Linux e, em seguida, selecione as opções para a sua estratégia de monitoramento.

  3. Para a pergunta Você deseja monitorar algum arquivo de log?, escolha Sim e informe o caminho do arquivo de log do Pacemaker obtido com o comando pcs alert. Para o nosso caso, trata-se de var/log/pcmk_alert_file.log.

  4. Forneça o nome do grupo de logs e do fluxo de logs. Se você não especificar um stream de registros, o ID da AWS instância será usado como padrão.

  5. Repita as etapas de um a quatro para a instância secundária do cluster.

Administrador da AWS

Inicie o CloudWatch agente nas instâncias primárias e secundárias do cluster.

Para iniciar o agente, execute o seguinte comando nas EC2 instâncias dos clusters primário e secundário:

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 da AWS
TarefaDescriptionHabilidades necessárias

Configure grupos de CloudWatch registros.

  1. Abra o CloudWatch console em https://console.aws.amazon.com/cloudwatch/

  2. No painel de navegação, selecione Grupos de logs e clique em Criar grupo de logs.                

  3. Digite um nome para o grupo de logs e, em seguida, selecione Criar grupo de logs.

O CloudWatch agente transferirá o arquivo de alerta do Pacemaker para o grupo de CloudWatch registros como um fluxo de registros.

Administrador da AWS

Configure filtros CloudWatch métricos.

Os filtros métricos ajudam você a pesquisar um padrão, como stop <cluster-resource-name> nos fluxos de CloudWatch log. Quando esse padrão é identificado, o filtro de métricas atualiza uma métrica personalizada.

  1. No CloudWatch console, no painel de navegação, escolha Grupos de registros.

  2. Escolha o nome do grupo de logs que você criou na tarefa anterior.

  3. Escolha Ações, Criar filtro de métrica.

  4. No campo Padrão de filtro, insira o padrão que deseja usar, por exemplo, stop ABC_scs, para corresponder ao evento de interrupção de um recurso do cluster SAP SCS chamado ABC_scs.

    Para obter mais informações, consulte Sintaxe do padrão de filtro na CloudWatch documentação.

  5. (Opcional) Para testar seu padrão de filtro, em Test Pattern (Testar padrão), insira um ou mais eventos de log a serem usados para testar o padrão. Cada evento de logs deve ser especificado em uma linha separada, pois quebras de linha são usadas para separar os eventos de logs na caixa Mensagens de eventos de log.

  6. Escolha Next (Próximo) e digite um nome para o filtro.

  7. Em Detalhes da métrica, em Namespace métrica, insira um nome para o CloudWatch namespace em que a métrica será publicada (por exemplo,). sapcluster_monitoring Se esse namespace ainda não existir, selecione Criar novo.

  8. No campo Nome da métrica, insira um nome para a nova métrica (por exemplo, sapcluster_<sid>, em que <sid> refere-se ao nome de identificação do sistema SAP).

  9. Em Valor da métrica, insira 1

    Como alternativa, você pode inserir um token, como $size. Isso incrementa a métrica pelo valor do número no campo size para cada evento de log que contém um campo size.

  10. No campo Valor padrão, insira 0.

  11. Escolha Criar filtro de métrica.

Quando o filtro métrico identifica o padrão na etapa 4, ele atualiza o valor da métrica CloudWatch personalizada sapcluster_abc para 1.

O CloudWatch alarme SAP-Cluster-QA1-ABC monitora a métrica sapcluster_abc e envia uma notificação de SNS quando o valor da métrica muda para 1. Isso indica que o recurso do cluster foi interrompido e que uma ação é necessária.

Administrador da AWS, administrador do SAP Basis

Configure um alarme CloudWatch métrico para a métrica SAP ASCS/SCS e ERS.

Para criar um alarme baseado em uma única métrica:

  1. No CloudWatch console, no painel de navegação, escolha Alarmes, Todos os alarmes.

  2. Selecione Criar alarme.

  3. Escolha Select metric (Selecionar métrica).

  4. Pesquise pela métrica personalizada sapcluster_monitoring que foi criada na tarefa anterior.

  5. Selecione o nome da métrica para SAP SCS (por exemplo, sapcluster_<abc>), que também foi criada na tarefa anterior.

  6. Na guia Métricas em gráficos, defina o seguinte:

    • Em Statistic (Estatística), escolha Maximum (Máximo).

    • Em Período, escolha 1 minuto.

    • No campo Tipo de limite, escolha Estático e defina o limite para sapcluster_<sid> com um valor superior ou igual a 1.

  7. Escolha Próximo.

  8. Em Notificação, selecione o tópico SNS que você criou no primeiro épico.

  9. Em Nome e Descrição, informe o nome do alarme e uma breve descrição e, em seguida, selecione Próximo.

  10. Escolha Criar Alarm.

Administrador da AWS

Configure um alarme CloudWatch métrico para a métrica do SAP HANA.

Repita as etapas para configurar um alarme CloudWatch métrico da tarefa anterior, com estas alterações:

  • Na etapa 5, escolha o nome da métrica para SAP HANA (por exemplo, sapcluster_db_<abc>).

  • Na etapa 6, defina o limite para sapcluster_<sid> com um valor superior a 0.

Administrador da AWS

Recursos relacionados

Anexos

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: attachment.zip