2016-08-10 1 views
0

Malgré ElasticSearch et Kibana à la fois en cours d'exécution sur mon serveur de production, je suis incapable de visiter l'interface graphique sur l'adresse IP publique: http://52.4.153.19:5601/interface web Kibana ne se charge pas

boucles Localhost retour 200 mais des erreurs console sur le rapport du navigateur les délais d'attente après quelques images sont récupérées.

J'ai réussi à installer, exécuter et accéder à Kibana sur mon environnement local (Windows 10) et sur mon environnement de mise en attente AWS EC2 Ubuntu 14.04. Je suis capable d'accéder à la fois sur le port 5601 sur localhost et l'environnement de transfert est accessible via l'adresse IP publique et tous les domaines sont adressés en conséquence. Le proxy inverse fonctionne également et tous les indicateurs d'état sont verts sur le tableau de bord.

Je suis en Kibana 4.5, ElasticSearch 2.3.1, Apache 2.4.12

J'ai utilisé le même volume exact de l'environnement de travail pour attacher à l'instance de production, donc tout est identique sur les deux volumes, à l'exception du fait que apache vhost de l'environnement intermédiaire utilise un sous-domaine alors que le nom de serveur de l'environnement de production est le domaine de base. Les deux sont configurés pour les caractères génériques SSL. Les deux sont dans des zones de disponibilité séparées sur Amazon. J'ai essayé de modifier le bloc de serveur pour utiliser un sous-domaine sur le serveur de production, juste pour voir si le domaine était percutant mais l'erreur persiste.

J'ai également essayé d'exécuter une instance individuellement, dans le cas où EC2 a eu une sorte d'erreur de réseau avec 0.0.0.0 mais je suis incapable de parvenir à une résolution. Tous les journaux et les configurations sont identiques entre les deux serveurs pour ElasticSearch et Kibana. J'ai essayé de supprimer et de recréer l'index de kibana, essayé d'autres paramètres incluant l'hôte, elasticsearch url, étendant le ping max et le timeout, max tentatives, étendu les limites d'apache, http.cors pour permettre différentes origines . J'ai essayé d'autres ports mais les deux serveurs indiquent que 5601 écoute de la même manière.

J'ai également eu le même problème sur un volume complètement différent qui était précédemment attaché à cette instance. La seule différence que je peux voir est que la version de travail pings bien alors que la version non-travail a une perte de paquets de 100% en envoyant un ping à l'IP, bien que je ne puisse pas imaginer pourquoi ce serait, car je suis capable pour atteindre le site Web sur 80, très bien. Je peux également accéder à divers autres outils fonctionnant sur d'autres ports. Je suppose qu'il pourrait y avoir un conflit de réseau. Des idées?

+0

Avez-vous vérifié que le port 5601 du serveur de transfert est accessible à partir de l'adresse IP publique, pouvez-vous vérifier à nouveau les règles de votre pare-feu? Les délais d'attente surviennent principalement lorsque la requête n'atteint pas le serveur requis et qu'aucun corps n'est là pour répondre. –

+0

Le serveur de transfert n'est pas un problème. Pour être clair, quand je dis que j'ai «accédé à kibana», je le fais sur l'IP publique à 5601. Chaque port ouvert et accessible sur scène est également ouvert et accessible en direct (22, 80, 443, 10000 , etc.) provenant d'IP et de domaines publics. Seulement 5601 en direct échoue mais les deux serveurs ont des iptables identiques. Même si j'essaie de lier kibana ou elasticsearch à des ports non standard, j'ai toujours le même problème. – user1858516

+0

Avez-vous lié IP aussi pour kibana? –

Répondre

0

Désolé, oublié de mettre à jour cette question. La réponse a été que j'avais simplement besoin de déployer une nouvelle instance. Simplement en créant un clone de l'instance, j'ai été capable de résoudre le problème. J'ai eu des problèmes de mise en réseau chez AWS, auparavant, avec leurs conflits internes DNS/IP, donc j'ai dû le faire, par le passé et cela s'est avéré être la solution la plus rapide et la plus propre, mais ne fournissant aucun aperçu la cause.

0

Peut être le port 5601 est bloqué par le pare-feu

Autoriser les connexions entrantes sur le port 5601 par:

sudo iptables -I INPUT -p tcp --dport 5601 -j ACCESS 

Pour plus de sécurité:

Modifier commande ci-dessus et accepter la connexion que d'adresse spécifique. (Voir man iptables)

ou utilisez Shield plug-in pour elasticseach

+0

Le port 5601 n'est pas bloqué. Cette règle était déjà configurée (accepter, pas accéder). Les deux serveurs ont des iptables identiques et netstat montre les mêmes résultats d'écoute pour les deux. Aussi, comme indiqué, les journaux montrent les mêmes résultats que le serveur sain. Kibana verbose montre aussi la connexion à Elasticsearch. Je peux faire des appels ElasticSearch sur les deux serveurs à distance de mes services Web sur les ports 80 et 443. Je vais donner un coup de bouclier mais comment cela va-t-il résoudre ce problème s'il n'est pas nécessaire sur l'autre serveur? – user1858516

+0

Étant donné que l'instance du serveur de dev fonctionnait sans erreur avec un volume identique, j'avais l'impression qu'il y avait un conflit de réseau chez AWS avec cette instance particulière. J'ai créé une nouvelle instance live en tant que clone du serveur live qui ne fonctionnait pas et cela a immédiatement fonctionné. Je ne peux pas tout à fait l'expliquer, mais si je ne fais que jeter le travail qui ne marche pas, cela me permettra au moins de le faire. – user1858516