web-dev-qa-db-fra.com

ElasticSearch trouve l'utilisation de l'espace disque

Comment trouver la quantité d'espace disque utilisée par Elastic Search pour mes index? Je l'utilise actuellement localement et j'essaie de voir combien d'espace disque il me faudra sur la VM que je vais créer.

40
Nived

Pour ce faire, Elasticsearch pourrait utiliser _cat/shards et consulter la colonne 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

Sinon sous Linux pour afficher l'espace par dossier, utilisez:

du -hs /myelasticsearch/data/folder

ou pour afficher l'espace par système de fichiers:

df -h 
46
Olly Cruickshank

Si vous n'avez pas besoin de statistiques par fragment renvoyées par /_cat/shards, vous pouvez utiliser

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

pour obtenir l’espace disque disponible et utilisé pour chaque nœud.

27
marat

vous pouvez utiliser l'API repos de noeuds stats stats
voir: https://www.elastic.co/guide/fr/elasticsearch/reference/1.6/cluster-nodes-stats.html

faire une demande pour les statistiques fs comme suit: http: //: 9200/_nodes/stats/fs? pretty = 1 

et vous allez voir:

{
  "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"
        } ]
      }
    }
  }
}

l'espace pour le lecteur de données est répertorié:

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

Pour afficher l'utilisation totale du disque/l'espace disponible sur le cluster ES, vous pouvez utiliser la commande suivante:

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

J'espère que cela t'aides.

9
user1432155

Vous voudrez peut-être utiliser l’API _cat pour utiliser davantage l’espace disque 

curl http://Host:9200/_cat/nodes?h=h,diskAvail

Référence: https://www.elastic.co/guide/fr/elasticsearch/reference/current/cat-nodes.html

5
tick_tack_techie

Une solution plus concise pour trouver la taille des indices consiste à utiliser

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

La sortie contient une colonne 'store.size' qui vous indique exactement la taille d'un index.

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

De plus, vous pouvez vous renseigner sur l’espace disque disponible en utilisant

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

Recherchez les informations sur l'espace disque sous la clé '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
        },
      }
    }
  }
}

J'ai testé cela pour ElasticSearch version 5.2.1

5
thekenobe

Vous pouvez également interroger directement le disque pour mesurer l'espace disque de chaque répertoire sous/var/lib/elasticsearch/[nom de l'environnement]/nodes/0/indices sur les nœuds 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/indices 3.8GB /var/lib/elasticsearch/env1/nodes/0/indices/index1 2.1GB /var/lib/elasticsearch/env1/nodes/0/indices/index2 1,2 Go ...

0
vishwarajanand