Monitoreo de Elasticsearch

Monitoree el rendimiento de su clúster Elasticsearch conociendo detalles sobre el estado del clúster, los nodos y los detalles de los fragmentos, las estadísticas de JVM y mucho más.

Instale y configure el complemento Elasticsearch para monitorear el almacén de documentos distribuidos y motor de búsqueda de código abierto. Depende en gran medida de Apache Lucene, un motor de búsqueda de texto completo en Java. Manténgase al tanto del rendimiento del entorno Elasticsearch para asegurarse de estar actualizado con los datos internos de su clúster funcional.

En este documento, se describe cómo configurar el complemento Elasticsearch y las métricas de monitoreo para proporcionar visibilidad detallada del rendimiento, la disponibilidad y las estadísticas de uso de los clústeres Elasticsearch.

Métricas de rendimiento

Fragmentos activos

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

Inicialización de fragmentos

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

Cantidad de nodos/nodos de datos

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.

Reubicación de fragmentos

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

Fragmentos principales activos

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

Fragmentos sin asignar

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.

Estado del clúster

El estado del clúster está representado por colores, como rojo: 0; verde: 1, y amarillo: 2. Un estado de clúster en verde significa que se asignaron todas los fragmentos principales y de réplica. El color amarillo indica que al menos un fragmento de réplica no está asignado o no está presente. Si el estado del clúster se muestra en rojo, significa que no se asignaron uno o más fragmentos principales.

Métricas de 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 memoria y 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.

Requisitos previos

  • Asegúrese de que Elasticsearch esté instalado en el servidor y que se encuentre en funcionamiento.
  • Durante la instalación del complemento Elasticsearch, cree un archivo JSON vacío “counter.json” en el directorio “elasticsearch”.
  • Nuestro agente de monitoreo de servidores Linux debe estar instalado en la red o en el host específico donde se ejecuta el clúster Elasticsearch.
  • Al agregar un complemento, el nombre del complemento y su nombre de carpeta deben ser idénticos.

Instalación de complemento

  • Descargue e instale la versión más reciente del agente de Linux de Site24x7 en el servidor en el cual planea ejecutar el complemento. Si se instala correctamente, verá un monitor de servidor Linux en el panel de control de Site24x7. Esto confirma que el agente puede comunicarse con nuestro centro de datos.
  • Según sus requisitos, descargue los complementos de Elasticsearch desde nuestro repositorio de GitHub: elasticsearch.py, elasticsearchcluster.py o elasticsearchnodes.py.
  • Cambie los valores de HOST, USERNAME, PORT y PASSWORD para que coincidan con sus configuraciones. De forma predeterminada, el proxy no está configurado. También puede ejecutar varias configuraciones con un solo script de complemento. Para hacerlo, descargue el archivo de configuración (por ejemplo, el archivo elasticsearch.cfg para el complemento Elasticsearch) desde nuestro repositorio de GitHub y proporcione las configuraciones de su clúster de Elasticsearch.
  • Cree una carpeta con el nombre “elasticsearch”, “elasticsearchcluster” o “elasticsearchnodes” en el directorio de complemento del agente de Linux de Site24x7 “/opt/site24x7/monagent/plugins/” y coloque los archivos de complemento correspondientes dentro de sus respectivas carpetas.
  • Solo para el complemento Elasticsearch, cree un archivo JSON vacío “counter.json” y colóquelo en “/opt/site24x7/monagent/plugins/elasticsearch”.
El agente ejecutará automáticamente el complemento en un plazo de cinco minutos y enviará datos de rendimiento al centro de datos de Site24x7.
Consejo

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

python elasticsearch.py

Vea datos en el cliente web de Site24x7

  1. Inicie sesión en Site24x7 y vaya a Servidor > Integraciones de complemento; haga clic en el monitor del complemento.
  2. Podrá ver los gráficos de rendimiento sobre las diversas métricas de su clúster de Elasticsearch.

Contribución de complementos

No dude en contribuir a nuestro complemento existente y compartir sugerencias o comentarios en nuestra comunidad.