2017-10-13 10 views
1

J'ai un cluster elasticsearch en cours d'exécution et j'essaie de connecter kibana à ce cluster (même nœud). Actuellement, la page se bloque lorsque j'essaie d'ouvrir le service dans mon navigateur en utilisant:. . Dans mes journaux pod Kibana, les derniers messages du journal dans le module sont:Connectez kibana à elasticsearch dans le cluster kubernetes

{"type":"log","@timestamp":"2017-10-13T17:23:46Z","tags":["listening","info"],"pid":1,"message":"Server running at http://0.0.0.0:5601"} 
{"type":"log","@timestamp":"2017-10-13T17:23:46Z","tags":["status","ui settings","error"],"pid":1,"state":"red","message":"Status changed from uninitialized to red - Elasticsearch plugin is red","prevState":"uninitialized","prevMsg":"uninitialized"} 
{"type":"log","@timestamp":"2017-10-13T17:23:49Z","tags":["status","plugin:[email protected]","error"],"pid":1,"state":"red","message":"Status changed from yellow to red - Request Timeout after 3000ms","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"} 

Mon fichier kibana.yml qui est monté dans la nacelle de Kibana a la configuration suivante:

server.name: kibana-logging 
server.host: 0.0.0.0 
elasticsearch.url: http://elasticsearch:9300 
xpack.security.enabled: false 
xpack.monitoring.ui.container.elasticsearch.enabled: true 

et mon ElasticSearch fichier .yml a les paramètres de configuration suivants (j'ai 3 gousses d'es)

cluster.name: elasticsearch-logs 
node.name: ${HOSTNAME} 
network.host: 0.0.0.0 

bootstrap.memory_lock: false 
xpack.security.enabled: false 
discovery.zen.minimum_master_nodes: 2 
discovery.zen.ping.unicast.hosts: ["172.17.0.3:9300", "172.17.0.4:9300", "172.17.0.4:9300"] 

je me sens comme la question est actuellement avec le domaine network.host mais je ne suis pas sûr. Quels sont les champs manquants/dois-je modifier pour me connecter à un pod kibana à elasticsearch s'ils sont dans le même cluster/nœud? Merci!

ES Service:

apiVersion: v1 
kind: Service 
metadata: 
    name: elasticsearch 
    labels: 
    component: elasticsearch 
    role: master 
spec: 
    type: NodePort 
    selector: 
    component: elasticsearch 
    role: master 
    ports: 
    - name: http 
    port: 9200 
    targetPort: 9200 
    nodePort: 30303 
    protocol: TCP 

Kibana Svc

apiVersion: v1 
kind: Service 
metadata: 
    name: kibana 
    namespace: default 
    labels: 
    component: kibana 
spec: 
    type: NodePort 
    selector: 
    component: kibana 
    ports: 
    - port: 80 
    targetPort: 5601 
    protocol: TCP 

EDIT: Après changement du port à 9200 kibana.yml est ici ce que je vois dans les journaux à la fin quand je tente accès kibana:

{"type":"log","@timestamp":"2017-10-13T21:36:30Z","tags":["listening","info"],"pid":1,"message":"Server running at http://0.0.0.0:5601"} 
{"type":"log","@timestamp":"2017-10-13T21:36:30Z","tags":["status","ui settings","error"],"pid":1,"state":"red","message":"Status changed from uninitialized to red - Elasticsearch plugin is red","prevState":"uninitialized","prevMsg":"uninitialized"} 
{"type":"log","@timestamp":"2017-10-13T21:36:33Z","tags":["status","plugin:[email protected]","error"],"pid":1,"state":"red","message":"Status changed from yellow to red - Request Timeout after 3000ms","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"} 
{"type":"log","@timestamp":"2017-10-13T21:37:02Z","tags":["error","elasticsearch","admin"],"pid":1,"message":"Request error, retrying\nPOST http://elasticsearch:9200/.reporting-*/esqueue/_search?version=true => getaddrinfo ENOTFOUND elasticsearch elasticsearch:9200"} 
{"type":"log","@timestamp":"2017-10-13T21:37:32Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://elasticsearch:9200/"} 
{"type":"log","@timestamp":"2017-10-13T21:37:33Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://elasticsearch:9200/"} 
{"type":"log","@timestamp":"2017-10-13T21:37:37Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://elasticsearch:9200/"} 
{"type":"log","@timestamp":"2017-10-13T21:37:38Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://elasticsearch:9200/"} 
{"type":"log","@timestamp":"2017-10-13T21:37:42Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://elasticsearch:9200/"} 
+0

Pouvez-vous poster vos définitions de service? Vous essayez de vous connecter à "elasticsearch.default: 9300" mais il n'est pas clair si vous l'avez exposé comme un service correctement. – vascop

+0

chose sûre, édité mon post pour ajouter les définitions de service, j'ai également changé mon fichier pour utiliser elasticsearch: 9300 au lieu d'ajouter la valeur par défaut – appdap1

Répondre

2

Le problème ici est que vous avez exposé Elasticsearch sur le port 9200 mais essayez de vous connecter au port 9300 dans votre fichier kibana.yml.

Vous devez soit modifier votre fichier kibana.yml à utiliser:

elasticsearch.url: http://elasticsearch:9200 

Ou changer le port dans le service ElasticSearch à 9300.

+0

Oh man, je dois avoir regardé cela pendant trop longtemps, j'ai complètement manqué ça. Merci! Cependant, changer le port ne semble pas avoir changé le résultat se bloque toujours – appdap1

+0

Lorsque j'essaie d'accéder à kibana en utilisant 'service minikube kibana' je vois le message d'erreur (voir modifier) ​​ – appdap1

+0

Vos 3 pods es sont en cours de découverte via le port 9300. Avez-vous exposé ce port avec un service? De plus, il est très difficile de coder les IP de pod comme ça. Avez-vous regardé dans statefulsets? – vascop