docker-composer.yml pour elasticsearch et kibana
Mon but est d'obtenir le elasticsearch et kibana images de DockerHub de travail localement à l'aide de Docker.
Cela fait l'affaire et fonctionne parfaitement...
docker network create mynetwork --driver=bridge
docker run -p 5601:5601 --name kibana -d --network mynetwork kibana
docker run -p 9200:9200 -p 9300:9300 --name elasticsearch -d --network mynetwork elasticsearch
Aujourd'hui un oiseau chuchota dans mon oreille et me dit que je devrais apprendre docker-composer. J'ai essayé de faire tout ce qui est ci-dessus à l'intérieur d'un menu fixe-composer.yml.
Ici est une tentative de ma part.
version: "2.0"
services:
elasticsearch:
image: elasticsearch:latest
ports:
- "9200:9200"
- "9300:9300"
networks:
- docker_elk
kibana:
image: kibana:latest
ports:
- "5601:5601"
networks:
- docker_elk
networks:
docker_elk:
driver: bridge
Malheureusement cela ne fonctionne pas. J'ai cassé mon cerveau pourquoi je reçois toujours le ECONNREFUSED l'erreur comme indiqué ci-dessous lorsque je lance le menu fixe-compse.
$ docker-compose up
Starting training_elasticsearch_1
Recreating training_kibana_1
Attaching to training_elasticsearch_1, training_kibana_1
elasticsearch_1 | [2016-11-02 22:39:55,798][WARN ][bootstrap ] unable to install syscall filter: seccomp unavailable: your kernel is buggy and you should upgrade
elasticsearch_1 | [2016-11-02 22:39:56,036][INFO ][node ] [Caliban] version[2.4.1], pid[1], build[c67dc32/2016-09-27T18:57:55Z]
elasticsearch_1 | [2016-11-02 22:39:56,036][INFO ][node ] [Caliban] initializing ...
elasticsearch_1 | [2016-11-02 22:39:56,713][INFO ][plugins ] [Caliban] modules [reindex, lang-expression, lang-groovy], plugins [], sites []
elasticsearch_1 | [2016-11-02 22:39:56,749][INFO ][env ] [Caliban] using [1] data paths, mounts [[/usr/share/elasticsearch/data (/dev/vda2)]], net usable_space [54.8gb], net total_space [59gb], spins? [possibly], types [ext4]
elasticsearch_1 | [2016-11-02 22:39:56,749][INFO ][env ] [Caliban] heap size [990.7mb], compressed ordinary object pointers [true]
kibana_1 | {"type":"log","@timestamp":"2016-11-02T22:39:58Z","tags":["status","plugin:[email protected]","info"],"pid":11,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
kibana_1 | {"type":"log","@timestamp":"2016-11-02T22:39:58Z","tags":["status","plugin:[email protected]","info"],"pid":11,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
kibana_1 | {"type":"log","@timestamp":"2016-11-02T22:39:58Z","tags":["error","elasticsearch"],"pid":11,"message":"Request error, retrying -- connect ECONNREFUSED 172.20.0.2:9200"}
kibana_1 | {"type":"log","@timestamp":"2016-11-02T22:39:58Z","tags":["status","plugin:[email protected]","info"],"pid":11,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
kibana_1 | {"type":"log","@timestamp":"2016-11-02T22:39:58Z","tags":["warning","elasticsearch"],"pid":11,"message":"Unable to revive connection: http://elasticsearch:9200/"}
kibana_1 | {"type":"log","@timestamp":"2016-11-02T22:39:58Z","tags":["warning","elasticsearch"],"pid":11,"message":"No living connections"}
kibana_1 | {"type":"log","@timestamp":"2016-11-02T22:39:58Z","tags":["status","plugin:[email protected]","error"],"pid":11,"state":"red","message":"Status changed from yellow to red - Unable to connect to Elasticsearch at http://elasticsearch:9200.","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
kibana_1 | {"type":"log","@timestamp":"2016-11-02T22:39:58Z","tags":["status","plugin:[email protected]","info"],"pid":11,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
kibana_1 | {"type":"log","@timestamp":"2016-11-02T22:39:58Z","tags":["status","plugin:[email protected]","info"],"pid":11,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
kibana_1 | {"type":"log","@timestamp":"2016-11-02T22:39:58Z","tags":["status","plugin:[email protected]","info"],"pid":11,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
kibana_1 | {"type":"log","@timestamp":"2016-11-02T22:39:58Z","tags":["status","plugin:[email protected]","info"],"pid":11,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
kibana_1 | {"type":"log","@timestamp":"2016-11-02T22:39:58Z","tags":["status","plugin:[email protected]","info"],"pid":11,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
kibana_1 | {"type":"log","@timestamp":"2016-11-02T22:39:58Z","tags":["listening","info"],"pid":11,"message":"Server running at http://0.0.0.0:5601"}
elasticsearch_1 | [2016-11-02 22:39:58,515][INFO ][node ] [Caliban] initialized
elasticsearch_1 | [2016-11-02 22:39:58,515][INFO ][node ] [Caliban] starting ...
elasticsearch_1 | [2016-11-02 22:39:58,587][INFO ][transport ] [Caliban] publish_address {172.20.0.2:9300}, bound_addresses {[::]:9300}
elasticsearch_1 | [2016-11-02 22:39:58,594][INFO ][discovery ] [Caliban] elasticsearch/1Cf9qz7CSCqHBEEuwG7PQw
kibana_1 | {"type":"log","@timestamp":"2016-11-02T22:40:00Z","tags":["warning","elasticsearch"],"pid":11,"message":"Unable to revive connection: http://elasticsearch:9200/"}
kibana_1 | {"type":"log","@timestamp":"2016-11-02T22:40:00Z","tags":["warning","elasticsearch"],"pid":11,"message":"No living connections"}
elasticsearch_1 | [2016-11-02 22:40:01,650][INFO ][cluster.service ] [Caliban] new_master {Caliban}{1Cf9qz7CSCqHBEEuwG7PQw}{172.20.0.2}{172.20.0.2:9300}, reason: zen-disco-join(elected_as_master, [0] joins received)
elasticsearch_1 | [2016-11-02 22:40:01,661][INFO ][http ] [Caliban] publish_address {172.20.0.2:9200}, bound_addresses {[::]:9200}
elasticsearch_1 | [2016-11-02 22:40:01,661][INFO ][node ] [Caliban] started
elasticsearch_1 | [2016-11-02 22:40:01,798][INFO ][gateway ] [Caliban] recovered [1] indices into cluster_state
elasticsearch_1 | [2016-11-02 22:40:02,149][INFO ][cluster.routing.allocation] [Caliban] Cluster health status changed from [RED] to [YELLOW] (reason: [shards started [[.kibana][0]] ...]).
kibana_1 | {"type":"log","@timestamp":"2016-11-02T22:40:03Z","tags":["status","plugin:[email protected]","info"],"pid":11,"state":"green","message":"Status changed from red to green - Kibana index ready","prevState":"red","prevMsg":"Unable to connect to Elasticsearch at http://elasticsearch:9200."}
^CGracefully stopping... (press Ctrl+C again to force)
Stopping training_kibana_1 ... done
Stopping training_elasticsearch_1 ... done
Quelqu'un peut s'il vous plaît aidez-moi pourquoi?
grâce
Avez-vous essayé de re-démarrage Kibana? Peut-être elasticsearch n'est pas entièrement quand Kibana essaye de s'y connecter?
Salut @R0MANARMY. Je pense que vous avez raison. Pouvez-vous vérifier les informations supplémentaires que j'ai mis dans les journaux pour confirmer. Votre commentaire m'a invité à ajouter des supplémentaires les informations du journal pour illustrer davantage sur ce qui se passe. La correction est-elle d'ajouter un début de dépendance ou d'une séquence dans le panneau-composer des fichiers? Comment voudriez-vous faire cela.
Salut @R0MANARMY. Je pense que vous avez raison. Pouvez-vous vérifier les informations supplémentaires que j'ai mis dans les journaux pour confirmer. Votre commentaire m'a invité à ajouter des supplémentaires les informations du journal pour illustrer davantage sur ce qui se passe. La correction est-elle d'ajouter un début de dépendance ou d'une séquence dans le panneau-composer des fichiers? Comment voudriez-vous faire cela.
OriginalL'auteur Richie | 2016-11-02
Vous devez vous connecter pour publier un commentaire.
D'ajouter la dépendance matérielle sur elasticsearch pour kibana, vous avez besoin de la depends_on variable à définir comme indiqué ci-dessous. Aussi, pour ajouter à @Phil McMillan réponse, vous pouvez définir la elasticsearch_url variable dans kibana, sans adressage statique à l'aide de Docker est intégré DNS mécanisme.
Note la variable d'environnement ELASTICSEARCH_URL=http://elasticsearch:9200 utilise juste a le nom de conteneur (elasticsearch) qui le Docker serveur DNS est en mesure de résoudre.
- docker-elf
au lieu dedocker-elk:
dans la section des réseaux deelasticsearch:
?Désolé, ça fait tellement longtemps que je ne me souviens pas, mais je pense que docker-elk est juste un nom de variable pour le réseau.
OriginalL'auteur oche
Vous devez inclure le
links
.Mis à JOUR
Lors de l'utilisation de l'image
elasticsearch:latest
, c'est Elasticsearch5.0
et nous oblige à augmenter notre Panneau d'accueil de la mémoire virtuelle.Avant l'exécution de la
docker-compose
, assurez-vous d'exécuter cette commande sur votre Panneau d'accueil.Linux:
Windows (boot2docker)
Si vous ne voulez pas changer votre Panneau d'accueil, il suffit d'utiliser la Elasticsearch
2.x
image àelasticsearch:2
Salut @Tuan. Je pensais que les services en cours d'exécution sur le même réseau a été suffisant pour les faire parler. En fait je pensais réseaux a été le successeur de liens? Mais vous dites que vous avez besoin d'utiliser les deux ensemble?
la meilleure façon de le vérifier est d'aller dans le kibana conteneur. En commençant par le
docker-compose -d up
. Accéder à la kibana pardocker exec -it training_kibana_1 /bin/bash
, puiscurl http://elasticsearch:9200/
.vous obtenez cette erreur dans Elasticsearch
max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
? Si oui, nous devons augmenter la vm.max_map_count dans notre Panneau d'accueil. J'ai mis à jour ma réponse.Je ré-examiné vos journaux. Il ES
2.4.1
! Je crois que vous avez eu l'vieilles images de ES et Kibana. Vous pourriez avoir besoin de re-tirer avant l'exécution de docker-composer, commedocker pull elasticsearch
etdocker pull kibana
.OriginalL'auteur Tuan
J'ai ce travail. Pas de liens sont nécessaires et il n'a rien à voir avec elasticsearch avant le début de kibana. Le problème est que lors de l'exécution en vertu de composer, d'un nouveau pont réseau est défini avec son propre ensemble d'adresses ip. Kibana doit communiquer avec le cluster sur ce réseau ponté - "localhost" n'est plus disponible pour la connectivité.
Vous devez faire un certain nombre de choses:
un. elasticsearch.url dans kibana.yml (ou ELASTICSEARCH_URL en vertu de l'environnement: section de kibana dans la composition de fichier) doit être réglé à une adresse IP spécifique de la grappe et le port 9200 - localhost ne fonctionne pas, comme il le fait lorsque vous exécutez l'extérieur de composer.
b. Vous devez également définir le serveur.hôte (SERVER_HOST) à la bridged IP de la Kibana conteneur.
Remarque: vous avez toujours accès à la kibana de l'INTERFACE utilisateur de avec http://127.0.0.1:5601 et vous avez encore besoin de ces "ports" commandes!
Quelque chose comme cela devrait suffire:
N'oubliez pas d'utiliser l'une des méthodes documentées pour définir Kibana de configuration - ELASTICSEARCH_URL est nécessaire pour être fixé!
J'ai un menu fixe composer de fichier qui crée deux elasticsearch noeuds et d'une kibana instance en cours d'exécution sur le même réseau ponté. Il est possible.
OriginalL'auteur Phil McMillan