Monitoramento do Elasticsearch

Monitore o desempenho do cluster do Elasticsearch conhecendo detalhes sobre o status do cluster, detalhes de nós e fragmentos, estatísticas JVM, entre outros.

Instale e configure o plug-in Elasticsearch para monitorar o armazenamento de documentos de código aberto distribuídos e o mecanismo de pesquisa. Depende fortemente do Apache Lucene, um mecanismo de pesquisa de texto completo em Java. Acompanhe o desempenho do ambiente Elasticsearch para garantir que você esteja atualizado com os detalhes internos de seu cluster de trabalho.

Este documento detalha como configurar o plug-in do Elasticsearch e as métricas de monitoramento para dar uma visibilidade detalhada das estatísticas de desempenho, disponibilidade e uso dos clusters do Elasticsearch.

Métricas de desempenho

Fragmentos ativos

The active_shards indicates the number of primary shards in your cluster. This is an aggregate total across all indices.

Inicialização de fragmentos

The initializing_shards is the number of shards that are being freshly created.

Número de nós/nós de dados

The number of nodes/data nodes in the cluster is represented by the metric number_of_nodes and number_of_data_nodes respectively. Data nodes hold data and perform data related operations such as CRUD, search and aggregations.

Reposicionamento de fragmentos

The relocating_shards is the number of shards that are currently moving from one node to another node.

Fragmentos primários ativos

The active_primary_shards is an aggregate total of all shards across all indices, including replica shards.

Fragmentos não atribuídos

From the initializing position, the shards move to a state of unassigned, as the master node starts to assign shards to the nodes in the cluster. The unassigned_shards exist in the cluster state, but can’t be found in the cluster itself. Being in the unassigned position for a long time could be a warning for an unstable cluster.

Status do cluster

O status do cluster é representado por Vermelho: 0, Verde: 1 e Amarelo: 2. O status do cluster em verde significa que todos os fragmentos primário e de réplica estão alocados. Quando está amarelo indica que pelo menos um fragmento de réplica não está alocado ou está ausente. O status do cluster vermelho significa que um ou mais fragmentos primários não foram atribuídos.

Métricas JVM

Elasticsearch runs on Java Virtual Machine (JVM) and one of the ways through which it uses the RAM on your nodes is via JVM heap. The metric jvm_mem_pool_old_used_perc is the average of each node's JVM memory usage (in percentage) of old generation in the Garbage Collection (GC). Metrics jvm_gc_old_coll_time and jvm_gc_old_coll_count give the GC time (in milli seconds) and count of old generation in all the nodes since last poll (5 minutes by default).

Uso de memória e de CPU

As Elasticsearch depends on the machine it is installed, it is critical to monitor CPU and memory usage. Monitoring CPU usage for each of your node types help in studying the distribution of workload between the nodes. Metrics including free (mem_free), used (mem_used), shared (shared_mem), resident (resident_mem), total virtual memory (virtual_mem) help to keep an eye on memory usage and understand how it loads and impacts the cluster.

Pré-requisitos

  • Certifique-se de que o Elasticsearch esteja instalado no servidor e em execução.
  • Ao instalar o plug-in Elasticsearch, crie um arquivo JSON vazio com o nome "counter.json" no diretório "elasticsearch".
  • Nosso agente de monitoramento do servidor Linux deve ser instalado na rede ou no host específico onde o cluster Elasticsearch está em execução.
  • Ao adicionar um plug-in, o nome do plug-in e seu nome de pasta devem ser idênticos.

Instalação do plug-in

  • Baixe e instale a versão mais recente do agente Linux do Site24x7 no servidor onde você planeja executar o plug-in. Se ele for instalado com êxito, você verá um monitor de servidor Linux no Painel de controle do Site24x7. Isso confirma que o agente consegue se comunicar com nosso data center.
  • Dependendo de sua necessidade, faça download dos plug-ins do elasticsearch de nosso repositório do GitHub – elasticsearch.py, elasticsearchcluster.py ou elasticsearchnodes.py.
  • Altere os valores de HOST, USERNAME, PORT, PASSWORD para corresponder às suas configurações. Por padrão, o proxy não está configurado. Você também pode executar várias configurações usando um único script de plug-in. Para fazer isso, baixe o arquivo de configuração, por exemplo, o arquivo elasticsearch.cfg do plug-in Elasticsearch de nosso repositório GitHub e informe as configurações de seu cluster elasticsearch.
  • Crie uma pasta com o nome "elasticsearch" ou "elasticsearchcluster" ou "elasticsearchnodes", no diretório de plug-ins do agente Linux do Site24x7 "/opt/site24x7/monagent/plugins/" e coloque os arquivos de plug-in em suas pastas.
  • Somente para o plug-in elasticsearch, crie um arquivo JSON vazio, com o nome de "counter.json" e coloque-o em "/opt/site24x7/monagent/plugins/elasticsearch".
O agente executará automaticamente o plug-in em cinco minutos e enviará dados de desempenho ao data center do Site24x7.
Dica

Manually execute the plugin script using the following command and verify its output:

python elasticsearch.py

Exibir dados no Site24x7 Web Client

  1. Faça login no Site24x7 e vá para Servidor > Integrações de plug-ins > clique no monitor de plug-ins.
  2. Você poderá visualizar os gráficos de desempenho nas várias métricas do cluster do Elasticsearch.

Contribuição do plug-in

Sinta-se à vontade para contribuir com nosso plug-in e apresentar sugestões ou feedbacks na nossa comunidade.