A API CAT da Elasticsearch é muito útil porque permite que os usuários visualizem informações relacionadas a vários recursos do Elasticsearch Engine em texto compacto e alinhado (CAT).
Este tutorial mostrará como usar a API _cat para visualizar informações sobre shards em um cluster de elasticsearch, que nó é a réplica, o tamanho que ele pega o disco e mais.
Como listar todos os shards em um cluster
Para visualizar todos os fragmentos em um cluster Elasticsearch, você pode usar a solicitação GE no endpoint _cat/shards API, como segue:
Obtenha _cat/shards
Se você é um usuário do CLL, use o seguinte comando:
Curl -xget “http: // localhost: 9200/_cat/shards”
A execução do comando acima fornecerá informações sobre todos os fragmentos no cluster, como mostrado abaixo (saída truncada):
kibana_sample_data_flights 0 p começou 13059 5.3MB 172.28.86.133 Instância-0000000003
kibana_sample_data_flights 0 r iniciado 13059 5.3MB 172.28.27.142 Instância-0000000001
.SLM-History-3-000001 0 P começou 172.28.86.133 Instância-0000000003
.SLM-History-3-000001 0 R começou 172.28.27.142 Instância-0000000001
destino_index 0 p começou 13232 5.9MB 172.28.27.142 Instância-0000000001
.Monitoramento-ES-7-2021.01.22 0 p começou 279515 153.5MB 172.28.86.133 Instância-0000000003
.Monitoramento-ES-7-2021.01.22 0 r iniciado 279467 268.5MB 172.28.27.142 Instância-0000000001
.kibana_task_manager_1 0 p começou 6 205.6kb 172.28.86.133 Instância-0000000003
.kibana_task_manager_1 0 r começou 6 871.5kb 172.28.27.142 Instância-0000000001
.Monitoramento-Beats-7-2021.01.22 0 p começou 6245 8MB 172.28.86.133 Instância-0000000003
--------------------------------saída truncada---------------------
Você também pode filtrar a saída e especificar o formato do resultado. Por exemplo, para obter a saída no formato YAML, adicione o parâmetro formato = YAML à solicitação, da seguinte forma:
Obtenha _cat/shards?formato = yaml
O comando Curl para este é:
Curl -xget “http: // localhost: 9200/_cat/shards?formato = yaml ”
A saída deve no formato YAML como:
- ÍNDICE: "APM-7.10.2-A-DOBLELING-2021.01.20 "
Shard: "0"
PRIREP: "P"
estado: "iniciado"
documentos: "2"
loja: "14.7kb "
IP: "172.28.27.142 "
Nó: "Instância-0000000001"
- ÍNDICE: "fonte_index"
Shard: "0"
PRIREP: "P"
estado: "iniciado"
documentos: "0"
loja: "208b"
IP: "172.28.86.133 "
Nó: "Instância-0000000003"
- Índice: "Kibana_sample_type_diff"
Shard: "0"
PRIREP: "P"
estado: "iniciado"
Docos: "13059"
loja: "5.7 MB "
IP: "172.28.86.133 "
Nó: "Instância-0000000003"
- Índice: "Kibana_sample_type_diff"
Shard: "0"
prirep: "r"
estado: "iniciado"
Docos: "13059"
loja: "9.8 MB "
IP: "172.28.27.142 "
Nó: "Instância-0000000001"
--------------------------------Saída truncada---------------------
Você pode até optar por obter cabeçalhos específicos. Por exemplo, para obter o nome do índice, o nome do shard, o estado do shard, o espaço em disco shard, o ID do nó e o nó IP, o filtro, passando -os para o argumento do cabeçalho como:
Obtenha _cat/shards?h = índice, shard, estado, loja, id, ip & formato = json
O comando Curl é o seguinte:
Curl -xget “http: // localhost: 9200/_cat/shards?h = índice, shard, estado, loja, id, ip & formato = json ”
A execução do comando acima fornece informações selecionadas sobre os fragmentos no formato JSON. Pule os parâmetros de formato para usar o formato tabular padrão.
[[
"Index": "Kibana_sample_data_flights",
"Shard": "0",
"estado": "começou",
"Store": "5.3MB ",
"id": "gslmjtkytemox-eo7em4w",
"IP": "172.28.86.133 "
,
"Index": "Kibana_sample_data_flights",
"Shard": "0",
"estado": "começou",
"Store": "5.3MB ",
"ID": "ftd_2ixjsxudn_ua4tzhhg",
"IP": "172.28.27.142 "
,
"Índice": ".SLM-History-3-000001 ",
"Shard": "0",
"estado": "começou",
"Store": NULL,
"id": "gslmjtkytemox-eo7em4w",
"IP": "172.28.86.133 "
,
"Índice": ".SLM-History-3-000001 ",
"Shard": "0",
"estado": "começou",
"Store": NULL,
"ID": "ftd_2ixjsxudn_ua4tzhhg",
"IP": "172.28.27.142 "
,
"Índice": "destino_index",
"Shard": "0",
"estado": "começou",
"Store": "5.9 MB ",
"ID": "ftd_2ixjsxudn_ua4tzhhg",
"IP": "172.28.27.142 "
,
"Índice": ".Monitoramento-ES-7-2021.01.22 ",
"Shard": "0",
"estado": "começou",
"Store": "154.7 MB ",
"id": "gslmjtkytemox-eo7em4w",
"IP": "172.28.86.133 "
,
"Índice": ".Monitoramento-ES-7-2021.01.22 ",
"Shard": "0",
"estado": "começou",
"Store": "270.2MB ",
"ID": "ftd_2ixjsxudn_ua4tzhhg",
"IP": "172.28.27.142 "
,
-----------------------------------Saída truncada-------------------------
Informações do Shard para índices específicos
T0 0btain informações sobre um fragmento para um índice específico, passe o nome do índice da seguinte forma:
Get _cat/shards/kibana_sample_data_flights
Insira o comando CURL da seguinte maneira:
Curl -xget “http: // localhost: 9200/_cat/shards/kibana_sample_data_flights”
Este comando fornece informações sobre os fragmentos desse índice específico:
kibana_sample_data_flights 0 p começou 13059 5.3MB 172.28.86.133 Instância-0000000003
kibana_sample_data_flights 0 r iniciado 13059 5.3MB 172.28.27.142 Instância-0000000001
OBSERVAÇÃO: Você também pode usar parâmetros para filtrar os dados acima.
Conclusão
Neste guia, mostramos como usar a API CAT para obter informações sobre fragmentos em execução no cluster Elasticsearch.