Utilisation de l'espace disque par ElasticSearch

Comment puis-je trouver la quantité d'espace disque que la recherche élastique utilise pour mes index? Je l'exécute actuellement localement et j'essaye de voir combien d'espace disque je vais avoir besoin sur la VM que je vais faire tourner.

28
demandé sur Nived 2015-04-02 19:26:46

7 réponses

la façon de faire Elasticsearch serait d'utiliser _cat/shards et regarder les store colonne:

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 dans Linux pour voir l'espace par dossier utiliser:

du -hs /myelasticsearch/data/folder

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

df -h 
33
répondu Olly Cruickshank 2015-04-03 13:33:35

dans le cas où vous n'avez pas besoin de statistiques par fragment retournées par /_cat/shards vous pouvez utiliser

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

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

16
répondu marat 2016-07-13 12:56:19

vous pouvez utiliser l'API noeuds stats rest

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

faire une demande pour les statistiques de fs comme si: http://:9200/_nodes/stats/fs?jolie=1

et vous verrez:

{
  "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 indiqué:

"total" : {
    "total_in_bytes" : 363667091456,
    "free_in_bytes" : 185081352192,
    "available_in_bytes" : 166608117760,
10
répondu scaph01 2015-08-06 17:07:15

pour voir l'utilisation globale du disque / espace disponible sur le cluster ES, vous pouvez utiliser la commande suivante:

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

Espérons que cette aide.

8
répondu user1432155 2017-11-22 08:04:38

Vous pouvez utiliser l'api _cat pour l'utilisation de l'espace disque nodewise

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

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

5
répondu tick_tack_techie 2016-07-08 00:51:57

une solution plus concise pour trouver la taille des indices est d'utiliser

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

la sortie a un ' store.taille ' colonne 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'

chercher l'information sur l'espace disque sous la touche '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é ceci pour la version 5.2.1 D'ElasticSearch

5
répondu thekenobe 2017-03-02 14:54:49

ou vous pouvez également interroger le disque directement pour mesurer l'espace disque pour chaque répertoire sous / var/lib/elasticsearch/[nom de l'environnement]/noeuds/0 / indices sur les noeuds Elasticsearch.

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

17 GO /var/lib/elasticsearch/env1/nœuds/0/indices 3.8 GO /var/lib/elasticsearch/env1/nœuds/0/indices/index1 2.1 GO /var/lib/elasticsearch/env1/nœuds/0/indices/index2 1.2 GB ...

0
répondu vishwarajanand 2017-09-05 03:02:50