Por que o OpenSearch Dashboards exibe status vermelho em meu domínio do Amazon OpenSearch?

Data da última atualização: 30/07/2021

O OpenSearch Dashboards continua mostrando o status vermelho no meu domínio do Amazon OpenSearch Service (sucessor do Amazon Elasticsearch Service). Por que isso está acontecendo e como soluciono isso?

Breve descrição

O OpenSearch Dashboards mostra o status verde quando todas as verificações de integridade passam em todos os nós do cluster do OpenSearch Service. Se uma verificação de saúde falhar, o OpenSearch Dashboards inserirá o status vermelho. O OpenSearch Dashboards também mostra o status vermelho quando o OpenSearch Service está no status de cluster vermelho. O status do OpenSearch Dashboards pode ficar vermelho pelos seguintes motivos:

  • Falha de nó causada por um problema com uma instância do Amazon Elastic Compute Cloud (Amazon EC2) ou um volume do Amazon Elastic Block Store (Amazon EBS). Para obter mais informações sobre falhas de nó, consulteWhy did my Amazon OpenSearch Service node crash? (“Por que meu nó do Amazon OpenSearch Service falhou?”)
  • Memória insuficiente para os nós.
  • Atualização do OpenSearch e do Elasticsearch para uma versão mais recente.
  • Incompatibilidade entre as versões do OpenSearch Dashboards e do OpenSearch Service.
  • Um cluster de nó único está sendo executado com uma carga pesada e sem nós líderes dedicados. O nó líder dedicado também pode estar inacessível. Para obter mais informações sobre como o OpenSearch Service aumenta a estabilidade do cluster, consulte Nós líderes dedicados.

Resolução

Use um ou mais dos seguintes métodos para resolver o status vermelho do OpenSearch Dashboards para seu domínio do OpenSearch Service.

Observação: se o cluster mostrar uma exceção de disjuntor, primeiro aumente o limite do disjuntor. Se você não tiver uma exceção de disjuntor, tente os outros métodos antes de aumentar o limite do disjuntor.

Ajustar consultas

Se você estiver executando consultas complexas (como agregações pesadas), ajuste as consultas para obter a máxima performance. Picos repentinos no consumo de memória de heap podem ser causados pelos dados de campo ou estruturas de dados que são usados para consultas de agregação.

Analise as seguintes chamadas de API para identificar a causa do pico, substituindo o endpoint do sistema operacional pelo endpoint do domínio:

$curl os-endpoint/_nodes/stats/breaker?pretty
$curl "os-endpoint/_nodes/stats/indices/fielddata?level=indices&fields=*"

Para obter mais informações sobre como gerenciar o uso da memória, consulte Ajuste da velocidade de pesquisa no site do Elasticsearch.

Usar nós líderes dedicados

É uma prática recomendada alocar três nós líderes dedicados para cada domínio do OpenSearch Service. Para obter mais informações sobre como melhorar a estabilidade do cluster, consulte Introdução ao Amazon OpenSearch Service: usar instâncias líderes dedicadas para melhorar a estabilidade do cluster.

Aumentar a escala na vertical

Para aumentar a escala do seu domínio na vertical, aumente o número de nós ou escolha um tipo de instância do Amazon EC2 que contenha mais memória. Para obter mais informações sobre escalabilidade, consulte Como posso aumentar a escala do meu domínio do Amazon OpenSearch Service na vertical ou na horizontal?

Verifique a distribuição de seus fragmentos

Verifique o índice no qual seus fragmentos estão ingerindo para confirmar se eles estão distribuídos uniformemente em todos os nós de dados. Se os fragmentos forem distribuídos de forma desigual, um ou mais nós de dados poderão ficar sem espaço de armazenamento.

Use a seguinte fórmula para confirmar se os fragmentos são distribuídos uniformemente:

Total number of shards = shards per node * number of data nodes

Por exemplo, se houver 24 fragmentos no índice e houver oito nós de dados, você terá três fragmentos por nó. Para obter mais informações sobre o número de fragmentos necessários, consulte Get started with Amazon OpenSearch Service: How many shards do I need? (“Introdução ao Amazon OpenSearch Service: de quantos fragmentos eu preciso?”).

Verificar suas versões

Importante: as versões do OpenSearch Dashboards e do OpenSearch Service devem ser compatíveis.

Execute a seguinte chamada de API para confirmar se suas versões são compatíveis, substituindo os-endpoint pelo endpoint do domínio:

$curl os-endpoint/.kibana/config/_search?pretty

Observação: um comando malsucedido pode indicar problemas de compatibilidade entre as versões OpenSearch Dashboards e Supported OpenSearch Service. Para obter mais informações sobre versões compatíveis do OpenSearch Dashboards e do Elasticsearch, consulte Configurar no site do Elasticsearch.

Monitorar recursos

Configure alarmes do Amazon CloudWatch que o notificam quando os recursos são usados acima de um determinado limite. Por exemplo, se você definir um alarme para a pressão da memória da JVM, tome medidas antes que a pressão atinja 100%. Para obter mais informações sobre os alarmes do CloudWatch, consulte Alarmes recomendados do CloudWatch e Melhorar a eficiência operacional dos domínios do Amazon OpenSearch Service com alarmes automatizados usando o Amazon CloudWatch.

Aumentar o limite do disjuntor

Para evitar que o cluster fique sem memória, tente aumentar o limite do disjuntor de dados pai ou de campo. Para obter mais informações sobre os limites do disjuntor de dados de campo, consulte Disjuntor no site Elasticsearch.