Mise à jour pour Elasticsearch et ELK (5.0)
This commit is contained in:
parent
d5cb30f8ff
commit
c486414ba8
107
HowtoELK.md
107
HowtoELK.md
|
@ -5,20 +5,40 @@ categories: nosql pack
|
||||||
|
|
||||||
Cette documentation décrit l'installation et la configuration de la suite Elastic, anciennement nommée **ELK** (Elasticsearch + Logstash + Kibana).
|
Cette documentation décrit l'installation et la configuration de la suite Elastic, anciennement nommée **ELK** (Elasticsearch + Logstash + Kibana).
|
||||||
|
|
||||||
# Elasticsearch
|
## Pré-requis
|
||||||
|
|
||||||
## Installation
|
Les composants de la suite doivent être installés à partir du dépôt APT de la société Elastic (éditrice de la suite Elastic)
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | apt-key add -
|
# echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" >> /etc/apt/sources.list.d/elastic.list
|
||||||
# echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" >> /etc/apt/sources.list.d/elastic.list
|
# wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
|
||||||
# apt install elasticsearch openjdk-7-jre
|
|
||||||
# systemctl enable elasticsearch && systemctl start elasticsearch
|
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Pour plus de détails, voir [HowtoElasticsearch#installation]()
|
Pour Elasticsearch et Logstash, il faut avoir Java 1.8, disponible depuis les `jessie-backports`.
|
||||||
|
|
||||||
## Configuration
|
~~~
|
||||||
|
# apt install openjdk-8-jre
|
||||||
|
# update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
|
||||||
|
~~~
|
||||||
|
|
||||||
|
## Elasticsearch
|
||||||
|
|
||||||
|
Il existe un guide détaillé d'installation et configuation pour Elasticsearch : [HowtoElasticsearch#installation]().
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
|
||||||
|
~~~
|
||||||
|
# apt install elasticsearch
|
||||||
|
~~~
|
||||||
|
|
||||||
|
### Démarrage
|
||||||
|
|
||||||
|
~~~
|
||||||
|
# systemctl enable elasticsearch
|
||||||
|
# systemctl start elasticsearch
|
||||||
|
~~~
|
||||||
|
|
||||||
|
### Configuration
|
||||||
|
|
||||||
Préciser *node.name* dans le fichier `/etc/elasticsearch/elasticsearch.yml` :
|
Préciser *node.name* dans le fichier `/etc/elasticsearch/elasticsearch.yml` :
|
||||||
|
|
||||||
|
@ -26,69 +46,40 @@ Préciser *node.name* dans le fichier `/etc/elasticsearch/elasticsearch.yml` :
|
||||||
node.name: bar
|
node.name: bar
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Pour plus détails, voir [HowtoElasticsearch#configuration]().
|
## Logstash
|
||||||
|
|
||||||
## Installation de quelques plugins
|
|
||||||
|
|
||||||
~~~
|
|
||||||
# /usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head
|
|
||||||
# /usr/share/elasticsearch/bin/plugin install lmenezes/elasticsearch-kopf
|
|
||||||
# chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/plugins/
|
|
||||||
~~~
|
|
||||||
|
|
||||||
Pour plus détails, voir [HowtoElasticsearch#plugins]().
|
|
||||||
|
|
||||||
## Utile
|
|
||||||
|
|
||||||
* les logs sont dans `/var/log/elasticsearch/_cluster_name_.log`
|
|
||||||
* l'interface **Head** est disponible sur http://127.0.0.1:9200/_plugin/head/
|
|
||||||
* l'interface **Kopf** est disponible sur http://127.0.0.1:9200/_plugin/kopf/
|
|
||||||
|
|
||||||
# Logstash
|
|
||||||
|
|
||||||
Logstash est un service qui récupère des données depuis des sources variées (ports TCP/UDP, fichiers…), les transforme et les renvois vers des sorties variées (fichiers, Elasticsearch, syslog…).
|
Logstash est un service qui récupère des données depuis des sources variées (ports TCP/UDP, fichiers…), les transforme et les renvois vers des sorties variées (fichiers, Elasticsearch, syslog…).
|
||||||
C'est un logiciel écrit en Ruby, qui tourne sur une JVM (grace à JRuby).
|
C'est un logiciel écrit en Ruby, qui tourne sur une JVM (grace à JRuby).
|
||||||
|
|
||||||
Documentation officielle : <https://www.elastic.co/guide/en/logstash/2.4/index.html>
|
Documentation officielle : <https://www.elastic.co/guide/en/logstash/5.0/index.html>
|
||||||
|
|
||||||
## Installation
|
### Installation
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# echo "deb http://packages.elastic.co/logstash/2.4/debian stable main" | tee -a /etc/apt/sources.list.d/elastic.list
|
|
||||||
# apt install logstash
|
# apt install logstash
|
||||||
|
# systemctl enable logstash
|
||||||
|
# systemctl start logstash
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Dans `/etc/default/logstash` il faut penser à ajuster la ram allouée.
|
Dans `/etc/default/logstash` il faut penser à ajuster la ram allouée.
|
||||||
|
|
||||||
|
|
||||||
|
### Configuration
|
||||||
|
|
||||||
À ce stade, aucun "pipeline" Logstash n'est configuré.
|
À ce stade, aucun "pipeline" Logstash n'est configuré.
|
||||||
Voir <https://www.elastic.co/guide/en/logstash/current/configuration.html>
|
Voir <https://www.elastic.co/guide/en/logstash/5.0/configuration.html>
|
||||||
|
|
||||||
## Démarrage
|
## Kibana
|
||||||
|
|
||||||
~~~
|
|
||||||
# systemctl start logstash
|
|
||||||
~~~
|
|
||||||
|
|
||||||
Pour que le démon soit géré automatiquement par systemd :
|
|
||||||
|
|
||||||
~~~
|
|
||||||
# systemctl enable logstash
|
|
||||||
~~~
|
|
||||||
|
|
||||||
# Kibana
|
|
||||||
|
|
||||||
Kibana est une interface de visualisation des donnes stockées dans Elasticsearch.
|
Kibana est une interface de visualisation des donnes stockées dans Elasticsearch.
|
||||||
C'est un logiciel écrit principalement en NodeJS, où tout est embarqué dans un processus principal.
|
C'est un logiciel écrit principalement en NodeJS, où tout est embarqué dans un processus principal.
|
||||||
|
|
||||||
Documentation officielle : <https://www.elastic.co/guide/en/kibana/4.6/index.html>
|
Documentation officielle : <https://www.elastic.co/guide/en/kibana/5.0/index.html>
|
||||||
|
|
||||||
## Installation
|
### Installation
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# echo "deb http://packages.elastic.co/kibana/4.6/debian stable main" | tee -a /etc/apt/sources.list.d/elastic.list
|
|
||||||
# apt install kibana
|
# apt install kibana
|
||||||
# /opt/kibana/bin/kibana plugin --install elastic/sense
|
|
||||||
# chown -R kibana: /opt/kibana
|
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
|
@ -104,24 +95,16 @@ Documentation officielle : <https://www.elastic.co/guide/en/kibana/4.6/index.htm
|
||||||
}
|
}
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
## Démarrage
|
### Démarrage
|
||||||
|
|
||||||
~~~
|
|
||||||
# systemctl start kibana
|
|
||||||
~~~
|
|
||||||
|
|
||||||
Pour que le démon soit géré automatiquement par systemd :
|
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# systemctl enable kibana
|
# systemctl enable kibana
|
||||||
|
# systemctl start kibana
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
## Utile
|
L'interface principale est disponible sur <http://127.0.0.1:5601/>
|
||||||
|
|
||||||
* l'interface principale est disponible sur <http://127.0.0.1:5601/>
|
### Proxy
|
||||||
* l'interface **Sense** est disponible sur <http://127.0.0.1:5601/app/sense>
|
|
||||||
|
|
||||||
## Proxy
|
|
||||||
|
|
||||||
Kibana ne gère pas d'authentification. Pour le rendre accessible de manière sécurisée, il est conseillé de le placer derrière un reverse proxy, par exemple Nginx.
|
Kibana ne gère pas d'authentification. Pour le rendre accessible de manière sécurisée, il est conseillé de le placer derrière un reverse proxy, par exemple Nginx.
|
||||||
|
|
||||||
|
@ -150,6 +133,6 @@ server {
|
||||||
}
|
}
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
# Conseils
|
## Conseils
|
||||||
|
|
||||||
* utiliser des certificats SSL (nativement géré par les logiciels) pour que les données circulent de manière chiffrée (surtout entre filebeat et logstash, car ça passe par Internet).
|
* utiliser des certificats SSL (nativement géré par les logiciels) pour que les données circulent de manière chiffrée (surtout entre filebeat et logstash, car ça passe par Internet).
|
||||||
|
|
|
@ -3,7 +3,7 @@ title: Howto Elasticsearch
|
||||||
categories: web bdd nosql
|
categories: web bdd nosql
|
||||||
...
|
...
|
||||||
|
|
||||||
* Documentation : <https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html>
|
* Documentation : <https://www.elastic.co/guide/en/elasticsearch/reference/5.0/index.html>
|
||||||
* Forum : <https://discuss.elastic.co/c/elasticsearch>
|
* Forum : <https://discuss.elastic.co/c/elasticsearch>
|
||||||
|
|
||||||
[Elasticsearch](https://www.elastic.co/fr/products/elasticsearch) est un serveur de base de données écrit en Java disposant d’une interface REST HTTP. Elasticsearch est notammment utilisé dans [la stack Elastic avec Logstash et Kibana](HowtoELK).
|
[Elasticsearch](https://www.elastic.co/fr/products/elasticsearch) est un serveur de base de données écrit en Java disposant d’une interface REST HTTP. Elasticsearch est notammment utilisé dans [la stack Elastic avec Logstash et Kibana](HowtoELK).
|
||||||
|
@ -13,20 +13,45 @@ categories: web bdd nosql
|
||||||
Vu le développement actif d'Elasticsearch, nous préconisons l'installation des paquets Debian distribués par Elasticsearch :
|
Vu le développement actif d'Elasticsearch, nous préconisons l'installation des paquets Debian distribués par Elasticsearch :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" >> /etc/apt/sources.list.d/elasticsearch.list
|
# echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" >> /etc/apt/sources.list.d/elastic.list
|
||||||
# wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | apt-key add -
|
# wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
|
||||||
# apt install elasticsearch openjdk-7-jre
|
# apt install elasticsearch
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
On vérifie qu'on a bien Java >= 1.7 activé :
|
### Java 1;8
|
||||||
|
|
||||||
|
Elasticsearch 5.x nécessite Java 1.8. Pour Jessie, il faut installer la machine virtuelle Java depuis les backports.
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
$ java -version
|
# cat /etc/apt/sources.list.d/backports.list
|
||||||
java version "1.7.0_111"
|
deb http://mirror.evolix.org/debian jessie-backports main contrib non-free
|
||||||
OpenJDK Runtime Environment (IcedTea 2.6.7) (7u111-2.6.7-1~deb8u1)
|
|
||||||
OpenJDK 64-Bit Server VM (build 24.111-b01, mixed mode)
|
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
Il vaut mieux aussi s'assurer que les backports aient une préférence basse, dans `/etc/apt/preferences.d/backports`
|
||||||
|
|
||||||
|
~~~
|
||||||
|
Package: *
|
||||||
|
Pin: release a=jessie-backports
|
||||||
|
Pin-Priority: 50
|
||||||
|
~~~
|
||||||
|
|
||||||
|
~~~
|
||||||
|
# apt install openjdk-8-jre
|
||||||
|
# update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
|
||||||
|
~~~
|
||||||
|
|
||||||
|
### Breaking changes
|
||||||
|
|
||||||
|
Si vous faites la mise à jour depuis une verison inférieure à 5.0, il faut penser à supprimer tous les plugins de type "site" comme _head_ ou _kopf_ qu'il faudra réinstaller différemment. :
|
||||||
|
|
||||||
|
~~~
|
||||||
|
# rm -rf /usr/share/elasticsearch/plugins/{kopf,head}
|
||||||
|
~~~
|
||||||
|
|
||||||
|
La liste complète des changements est diponible sur <https://www.elastic.co/guide/en/elasticsearch/reference/5.0/breaking-changes.html>.
|
||||||
|
|
||||||
|
### Démarrage
|
||||||
|
|
||||||
Pour activer le démarrage automatique :
|
Pour activer le démarrage automatique :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
|
@ -35,19 +60,23 @@ Synchronizing state for elasticsearch.service with sysvinit using update-rc.d...
|
||||||
Executing /usr/sbin/update-rc.d elasticsearch defaults
|
Executing /usr/sbin/update-rc.d elasticsearch defaults
|
||||||
Executing /usr/sbin/update-rc.d elasticsearch enable
|
Executing /usr/sbin/update-rc.d elasticsearch enable
|
||||||
Created symlink from /etc/systemd/system/multi-user.target.wants/elasticsearch.service to /usr/lib/systemd/system/elasticsearch.service.
|
Created symlink from /etc/systemd/system/multi-user.target.wants/elasticsearch.service to /usr/lib/systemd/system/elasticsearch.service.
|
||||||
|
|
||||||
# systemctl start elasticsearch
|
# systemctl start elasticsearch
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
## Configuration de base
|
## Configuration de base
|
||||||
|
|
||||||
Les paramètres système (répertoires utilisés, configuration JVM) se trouvent dans le fichier `/etc/default/elasticsearch`,
|
Les paramètres système se trouvent dans le fichier `/etc/default/elasticsearch`, les paramètres liés à la JVM sont dans `/etc/elasticsearch/jvm.options` et les options applicatives (nom du cluster, nom du nœud, mémoire, réseau) se trouvent dans le fichier `/etc/elasticsearch/elasticsearch.yml`.
|
||||||
les options applicatives (nom du cluster, nom du nœud, mémoire, réseau) se trouvent dans le fichier `/etc/elasticsearch/elasticsearch.yml`.
|
|
||||||
|
|
||||||
Il faut activer le redémarrage automatique en cas de mise à jour (classique sous Debian).
|
Il faut activer le redémarrage automatique en cas de mise à jour (classique sous Debian) dans `/etc/default/elasticsearch` :
|
||||||
On peut aussi définir un *tmpdir* spécifique (utile quand `/tmp` est en _noexec_) dans `/etc/default/elasticsearch` :
|
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
RESTART_ON_UPGRADE=true
|
RESTART_ON_UPGRADE=true
|
||||||
|
~~~
|
||||||
|
|
||||||
|
On peut aussi définir un **tmpdir** spécifique (utile quand `/tmp` est en `noexec`) dans `/etc/default/elasticsearch` :
|
||||||
|
|
||||||
|
~~~
|
||||||
ES_JAVA_OPTS="-Djava.io.tmpdir=/var/lib/elasticsearch/tmp"
|
ES_JAVA_OPTS="-Djava.io.tmpdir=/var/lib/elasticsearch/tmp"
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
@ -66,17 +95,6 @@ cluster.name: foo
|
||||||
node.name: bar
|
node.name: bar
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
## Journaux
|
|
||||||
|
|
||||||
On conseille de ne pas activer le logging stdout vers la console, mais de conserver seulement les logs dans `/var/log/elasticsearch/`. On peut faire cela via le fichier `/etc/elasticsearch/logging.yml` :
|
|
||||||
|
|
||||||
~~~{.diff}
|
|
||||||
-rootLogger: ${es.logger.level}, console, file
|
|
||||||
+rootLogger: ${es.logger.level}, file
|
|
||||||
~~~
|
|
||||||
|
|
||||||
Les journaux intéressants sont dans `/var/log/elasticsearch/_cluster_name_.log`
|
|
||||||
|
|
||||||
## Configuration réseau
|
## Configuration réseau
|
||||||
|
|
||||||
Par défaut, Elasticsearch écoute sur 127.0.0.1 sur TCP/9200 pour son interface REST HTTP.
|
Par défaut, Elasticsearch écoute sur 127.0.0.1 sur TCP/9200 pour son interface REST HTTP.
|
||||||
|
@ -87,34 +105,15 @@ La directive de configuration suivante peut être positionnée pour qu'il écout
|
||||||
network.host: ["192.0.2.42", "198.51.100.42", "127.0.0.1"]
|
network.host: ["192.0.2.42", "198.51.100.42", "127.0.0.1"]
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
## Plugins
|
Il est possible d'utiliser des adresses virtuelles, telles que `_site_`, `_local_`…
|
||||||
|
|
||||||
Les plugins permettent différentes améliorations, notamment en terme de visualisation simple et conviviale d'une base de données.
|
Tous les détails sont su <https://www.elastic.co/guide/en/elasticsearch/reference/5.0/modules-network.html#network-interface-values>.
|
||||||
On verra ici les plus utiles.
|
|
||||||
|
|
||||||
### Kopf - web admin interface for elasticsearch
|
### mode "production"
|
||||||
|
|
||||||
<https://github.com/lmenezes/elasticsearch-kopf>
|
Lorsqu'Elasticsearch est configuré pour écouter sur une IP non locale, il passe en mode "production".
|
||||||
|
|
||||||
~~~
|
Il active alors un certain nombre de "bootstrap checks" qui bloquent le démarrage s'ils ne sont pas tous respectés. Les éventuels échecs sont lisibles dans le fichier de log (généralement dans `/var/log/elasticsearch/_cluster_name_.log`).
|
||||||
# /usr/share/elasticsearch/bin/plugin install lmenezes/elasticsearch-kopf
|
|
||||||
# chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/plugins/
|
|
||||||
~~~
|
|
||||||
|
|
||||||
*Note :* cela nécessite un accès réseau vers https://github.com/
|
|
||||||
|
|
||||||
L'interface **Kopf** est ainsi disponible sur http://127.0.0.1:9200/_plugin/kopf/
|
|
||||||
|
|
||||||
### Head - web front end for an elastic search cluster
|
|
||||||
|
|
||||||
<https://github.com/mobz/elasticsearch-head>
|
|
||||||
|
|
||||||
~~~
|
|
||||||
# /usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head
|
|
||||||
# chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/plugins/
|
|
||||||
~~~
|
|
||||||
|
|
||||||
L'interface **Head** est ainsi disponible sur http://127.0.0.1:9200/_plugin/head/
|
|
||||||
|
|
||||||
## Configuration avancée
|
## Configuration avancée
|
||||||
|
|
||||||
|
@ -141,11 +140,11 @@ On check sur la page `/_cat/health` si le status n'est pas en **red**.
|
||||||
/usr/lib/nagios/plugins/check_http -I 127.0.0.1 -u /_cat/health?h=st -p 9200 -r 'red' --invert-regex
|
/usr/lib/nagios/plugins/check_http -I 127.0.0.1 -u /_cat/health?h=st -p 9200 -r 'red' --invert-regex
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
## Snapshost et sauvegardes
|
## Snapshots et sauvegardes
|
||||||
|
|
||||||
### Configuration des snapshots
|
### Configuration des snapshots
|
||||||
|
|
||||||
* Documentation http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-snapshots.html
|
Documentation : <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-snapshots.html>
|
||||||
|
|
||||||
Il faut définir un répertoire pour stocker les snapshots :
|
Il faut définir un répertoire pour stocker les snapshots :
|
||||||
|
|
||||||
|
@ -155,7 +154,7 @@ Il faut définir un répertoire pour stocker les snapshots :
|
||||||
# chown elasticsearch: /home/backup-elasticsearch
|
# chown elasticsearch: /home/backup-elasticsearch
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
*Note :* en cas de cluster multi-nœuds, le répertoire de snapshots doit impérativement être partagé entre chaque nœud, classiquement via NFS, car chaque nœud ne gère que ses propres données.
|
*Note* : en cas de cluster multi-nœuds, le répertoire de snapshots doit impérativement être partagé entre chaque nœud, classiquement via NFS, car chaque nœud ne gère que ses propres données.
|
||||||
|
|
||||||
On précise le répertoire des snapshots dans la configuration `/etc/elasticsearch/elasticsearch.yml` :
|
On précise le répertoire des snapshots dans la configuration `/etc/elasticsearch/elasticsearch.yml` :
|
||||||
|
|
||||||
|
@ -170,7 +169,7 @@ $ curl -XPUT 'http://localhost:9200/_snapshot/foo' -d '{
|
||||||
"type": "fs",
|
"type": "fs",
|
||||||
"settings": {
|
"settings": {
|
||||||
"location": "/home/backup-elasticsearch",
|
"location": "/home/backup-elasticsearch",
|
||||||
"compress": true
|
"compress": true
|
||||||
}
|
}
|
||||||
}'
|
}'
|
||||||
{"acknowledged":true}
|
{"acknowledged":true}
|
||||||
|
@ -204,6 +203,7 @@ Pour créer un snapshot dans l'ensemble **foo** :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
$ curl -s -XPUT "localhost:9200/_snapshot/foo/snapshot_test?wait_for_completion=true"
|
$ curl -s -XPUT "localhost:9200/_snapshot/foo/snapshot_test?wait_for_completion=true"
|
||||||
|
|
||||||
$ ls -l /home/backup-elasticsearch
|
$ ls -l /home/backup-elasticsearch
|
||||||
-rw-r--r-- 1 elasticsearch elasticsearch 34 Apr 11 01:35 index
|
-rw-r--r-- 1 elasticsearch elasticsearch 34 Apr 11 01:35 index
|
||||||
drwxr-xr-x 22 elasticsearch elasticsearch 4096 Apr 11 01:35 indices
|
drwxr-xr-x 22 elasticsearch elasticsearch 4096 Apr 11 01:35 indices
|
||||||
|
@ -222,7 +222,7 @@ Lister les snapshots :
|
||||||
~~~
|
~~~
|
||||||
$ curl -XGET "localhost:9200/_snapshot/foo/_all?pretty=true"
|
$ curl -XGET "localhost:9200/_snapshot/foo/_all?pretty=true"
|
||||||
|
|
||||||
---
|
[...]
|
||||||
"snapshots" : [ {
|
"snapshots" : [ {
|
||||||
"snapshot" : "snapshot_201403190415",
|
"snapshot" : "snapshot_201403190415",
|
||||||
"indices" : [...],
|
"indices" : [...],
|
||||||
|
@ -232,7 +232,7 @@ $ curl -XGET "localhost:9200/_snapshot/foo/_all?pretty=true"
|
||||||
"end_time" : "2014-03-19T03:16:33.381Z",
|
"end_time" : "2014-03-19T03:16:33.381Z",
|
||||||
"end_time_in_millis" : 1395198993381,
|
"end_time_in_millis" : 1395198993381,
|
||||||
"duration_in_millis" : 90001,
|
"duration_in_millis" : 90001,
|
||||||
...
|
[...]
|
||||||
"snapshot" : "snapshot_201403201222",
|
"snapshot" : "snapshot_201403201222",
|
||||||
"indices" : [...],
|
"indices" : [...],
|
||||||
"state" : "SUCCESS",
|
"state" : "SUCCESS",
|
||||||
|
@ -284,10 +284,10 @@ hot_${i}"; done
|
||||||
|
|
||||||
## cluster
|
## cluster
|
||||||
|
|
||||||
<https://www.elastic.co/guide/en/elasticsearch/reference/2.4/modules-cluster.html>
|
<https://www.elastic.co/guide/en/elasticsearch/reference/5.0/modules-cluster.html>
|
||||||
|
|
||||||
Si l'on compare à d'autres services (MySQL, PostgreSQL, MongoDB..) la gestion d'un cluster Elasticsearch est vraiment simple.
|
Si l'on compare à d'autres services (MySQL, PostgreSQL, MongoDB…) la gestion d'un cluster Elasticsearch est vraiment simple.
|
||||||
Il faut lancer plusieurs instances Elasticsearch sur un réseau avec le même **cluster.name** et un **node.name** différent, et il suffitd'indiquer une (ou plusieurs) adresse(s) IP qui va permettre à l'instance de communiquer avec un (ou plusieurs) autre(s) nœud(s) :
|
Il faut lancer plusieurs instances Elasticsearch sur un réseau avec le même **cluster.name** et un **node.name** différent, et il suffit d'indiquer une (ou plusieurs) adresse(s) IP qui va permettre à l'instance de communiquer avec un (ou plusieurs) autre(s) nœud(s) :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
cluster.name: foo
|
cluster.name: foo
|
||||||
|
@ -438,6 +438,7 @@ Recréons un index de test :
|
||||||
~~~
|
~~~
|
||||||
$ curl -X DELETE localhost:9200/planet
|
$ curl -X DELETE localhost:9200/planet
|
||||||
{"acknowledged":true}
|
{"acknowledged":true}
|
||||||
|
|
||||||
$ curl -X PUT localhost:9200/planet -d '
|
$ curl -X PUT localhost:9200/planet -d '
|
||||||
{
|
{
|
||||||
"mappings": {
|
"mappings": {
|
||||||
|
|
Loading…
Reference in a new issue