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: