La API CAT de Elasticsearch es muy útil porque permite a los usuarios ver información relacionada con varios recursos del motor de Elasticsearch en texto compacto y alineado (CAT).
Este tutorial le mostrará cómo usar la API _cat para ver la información sobre los fragmentos en un clúster Elasticsearch, qué nodo es la réplica, el tamaño que ocupa el disco y más.
Cómo enumerar todos los fragmentos en un clúster
Para ver todos los fragmentos en un clúster Elasticsearch, puede usar la solicitud GE en el punto final de la API _cat/fragmentos, como sigue:
Obtener _cat/fragmentos
Si es un usuario de curl, use el siguiente comando:
curl -xget "http: // localhost: 9200/_cat/fragmentos"
Ejecución del comando anterior le dará información sobre todos los fragmentos en el clúster, como se muestra a continuación (salida truncada):
kibana_sample_data_flights 0 P Comenzan 13059 5.3MB 172.28.86.133 instancia-0000000003
kibana_sample_data_flights 0 r comenzó 13059 5.3MB 172.28.27.142 instancia-0000000001
.SLM-History-3-000001 0 P comenzó 172.28.86.133 instancia-0000000003
.SLM-History-3-000001 0 R comenzó 172.28.27.142 instancia-0000000001
Destination_index 0 p iniciado 13232 5.9mb 172.28.27.142 instancia-0000000001
.monitoreo-ES-7-2021.01.22 0 p Comenzó 279515 153.5MB 172.28.86.133 instancia-0000000003
.monitoreo-ES-7-2021.01.22 0 r comenzó 279467 268.5MB 172.28.27.142 instancia-0000000001
.kibana_task_manager_1 0 p comenzó 6 205.6kb 172.28.86.133 instancia-0000000003
.kibana_task_manager_1 0 r inició 6 871.5kb 172.28.27.142 instancia-0000000001
.Monitoreo-Beats-7-2021.01.22 0 p comenzó 6245 8mb 172.28.86.133 instancia-0000000003
--------------------------------salida truncada---------------------
También puede filtrar la salida y especificar el formato del resultado. Por ejemplo, para obtener la salida en formato YAML, agregue el parámetro formato = YAML a la solicitud, de la siguiente manera:
Obtener _cat/fragmentos?formato = Yaml
El comando curl para esto es:
curl -xget “http: // localhost: 9200/_cat/fragmentos?formato = yaml "
La salida debe en formato YAML como:
- Índice: "APM-7.10.2-onboard-2021.01.20 "
Fragmento: "0"
PRIREP: "P"
Estado: "Comenzó"
documentos: "2"
Tienda: "14.7kb "
IP: "172.28.27.142 "
nodo: "instancia-0000000001"
- Índice: "fuente_index"
Fragmento: "0"
PRIREP: "P"
Estado: "Comenzó"
documentos: "0"
Tienda: "208b"
IP: "172.28.86.133 "
nodo: "instancia-0000000003"
- índice: "kibana_sample_type_diff"
Fragmento: "0"
PRIREP: "P"
Estado: "Comenzó"
documentos: "13059"
Tienda: "5.7Mb "
IP: "172.28.86.133 "
nodo: "instancia-0000000003"
- índice: "kibana_sample_type_diff"
Fragmento: "0"
PRIREP: "R"
Estado: "Comenzó"
documentos: "13059"
Tienda: "9.8MB "
IP: "172.28.27.142 "
nodo: "instancia-0000000001"
--------------------------------Salida truncada---------------------
Incluso puede elegir obtener encabezados específicos. Por ejemplo, para obtener el nombre del índice, el nombre del fragmento, el estado del fragmento, el espacio del disco de fragmentos, la ID del nodo y la IP del nodo, filtralos pasándolos al argumento del encabezado como:
Obtener _cat/fragmentos?h = índice, fragmento, estado, almacén, identificación, ip & format = json
El comando curl es el siguiente:
curl -xget “http: // localhost: 9200/_cat/fragmentos?h = índice, fragmento, estado, almacén, identificación, ip & format = json "
Ejecutar el comando anterior le brinda información seleccionada sobre los fragmentos en el formato JSON. Omita los parámetros de formato para usar el formato tabular predeterminado.
[
"índice": "kibana_sample_data_flights",
"Fragmento": "0",
"Estado": "Comenzó",
"Almacena": "5.3MB ",
"ID": "GSLMJTKYTEMOOX-EO7EM4W",
"IP": "172.28.86.133 "
,
"índice": "kibana_sample_data_flights",
"Fragmento": "0",
"Estado": "Comenzó",
"Almacena": "5.3MB ",
"id": "ftd_2ixjsxudn_ua4tzhhg",
"IP": "172.28.27.142 "
,
"índice": ".SLM-History-3-000001 ",
"Fragmento": "0",
"Estado": "Comenzó",
"Almacenar": NULL,
"ID": "GSLMJTKYTEMOOX-EO7EM4W",
"IP": "172.28.86.133 "
,
"índice": ".SLM-History-3-000001 ",
"Fragmento": "0",
"Estado": "Comenzó",
"Almacenar": NULL,
"id": "ftd_2ixjsxudn_ua4tzhhg",
"IP": "172.28.27.142 "
,
"índice": "Destino_index",
"Fragmento": "0",
"Estado": "Comenzó",
"Almacena": "5.9MB ",
"id": "ftd_2ixjsxudn_ua4tzhhg",
"IP": "172.28.27.142 "
,
"índice": ".monitoreo-ES-7-2021.01.22 ",
"Fragmento": "0",
"Estado": "Comenzó",
"Tienda": "154.7MB ",
"ID": "GSLMJTKYTEMOOX-EO7EM4W",
"IP": "172.28.86.133 "
,
"índice": ".monitoreo-ES-7-2021.01.22 ",
"Fragmento": "0",
"Estado": "Comenzó",
"Almacenar": "270.2MB ",
"id": "ftd_2ixjsxudn_ua4tzhhg",
"IP": "172.28.27.142 "
,
-----------------------------------Salida truncada-------------------------
Información de fragmentos para índices específicos
T0 0BTain Información sobre un fragmento para un índice específico, pase el nombre del índice de la siguiente manera:
Obtener _cat/shards/kibana_sample_data_flights
Ingrese el comando curl de la siguiente manera:
curl -xget "http: // localhost: 9200/_cat/shards/kibana_sample_data_flights"
Este comando le brinda información sobre los fragmentos de ese índice específico:
kibana_sample_data_flights 0 P Comenzan 13059 5.3MB 172.28.86.133 instancia-0000000003
kibana_sample_data_flights 0 r comenzó 13059 5.3MB 172.28.27.142 instancia-0000000001
NOTA: También puede usar parámetros para filtrar los datos anteriores.
Conclusión
En esta guía, le mostramos cómo usar la API CAT para obtener información sobre fragmentos que se ejecutan en el clúster Elasticsearch.