A maioria dos bancos de dados é configurada e dimensionada corretamente com base nas informações disponíveis no momento de seu lançamento inicial, mas eles tendem a se tornar insalubres ou subdimensionados devido ao crescimento orgânico de seus conjuntos de dados e/ou às alterações em seus perfis de carga de trabalho. O Couchbase é um banco de dados distribuído que pode lidar facilmente com ambos os desafios, mas precisa de verificações regulares de integridade para encontrar as melhores maneiras de ajustar seu desempenho e adicionar mais capacidade quando for absolutamente necessário. Este blog explica o que é uma verificação de integridade do cluster do Couchbase e quais são as práticas recomendadas a serem seguidas durante a preparação e a realização de uma verificação de integridade.
O que é um exame de saúde?
O Couchbase oferece vários pacotes de serviços pagos no âmbito do CoE (Centro de Excelência) de sua ala Serviços profissionais. Um desses pacotes de serviços é um exame de saúde. O resultado de um exame de saúde é um relatório que é entregue na forma básica, como gratuito, e na forma abrangente, como pago. O primeiro é um subconjunto do segundo. Em resumo, esse relatório é uma avaliação da integridade geral de um cluster do Couchbase. Ele se destina a encontrar problemas que resultam em saúde ruim. Um relatório abrangente também inclui recomendações para abordar ou resolver os problemas encontrados.
Por que fazer um exame de saúde?
Os destinatários da verificação de integridade têm muitos benefícios, desde o ajuste de desempenho até o planejamento da capacidade e a redução do TCO.
Muitas vezes, um cluster do Couchbase é dimensionado e configurado corretamente com base nos dados disponíveis no início de uma implantação, mas, com o tempo, os conjuntos de dados podem aumentar de tamanho, os padrões de acesso aos dados podem mudar e a carga de trabalho geral no cluster pode mudar, tornando o cluster insalubre. Um cluster com saúde ruim pode apresentar um ou mais dos seguintes sintomas.
- Alta utilização de recursos
- Tempos de resposta lentos
- Tempo limite
- Experiência ruim de uso final
- Ação do OOM Killer
- Failovers frequentes
- Falta de resiliência
As causas básicas por trás desses sintomas são identificadas e analisadas durante um exame de saúde. Como dito anteriormente, são feitas recomendações para resolver os problemas subjacentes em um serviço de exame de saúde pago.
As verificações de integridade também ajudam os proprietários de clusters a se prepararem para os próximos aumentos de carga de trabalho que surgem durante os picos sazonais, por exemplo, na Black Friday ou na Cyber Monday ou durante a temporada de compras antes dos feriados. As cargas de trabalho também podem aumentar durante o lançamento de novos produtos ou ofertas especiais no espaço de varejo.
Os benefícios adicionais incluem melhor utilização dos recursos, redução dos problemas de produção e possível redução do TCO e conformidade com políticas de segurança e/ou normas governamentais.
Escopo
Os especialistas em CoE do Couchbase analisam uma rica combinação de dados operacionais, registros do servidor, carga de trabalho, dimensionamento e configurações em nível de bucket, nó, sistema operacional e cluster durante uma verificação de integridade. Os dados operacionais incluem métricas de curto e longo prazo relacionadas às operações do cliente, métricas geradas por camadas mais profundas do software do servidor e métricas registradas pelo sistema operacional, como a utilização de IO, memória, rede e recursos da CPU.
Além disso, são analisados os erros e exceções gravados nos logs do servidor e do sistema operacional.
Em sua forma básica, um relatório de verificação de saúde abrange:
- Visão geral do cluster
- Perfis de nós
- Definições de índice (se houver)
- Definições de visualizações (se houver)
- Resumo dos problemas
Veja Couchbase_sample_health-check_report_basic
O formulário abrangente acrescenta as seguintes seções ao formulário básico:
- Informações detalhadas sobre problemas por nó
- Recomendações para abordar esses problemas
Veja add_on_sections_for_a_detailed_report
Processo
- O cliente entra em contato com a equipe da conta do Couchbase ou com um parceiro do Couchbase solicitando uma verificação de integridade.
- A(s) pessoa(s) que recebe(m) a solicitação do cliente identifica(m) o(s) cluster(s) que precisa(m) ser verificado(s). Elas definem as expectativas quanto ao escopo e ao resultado da verificação de integridade.
- O cliente compartilha o máximo de informações possível sobre os casos de uso, clientes e fluxos de dados relacionados ao cluster em questão.
- O cliente coleta os registros do Couchbase Server seguindo as instruções fornecidas aqui e aqui. O resultado dessa coleta de logs deve ser a geração de um arquivo zip para cada nó do Couchbase. Esse arquivo é chamado de cbcollect. Ele inclui informações ambientais, logs de nível de sistema operacional e logs gravados por vários processos que formam o Couchbase Server. O formato ou o conteúdo do arquivo cbcollect não deve ser alterado. Se isso for feito, ele se tornará inútil.
- O cliente faz upload do cbcollects para o repositório S3 do Couchbase, geralmente usando uma sintaxe de comando cURL como a seguinte.
curl -upload-file fileN.zip S3Target/customerName/clusterName/
onde:
fileN.zip = o nome de um arquivo zip do cbcollect
S3Target = https://uploads.couchbase.com
customerName = o nome do cliente que está inscrito no Suporte Técnico do Couchbase
clusterName = um nome exclusivo para o cluster do Couchbase que está sendo verificado quanto à integridade
Observação: o / no final do comando curl é MUITO importante. Não se esqueça de adicioná-lo. - O cliente informa a equipe da conta do Couchbase ou o parceiro do Couchbase depois que todos os cbcollects forem carregados com sucesso.
- Um especialista em Couchbase assume o controle nesse momento e realiza uma análise abrangente dos dados agrupados no cbcollects. No final, é gerado um relatório de verificação de integridade.
Práticas recomendadas
- Ter um entendimento mútuo claro sobre o que o exame de saúde abrangerá e o que ele alcançará.
- Forneça um conjunto completo de cbcollects. Não use arquivos datados ou parciais.
- Às vezes, há problemas com o S3 quando muitos cbcollects são carregados de uma só vez ou quando cbcollects muito grandes são carregados consecutivamente. Esses problemas podem resultar em rejeição ou corrupção de arquivos. Recomenda-se diminuir a velocidade e espaçar os cbcollects para evitar esses problemas.
- Revisar o crescimento do conjunto de dados e o histórico da carga de trabalho como parte da verificação de integridade.
- Analise o dimensionamento de nós, o dimensionamento de buckets e a topologia de dimensionamento multidimensional como parte da verificação de integridade.
- Depois que o relatório for gerado, examine-o com o cliente antes de finalizá-lo e enviá-lo.
- Obtenha um compromisso do cliente para implementar suas recomendações dentro de um prazo.
- Acompanhamento para verificar se as recomendações foram implementadas conforme discutido.
- Recomende outro exame de saúde algumas semanas ou meses após a implementação das recomendações para ver a diferença entre o antes e o depois.