Подтвердить что ты не робот

ElasticSearch находит дисковое пространство

Как я могу найти объем дискового пространства, который использует Elastic Search для моих индексов? В настоящее время я запускаю его локально, и я пытаюсь определить, сколько дискового пространства мне понадобится на виртуальной машине, которую я буду раскручивать.

4b9b3361

Ответ 1

Способ Elasticsearch для этого состоит в использовании _cat/shards и просмотре столбца store:

curl -XGET "http://localhost:9200/_cat/shards?v"

index              shard prirep state     docs   store ip            node
myindex_2014_12_19 2     r      STARTED  76661 415.6mb 192.168.1.1 Georgianna Castleberry
myindex_2014_12_19 2     p      STARTED  76661 417.3mb 192.168.1.2 Frederick Slade
myindex_2014_12_19 2     r      STARTED  76661 416.9mb 192.168.1.3 Maverick
myindex_2014_12_19 0     r      STARTED  76984 525.9mb 192.168.1.1 Georgianna Castleberry
myindex_2014_12_19 0     r      STARTED  76984   527mb 192.168.1.2 Frederick Slade
myindex_2014_12_19 0     p      STARTED  76984   526mb 192.168.1.3 Maverick
myindex_2014_12_19 3     r      STARTED    163 208.5kb 192.168.1.1 Georgianna Castleberry
myindex_2014_12_19 3     p      STARTED    163 191.4kb 192.168.1.2 Frederick Slade
myindex_2014_12_19 3     r      STARTED    163 181.6kb 192.168.1.3 Maverick
myindex_2014_12_19 1     p      STARTED 424923   2.1gb 192.168.1.1 Georgianna Castleberry
myindex_2014_12_19 1     r      STARTED 424923   2.1gb 192.168.1.2 Frederick Slade
myindex_2014_12_19 1     r      STARTED 424923   2.1gb 192.168.1.3 Maverick
myindex_2014_12_19 4     r      STARTED  81020 435.9mb 192.168.1.1 Georgianna Castleberry
myindex_2014_12_19 4     p      STARTED  81020 437.8mb 192.168.1.2 Frederick Slade
myindex_2014_12_19 4     r      STARTED  81020 437.8mb 192.168.1.3 Maverick

В противном случае в Linux для просмотра пробела по папке используйте:

du -hs /myelasticsearch/data/folder

или для просмотра пространства файловой системой:

df -h 

Ответ 2

Если вам не нужны статистические данные, полученные с помощью /_cat/shards, вы можете использовать

curl -XGET localhost:9200/_cat/allocation?v

чтобы получить доступное и доступное дисковое пространство для каждого node.

Ответ 3

вы можете использовать API-интерфейс остатков узлов

см. https://www.elastic.co/guide/en/elasticsearch/reference/1.6/cluster-nodes-stats.html

сделать запрос для статистики fs следующим образом: http://: 9200/_nodes/stats/fs? pretty = 1

и вы увидите:

{
  "cluster_name" : "<cluster>",
  "nodes" : {
    "pEO34wutR7qk3Ix8N7MgyA" : {
      "timestamp" : 1438880525206,
      "name" : "<name>",
      "transport_address" : "inet[/10.128.37.111:9300]",
      "host" : "<host>",
      "ip" : [ "inet[/10.128.37.111:9300]", "NONE" ],
      "fs" : {
        "timestamp" : 1438880525206,
        "total" : {
          "total_in_bytes" : 363667091456,
          "free_in_bytes" : 185081352192,
          "available_in_bytes" : 166608117760,
          "disk_reads" : 154891,
          "disk_writes" : 482628039,
          "disk_io_op" : 482782930,
          "disk_read_size_in_bytes" : 6070391808,
          "disk_write_size_in_bytes" : 1989713248256,
          "disk_io_size_in_bytes" : 1995783640064,
          "disk_queue" : "0",
          "disk_service_time" : "0"
        },
        "data" : [ {
          "path" : "/data1/elasticsearch/data/<cluster>/nodes/0",
          "mount" : "/data1",
          "dev" : "/dev/sda4",
          "total_in_bytes" : 363667091456,
          "free_in_bytes" : 185081352192,
          "available_in_bytes" : 166608117760,
          "disk_reads" : 154891,
          "disk_writes" : 482628039,
          "disk_io_op" : 482782930,
          "disk_read_size_in_bytes" : 6070391808,
          "disk_write_size_in_bytes" : 1989713248256,
          "disk_io_size_in_bytes" : 1995783640064,
          "disk_queue" : "0",
          "disk_service_time" : "0"
        } ]
      }
    }
  }
}

указано место для привода данных:

"total" : {
    "total_in_bytes" : 363667091456,
    "free_in_bytes" : 185081352192,
    "available_in_bytes" : 166608117760,

Ответ 5

Более кратким решением найти размер индексов является использование

curl -XGET 'localhost:9200/_cat/indices?v'

На выходе есть столбец "store.size", который точно указывает размер индекса.

health status index                           uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   logstash-2017.03.01             TfraFM8TQkSXdxjx13CnpQ   5   1   33330000            0        1gb            1gb
yellow open   .monitoring-es-2-2017.03.02     10YscrcfQuGny5wMxeb0TA   1   1      68834           88     30.3mb         30.3mb
yellow open   .kibana                         GE6xXV7QT-mNbX7xTPbZ4Q   1   1          3            0     14.5kb         14.5kb
yellow open   .monitoring-es-2-2017.03.01     SPeQNnPlRB6y7G6w1Axokw   1   1      29441          108     14.7mb         14.7mb
yellow open   .monitoring-data-2              LLeWqsD-QE-rPFblwu5K_Q   1   1          3            0      6.9kb          6.9kb
yellow open   .monitoring-kibana-2-2017.03.02 l_MAPERUTmSbq0xbhpnf2Q   1   1       5320            0      1.1mb          1.1mb
yellow open   .monitoring-kibana-2-2017.03.01 UFVg9c7TTA-nbsEd2d4oFw   1   1       2699            0    763.4kb        763.4kb

Кроме того, вы можете узнать о наличии свободного места на диске с помощью

curl -XGET 'localhost:9200/_nodes/_local/stats/fs'

Найдите информацию о дисковой памяти под клавишей "fs"

{
  "_nodes": {
    "total": 1,
    "successful": 1,
    "failed": 0
  },
  "cluster_name": "elasticsearch",
  "nodes": {
    "MfgVaoRQT9iRAZtAvO549Q": {
      "fs": {
        "timestamp": 1488466297268,
        "total": {
          "total_in_bytes": 29475753984,
          "free_in_bytes": 18352095232,
          "available_in_bytes": 18352095232
        },
      }
    }
  }
}

Я тестировал это для ElasticSearch версии 5.2.1

Ответ 6

Чтобы просмотреть общее использование диска/доступное пространство на кластере ES, вы можете использовать следующую команду:

curl -XGET 'localhost:9200/_cat/allocation?v&pretty'

Надеюсь, что это поможет.

Ответ 7

Или вы также можете запросить диск непосредственно для измерения дискового пространства для каждого каталога в каталоге/var/lib/elasticsearch/[имя среды]/узлы/0/индексы на узлах Elasticsearch.

$ du -b --max-depth=1 /var/lib/elasticsearch/[environment name]/nodes/0/indices | sort -rn | numfmt --to=iec --suffix=B --padding=5

17GB/var/lib/elasticsearch/env1/nodes/0/индексы 3.8GB/var/lib/elasticsearch/env1/nodes/0/index/index1 2.1GB/var/lib/elasticsearch/env1/nodes/0/index/index2 1.2GB...