Elasticsearch: API de clúster

La API del clúster se utiliza para obtener información sobre el clúster y sus nodos y para realizar cambios en ellos. Para llamar a esta API, necesitamos especificar el nombre del nodo, la dirección o _local.

GET /_nodes/_local

Al ejecutar el código anterior, obtenemos la respuesta como se muestra a continuación:

………………………………………………
cluster_name" : "elasticsearch",
   "nodes" : {
      "FKH-5blYTJmff2rJ_lQOCg" : {
         "name" : "ubuntu",
         "transport_address" : "127.0.0.1:9300",
         "host" : "127.0.0.1",
         "ip" : "127.0.0.1",
         "version" : "7.0.0",
         "build_flavor" : "default",
         "build_type" : "tar",
         "build_hash" : "b7e28a7",
         "total_indexing_buffer" : 106502553,
         "roles" : [
            "master",
            "data",
            "ingest"
         ],
         "attributes" : {
………………………………………………

Salud del clúster

Esta API se usa para obtener el estado de la salud del clúster agregando la palabra clave 'salud'.

GET /_cluster/health

Al ejecutar el código anterior, obtenemos la respuesta como se muestra a continuación:

{
   "cluster_name" : "elasticsearch",
   "status" : "yellow",
   "timed_out" : false,
   "number_of_nodes" : 1,
   "number_of_data_nodes" : 1,
   "active_primary_shards" : 7,
   "active_shards" : 7,
   "relocating_shards" : 0,
   "initializing_shards" : 0,
   "unassigned_shards" : 4,
   "delayed_unassigned_shards" : 0,
   "number_of_pending_tasks" : 0,
   "number_of_in_flight_fetch" : 0,
   "task_max_waiting_in_queue_millis" : 0,
   "active_shards_percent_as_number" : 63.63636363636363
}

Estado del clúster

Esta API se utiliza para obtener información sobre el estado de un clúster añadiendo la URL de la palabra clave "estado". La información de estado contiene versión, nodo maestro, otros nodos, tabla de enrutamiento, metadatos y bloques.

GET /_cluster/state

Al ejecutar el código anterior, obtenemos la respuesta como se muestra a continuación:

………………………………………………
{
   "cluster_name" : "elasticsearch",
   "cluster_uuid" : "IzKu0OoVTQ6LxqONJnN2eQ",
   "version" : 89,
   "state_uuid" : "y3BlwvspR1eUQBTo0aBjig",
   "master_node" : "FKH-5blYTJmff2rJ_lQOCg",
   "blocks" : { },
   "nodes" : {
      "FKH-5blYTJmff2rJ_lQOCg" : {
      "name" : "ubuntu",
      "ephemeral_id" : "426kTGpITGixhEzaM-5Qyg",
      "transport
   }
………………………………………………

Estadísticas de clúster

Esta API ayuda a recuperar estadísticas sobre el clúster mediante el uso de la palabra clave 'stats'. Esta API devuelve el número de fragmentos, el tamaño de la tienda, el uso de memoria, la cantidad de nodos, las funciones, el sistema operativo y el sistema de archivos.

GET /_cluster/stats

Al ejecutar el código anterior, obtenemos la respuesta como se muestra a continuación:

………………………………………….
"cluster_name" : "elasticsearch",
"cluster_uuid" : "IzKu0OoVTQ6LxqONJnN2eQ",
"timestamp" : 1556435464704,
"status" : "yellow",
"indices" : {
   "count" : 7,
   "shards" : {
      "total" : 7,
      "primaries" : 7,
      "replication" : 0.0,
      "index" : {
         "shards" : {
         "min" : 1,
         "max" : 1,
         "avg" : 1.0
      },
      "primaries" : {
         "min" : 1,
         "max" : 1,
         "avg" : 1.0
      },
      "replication" : {
         "min" : 0.0,
         "max" : 0.0,
         "avg" : 0.0
      }
………………………………………….

Configuración de actualización de clúster

Esta API le permite actualizar la configuración de un clúster mediante la palabra clave 'configuración'. Hay dos tipos de configuraciones: persistentes (aplicadas entre reinicios) y transitorias (no sobreviven a un reinicio completo del clúster).

Estadísticas de nodo

Esta API se utiliza para recuperar las estadísticas de uno más nodos del clúster. Las estadísticas de los nodos son casi las mismas que las del clúster.

GET /_nodes/stats

Al ejecutar el código anterior, obtenemos la respuesta como se muestra a continuación:

{
   "_nodes" : {
      "total" : 1,
      "successful" : 1,
      "failed" : 0
   },
   "cluster_name" : "elasticsearch",
   "nodes" : {
      "FKH-5blYTJmff2rJ_lQOCg" : {
         "timestamp" : 1556437348653,
         "name" : "ubuntu",
         "transport_address" : "127.0.0.1:9300",
         "host" : "127.0.0.1",
         "ip" : "127.0.0.1:9300",
         "roles" : [
            "master",
            "data",
            "ingest"
         ],
         "attributes" : {
            "ml.machine_memory" : "4112797696",
            "xpack.installed" : "true",
            "ml.max_open_jobs" : "20"
         },
………………………………………………………….

Nodos hot_threads

Esta API le ayuda a recuperar información sobre los hot threads actuales en cada nodo del clúster.

GET /_nodes/hot_threads

Al ejecutar el código anterior, obtenemos la respuesta como se muestra a continuación:

:::{ubuntu}{FKH-5blYTJmff2rJ_lQOCg}{426kTGpITGixhEzaM5Qyg}{127.0.0.1}{127.0.0.1:9300}{ml.machine_memory=4112797696,
xpack.installed=true, ml.max_open_jobs=20}
 Hot threads at 2019-04-28T07:43:58.265Z, interval=500ms, busiestThreads=3,
ignoreIdleThreads=true: