Elasticsearch - APIs de cluster
A API do cluster é usada para obter informações sobre o cluster e seus nós e para fazer alterações neles. Para chamar esta API, precisamos especificar o nome do nó, endereço ou _local.
GET /_nodes/_local
Ao executar o código acima, obtemos a resposta conforme mostrado abaixo -
………………………………………………
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" : {
………………………………………………
Saúde do Cluster
Esta API é usada para obter o status da integridade do cluster, anexando a palavra-chave 'integridade'.
GET /_cluster/health
Ao executar o código acima, obtemos a resposta conforme mostrado abaixo -
{
"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
}
Estado do Cluster
Esta API é usada para obter informações de estado sobre um cluster anexando a URL de palavra-chave 'estado'. As informações de estado contêm versão, nó mestre, outros nós, tabela de roteamento, metadados e blocos.
GET /_cluster/state
Ao executar o código acima, obtemos a resposta conforme mostrado abaixo -
………………………………………………
{
"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
}
………………………………………………
Estatísticas de cluster
Esta API ajuda a recuperar estatísticas sobre o cluster usando a palavra-chave 'estatísticas'. Esta API retorna o número do shard, tamanho do armazenamento, uso de memória, número de nós, funções, SO e sistema de arquivos.
GET /_cluster/stats
Ao executar o código acima, obtemos a resposta conforme mostrado abaixo -
………………………………………….
"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
}
………………………………………….
Configurações de atualização de cluster
Esta API permite que você atualize as configurações de um cluster usando a palavra-chave 'settings'. Existem dois tipos de configurações - persistente (aplicada nas reinicializações) e transitória (não sobrevive a uma reinicialização completa do cluster).
Node Stats
Esta API é usada para recuperar as estatísticas de mais um nó do cluster. As estatísticas do nó são quase iguais às do cluster.
GET /_nodes/stats
Ao executar o código acima, obtemos a resposta conforme mostrado abaixo -
{
"_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"
},
………………………………………………………….
Nodes hot_threads
Esta API ajuda a recuperar informações sobre os threads ativos atuais em cada nó do cluster.
GET /_nodes/hot_threads
Ao executar o código acima, obtemos a resposta conforme mostrado abaixo -
:::{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: