Elasticsearch - API de cluster

L'API de cluster est utilisée pour obtenir des informations sur le cluster et ses nœuds et pour y apporter des modifications. Pour appeler cette API, nous devons spécifier le nom du nœud, l'adresse ou _local.

GET /_nodes/_local

En exécutant le code ci-dessus, nous obtenons la réponse comme indiqué ci-dessous -

………………………………………………
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" : {
………………………………………………

Santé du cluster

Cette API est utilisée pour obtenir l'état de la santé du cluster en ajoutant le mot clé 'health'.

GET /_cluster/health

En exécutant le code ci-dessus, nous obtenons la réponse comme indiqué ci-dessous -

{
   "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
}

État du cluster

Cette API est utilisée pour obtenir des informations d'état sur un cluster en ajoutant l'URL du mot clé "state". Les informations d'état contiennent la version, le nœud maître, d'autres nœuds, la table de routage, les métadonnées et les blocs.

GET /_cluster/state

En exécutant le code ci-dessus, nous obtenons la réponse comme indiqué ci-dessous -

………………………………………………
{
   "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
   }
………………………………………………

Statistiques du cluster

Cette API permet de récupérer des statistiques sur le cluster à l'aide du mot clé «stats». Cette API renvoie le numéro de partition, la taille du magasin, l'utilisation de la mémoire, le nombre de nœuds, les rôles, le système d'exploitation et le système de fichiers.

GET /_cluster/stats

En exécutant le code ci-dessus, nous obtenons la réponse comme indiqué ci-dessous -

………………………………………….
"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
      }
………………………………………….

Paramètres de mise à jour du cluster

Cette API vous permet de mettre à jour les paramètres d'un cluster à l'aide du mot-clé "settings". Il existe deux types de paramètres: persistants (appliqués lors des redémarrages) et transitoires (ne survivent pas à un redémarrage complet du cluster).

Statistiques des nœuds

Cette API est utilisée pour récupérer les statistiques d'un ou plusieurs nœuds du cluster. Les statistiques des nœuds sont presque les mêmes que celles du cluster.

GET /_nodes/stats

En exécutant le code ci-dessus, nous obtenons la réponse comme indiqué ci-dessous -

{
   "_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"
         },
………………………………………………………….

Nœuds hot_threads

Cette API vous aide à récupérer des informations sur les threads actifs actuels sur chaque nœud du cluster.

GET /_nodes/hot_threads

En exécutant le code ci-dessus, nous obtenons la réponse comme indiqué ci-dessous -

:::{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: