Bonjour, je veux monter un cluster ES de 3 machines avec x-pack.
J'ai commencé par monter 1 host avec mes données historiques métier, x-pack, kibana
Mon host a 2 cartes réseau, une connectée à internet et l'autre sur un réseau privé avec mes 2 autres machines du futur cluster. Pourquoi 2 cartes réseau? ben pour que mon cluster communique sur le port 9300 de la manière la plus opaque possible, et parce que j'ai des filebeat qui sont sur des host remote et qui poussent les données ( j'ai mis du IP-filtering de x-pack/security maitriser un peu cela).
J'ai rajouté une couche de firewall UFW sur l'interface publique (internet).
Donc 1 machine, 1 noeud, tout marche bien. Maintenant, je veux scaler:
Je crée 2 autres machines, elles ne communiquent toujours pas ensemble car j'ai pas configuré le discovery.zen.ping.unicast.hosts
Chacune tourne sur son host, pas de probleme, je vois ca dans les kibana respectifs.
Sur ces 2 autres machines, je ne pousse pas les données historiques.
voici ma configuration. elle est la même sur les 3 machines (script ansible)
cluster.name: wilco-lake
node.name: wilco-2
path.data: /home/wilco/data/elasticsearch
path.logs: /home/wilco/logs
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/${node.name}.p12
xpack.security.transport.ssl.truststore.path: certs/${node.name}.p12
xpack.security.audit.enabled: false
xpack.security.audit.outputs: [ ]
xpack.security.transport.filter.allow: [***les IP que j'autorise, en gros mes filebeats et les IP privées de mon cluster***]
xpack.security.transport.filter.deny: _all
xpack.security.audit.index.settings:
index:
number_of_shards: 1
number_of_replicas: 1
xpack.notification.email.account:
gmail_account:
profile: gmail
smtp:
auth: true
starttls.enable: true
host: smtp.gmail.com
port: 587
user: *********
password: **********
network.host: 0.0.0.0
network.publish_host: _enp1s0f1_ ***interface réseau de mon réseau privé***
DOnc j'ai lancé les 3 instances, chacune marche unitairement, je les stop. Je vérifie que les ports sont bien ouverts sur le réseau privé (nc -z <IP> 9300
)
Les machines communiquent OK sur le réseau privé.
Je rajoute ces lignes à la conf:
discovery.zen.ping.unicast.hosts: [***les IP de mon réseau privé***]
discovery.zen.minimum_master_nodes: 1
et je lance toutes les instances. et voici mon état:
je me retrouve avec 2 clusters. On dirait qu'il y a l'ancien et le nouveau:
Ensuite, j'ai plein d'erreurs dans la console, et notament des problemes comme celui là:
[2018-04-18T16:24:25,177][WARN ][o.e.g.DanglingIndicesState] [wilco-2] [[.watches/fYlzbpcFT--qfqGUrVRGxA]] can not be imported as a dangling index, as index with same name already exists in cluster metadata
ou encore:
[2018-04-18T16:24:40,327][ERROR][o.e.x.w.t.s.ExecutableScriptTransform] [wilco-2] failed to execute [script] transform for [UTIZbUvoTtizEv91Q260jQ_elasticsearch_cluster_status_ad1b7841-8957-45e4-8bad-036a91957c7b-2018-04-18T14:24:40.281Z]
org.elasticsearch.script.ScriptException: runtime error
at org.elasticsearch.painless.PainlessScript.convertToScriptException(PainlessScript.java:101) ~[?:?]
at org.elasticsearch.painless.PainlessScript$Script.execute(ctx.vars.email_recipient = (ctx.payload.kibana_settings.hits.total > 0) ? ctx.payload.kibana_settings.hits.hits[0]._source.kibana_settings.xpack.default_admin_email : null;ctx.vars.is_new = ctx.vars.fails_check && !ctx.vars.not_resolved;ctx.vars.is_resolve ...:1070) ~[?:?]
at org.elasticsearch.painless.ScriptImpl.run(ScriptImpl.java:105) ~[?:?]
at org.elasticsearch.xpack.watcher.transform.script.ExecutableScriptTransform.doExecute(ExecutableScriptTransform.java:69) ~[x-pack-watcher-6.2.2.jar:6.2.2]
at org.elasticsearch.xpack.watcher.transform.script.ExecutableScriptTransform.execute(ExecutableScriptTransform.java:53) ~[x-pack-watcher-6.2.2.jar:6.2.2]
at org.elasticsearch.xpack.watcher.transform.script.ExecutableScriptTransform.execute(ExecutableScriptTransform.java:38) ~[x-pack-watcher-6.2.2.jar:6.2.2]
at org.elasticsearch.xpack.watcher.execution.ExecutionService.executeInner(ExecutionService.java:481) ~[x-pack-watcher-6.2.2.jar:6.2.2]
at org.elasticsearch.xpack.watcher.execution.ExecutionService.execute(ExecutionService.java:322) ~[x-pack-watcher-6.2.2.jar:6.2.2]
at org.elasticsearch.xpack.watcher.execution.ExecutionService.lambda$executeAsync$7(ExecutionService.java:426) ~[x-pack-watcher-6.2.2.jar:6.2.2]
at org.elasticsearch.xpack.watcher.execution.ExecutionService$WatchExecutionTask.run(ExecutionService.java:580) [x-pack-watcher-6.2.2.jar:6.2.2]
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:573) [elasticsearch-6.2.2.jar:6.2.2]
- Quelqu'un peut me dire ce que c'est?
- est ce que mon cluster est bon?
- que dois je faire pour ne voir qu'un cluster dans kibana?
merci d'avance pour ces éclaircissements