Monitorar métricas em um cluster do Amazon Aurora - Amazon Aurora

Monitorar métricas em um cluster do Amazon Aurora

O Amazon Aurora usa um cluster de servidores de banco de dados replicados. Normalmente, monitorar um cluster do Aurora requer a verificação da integridade de várias instâncias de banco de dados. As instâncias podem ter funções especializadas, lidando em sua maioria com operações de gravação, operações somente leitura ou uma combinação das duas. Você também monitora a integridade geral do cluster medindo o atraso da replicação. Esse é o tempo para que as alterações feitas por uma instância de banco de dados estejam disponíveis para as outras instâncias.

Plano de monitoramento

Antes de iniciar o monitoramento , crie um plano de monitoramento. Esse plano deve responder às seguintes perguntas:

  • Quais são seus objetivos de monitoramento?

  • Quais recursos você vai monitorar?

  • Com que frequência você vai monitorar esses recursos?

  • Quais ferramentas de monitoramento você usará?

  • Quem realizará o monitoramento das tarefas?

  • Quem deve ser notificado quando algo der errado?

Linha de base de performance

Para atingir suas metas de monitoramento, é necessário estabelecer uma linha de base. Para fazer isso, meça a performance em diferentes condições de carga em vários momentos em seu ambiente do Amazon Aurora. É possível monitorar métricas como as seguintes:

  • Taxa de transferência na rede

  • Conexões de cliente

  • E/S para operações de leitura, gravação ou metadados

  • Saldos de crédito intermitentes para suas instâncias de banco de dados

Recomendamos armazenar dados históricos de performance para o Amazon Aurora. Usando os dados armazenados, é possível comparar a performance atual com as tendências anteriores. Também é possível distinguir padrões de performance normais de anomalias e criar técnicas para resolver problemas.

Orientações de performance

Em geral, os valores aceitáveis para as métricas de performance dependem do que a aplicação está fazendo em relação à sua linha de base. Investigue variações consistentes ou tendenciais de sua linha de base. Muitas vezes, as métricas a seguir são a origem dos problemas de performance:

  • Alto consumo de CPU ou RAM – valores altos para o consumo de CPU ou RAM podem ser adequados, se estiverem de acordo com seus objetivos em relação ao aplicativo (como taxa de transferência ou concorrência).

  • Consumo de espaço em disco – inspecione o consumo de espaço em disco caso o espaço usado seja consistentemente igual ou superior a 85% do espaço total no disco. Veja se é possível excluir dados da instância ou arquivar dados em um sistema diferente para liberar mais espaço.

  • Tráfego de rede – em relação ao tráfego de rede, fale com o administrador do sistema para entender qual taxa de transferência é esperada para sua rede de domínio e conexão com a Internet. Inspecione o tráfego de rede caso a taxa de transferência seja consistentemente menor do que a esperada.

  • Conexões do banco de dados: se você observar números elevados de conexões de usuários e também diminuições na performance da instância e no tempo de resposta, considere restringir as conexões do banco de dados. O melhor número de conexões de usuários para sua instância de banco de dados varia conforme a classe da instância e a complexidade das operações em execução. Para determinar o número de conexões de banco de dados, associe sua instância de banco de dados a um grupo de parâmetros cujo parâmetro User Connections esteja definido como um valor diferente de 0 (ilimitado). Você pode usar um parameter group existente ou criar um novo. Para obter mais informações, consulte Grupos de parâmetros para Amazon Aurora.

  • Métricas de IOPS – os valores esperados para as métricas de IOPS dependem da especificação do disco e da configuração do servidor, por isso, use sua linha de base para saber os valores típicos. Inspecione caso os valores sejam consistentemente diferentes da sua linha de base. Para obter a melhor performance de IOPS, confira se o seu conjunto de trabalho típico se adéqua à memória para minimizar as operações de leitura e gravação.

Quando a performance estiver fora da linha de base estabelecida, talvez seja necessário fazer alterações para otimizar a disponibilidade do banco de dados para sua workload. Por exemplo, talvez você precise alterar a classe de sua instância de banco de dados. Ou talvez seja necessário alterar o número de instâncias de banco de dados e réplicas de leitura disponíveis para clientes.