L'API CAT d'Elasticsearch est très pratique car elle permet aux utilisateurs de visualiser les informations liées à diverses ressources de moteur Elasticsearch dans le texte compact et aligné (CAT).
Ce didacticiel vous montrera comment utiliser l'API _CAT pour afficher les informations sur les fragments dans un cluster Elasticsearch, le nœud de la réplique, la taille qu'elle prend le disque, et plus.
Comment énumérer tous les éclats dans un cluster
Pour afficher tous les fragments dans un cluster Elasticsearch, vous pouvez utiliser la demande GE au point de terminaison de l'API _CAT / SHARDS, comme suit:
Obtenez _CAT / Shards
Si vous êtes un utilisateur Curl, utilisez la commande suivante:
curl -xget «http: // localhost: 9200 / _cat / shards»
L'exécution de la commande ci-dessus vous donnera des informations sur tous les éclats du cluster, comme indiqué ci-dessous (sortie tronquée):
kibana_sample_data_flights 0 p démarré 13059 5.3MB 172.28.86.133 instance-0000000003
kibana_sample_data_flights 0 r démarré 13059 5.3MB 172.28.27.142 instance-0000000001
.SLM-HISTORY-3-000001 0 P Démarré 172.28.86.133 instance-0000000003
.SLM-HISTORY-3-000001 0 R Démarré 172.28.27.142 instance-0000000001
destination_index 0 p démarré 13232 5.9 Mo 172.28.27.142 instance-0000000001
.Surveillance-ES-7-2021.01.22 0 p démarré 279515 153.5 Mo 172.28.86.133 instance-0000000003
.Surveillance-ES-7-2021.01.22 0 r a commencé 279467 268.5 Mo 172.28.27.142 instance-0000000001
.kibana_task_manager_1 0 p démarré 6 205.6KB 172.28.86.133 instance-0000000003
.kibana_task_manager_1 0 r démarré 6 871.5KB 172.28.27.142 instance-0000000001
.surveillance-beats-7-2021.01.22 0 P Démarré 6245 8MB 172.28.86.133 instance-0000000003
--------------------------------sortie tronquée---------------------
Vous pouvez également filtrer la sortie et spécifier le format du résultat. Par exemple, pour obtenir la sortie au format YAML, ajoutez le paramètre Format = YAML à la demande, comme suit:
Obtenez _CAT / Shards?format = yaml
La commande curl pour ceci est:
curl -xget “http: // localhost: 9200 / _cat / shards?format = yaml ”
La sortie doit au format YAML comme:
- Index: "APM-7.dix.2-Forboard-2021.01.20 "
Shard: "0"
Prirep: "P"
État: "démarré"
Docs: "2"
Magasin: "14.7KB "
IP: "172.28.27.142 "
Node: "instance-0000000001"
- index: "source_index"
Shard: "0"
Prirep: "P"
État: "démarré"
Docs: "0"
Store: "208b"
IP: "172.28.86.133 "
Node: "instance-0000000003"
- index: "kibana_sample_type_diff"
Shard: "0"
Prirep: "P"
État: "démarré"
Docs: "13059"
magasin: "5.7 Mo "
IP: "172.28.86.133 "
Node: "instance-0000000003"
- index: "kibana_sample_type_diff"
Shard: "0"
Prirep: "R"
État: "démarré"
Docs: "13059"
Magasin: "9.8 Mo "
IP: "172.28.27.142 "
Node: "instance-0000000001"
--------------------------------Sortie tronquée---------------------
Vous pouvez même choisir d'obtenir des en-têtes spécifiques. Par exemple, pour obtenir le nom de l'index, le nom de la fragment, l'état de fragment, l'espace de disque de fragment, l'ID de nœud et le nœud IP, filtrent en les transmettant à l'argument d'en-tête comme:
Obtenez _CAT / Shards?h = index, shard, état, magasin, id, ip & format = json
La commande curl est la suivante:
curl -xget “http: // localhost: 9200 / _cat / shards?h = index, shard, état, magasin, id, ip & format = json »
L'exécution de la commande ci-dessus vous donne des informations sélectionnées sur les éclats du format JSON. Ignorez les paramètres de format pour utiliser le format tabulaire par défaut.
[
"index": "kibana_sample_data_flights",
"Shard": "0",
"État": "a commencé",
"magasin": "5.3 Mo ",
"id": "gslmjtkytemoox-eo7em4w",
"IP": "172.28.86.133 "
,
"index": "kibana_sample_data_flights",
"Shard": "0",
"État": "a commencé",
"magasin": "5.3 Mo ",
"id": "ftd_2ixjsxudn_ua4tzhhg",
"IP": "172.28.27.142 "
,
"index": ".SLM-HISTORY-3-000001 ",
"Shard": "0",
"État": "a commencé",
"magasin": null,
"id": "gslmjtkytemoox-eo7em4w",
"IP": "172.28.86.133 "
,
"index": ".SLM-HISTORY-3-000001 ",
"Shard": "0",
"État": "a commencé",
"magasin": null,
"id": "ftd_2ixjsxudn_ua4tzhhg",
"IP": "172.28.27.142 "
,
"index": "destination_index",
"Shard": "0",
"État": "a commencé",
"magasin": "5.9 Mo ",
"id": "ftd_2ixjsxudn_ua4tzhhg",
"IP": "172.28.27.142 "
,
"index": ".Surveillance-ES-7-2021.01.22 ",
"Shard": "0",
"État": "a commencé",
"magasin": "154.7 Mo ",
"id": "gslmjtkytemoox-eo7em4w",
"IP": "172.28.86.133 "
,
"index": ".Surveillance-ES-7-2021.01.22 ",
"Shard": "0",
"État": "a commencé",
"Store": "270.2 Mo ",
"id": "ftd_2ixjsxudn_ua4tzhhg",
"IP": "172.28.27.142 "
,
-----------------------------------Sortie tronquée-------------------------
INFORMATIONS DE RARDE pour les indices spécifiques
T0 0Btain Informations sur un éclat pour un index spécifique, passez le nom de l'index comme suit:
Obtenez _cat / Shards / Kibana_Sample_Data_flights
Entrez la commande curl comme suit:
curl -xget "http: // localhost: 9200 / _cat / shards / kibana_sample_data_flights"
Cette commande vous donne des informations sur les éclats de cet index spécifique:
kibana_sample_data_flights 0 p démarré 13059 5.3MB 172.28.86.133 instance-0000000003
kibana_sample_data_flights 0 r démarré 13059 5.3MB 172.28.27.142 instance-0000000001
NOTE: Vous pouvez également utiliser des paramètres pour filtrer les données ci-dessus.
Conclusion
Dans ce guide, nous vous avons montré comment utiliser l'API CAT pour obtenir des informations sur les fragments fonctionnant dans le cluster Elasticsearch.