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: