Logstash avec Elasticsearch
Je suis en train d'essayer de se connecter Logstash avec Elasticsearch, mais ne peut pas le faire fonctionner.
Voici mon logstash conf:
input {
stdin {
type => "stdin-type"
}
file {
type => "syslog-ng"
# Wildcards work, here :)
path => [ "/var/log/*.log", "/var/log/messages", "/var/log/syslog" ]
}
}
output {
stdout { }
elasticsearch{
type => "all"
embedded => false
host => "192.168.0.23"
port => "9300"
cluster => "logstash-cluster"
node_name => "logstash"
}
}
Et j'ai seulement changé ces détails dans mon elasticsearch.yml
cluster.name: logstash-cluster
node.name: "logstash"
node.master: false
network.bind_host: 192.168.0.23
network.publish_host: 192.168.0.23
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["localhost"]
Avec ces configurations, je ne pouvais pas faire Logstash connecter à l'ES. Quelqu'un peut s'il vous plaît suggérer l'endroit où je vais mal?
source d'informationauteur Fatih Karatana
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, je suggère correspondant à votre "type" d'attributs.
Dans votre entrée, vous avez 2 types différents, et dans votre sortie vous avez un type qui n'existe pas dans l'un de vos entrées.
Pour tester, changer votre sortie:
Alors,avez-vous créé un indice sur votre ES exemple?
Dans les guides que j'ai utilisé, et de ma propre expérience (d'autres peuvent avoir une autre solution qui fonctionne) j'ai toujours utilisé un indice, de sorte que lorsque que j'appuie sur quelque chose en ES, je peux utiliser l'API ES et de vérifier rapidement si les données ont disparu ou pas.
Une autre suggestion serait de simplement exécuter votre Logstash transitaire et de l'indexeur avec les indicateurs de débogage pour voir ce qui se passe derrière les coulisses.
Pouvez vous connecter à votre ES exemple sur 127.0.0.1? Aussi, essayez d'expérimenter avec le port et l'hôte. Comme un assez nouvel utilisateur de la Logstash système, j'ai trouvé que ma compréhension au début allaient à l'encontre de la réalité de l'installation. Parfois, l'IP de l'hôte n'est pas ce que vous en pensez, ainsi que le port. Si vous êtes prêt à vérifier votre réseau et d'identifier les ports à l'écoute et IPs, alors vous pouvez régler cette question, sinon n'intelligente, d'essai et d'erreur.
Je recommande fortement ce guide comme point de départ. Les deux points que j'ai mentionnés sont (in)directement abordés dans le guide. Alors que le guide a un peu plus complexe du point de départ, les idées et les concepts sont complets.
Ce qui m'est arrivé lorsque mon logstash et elasticsearch, les versions sont désynchronisés
de la documentation:
Réglage
protocol => http
explicitement comme indiqué ci-dessus, il fixe pour moi.Comme Adam dit, la chose était le réglage du protocole, ainsi que pour les tests que j'ai fait:
Et qui semble être de travailler sur OSX. Question ici.
Suivante est testée sur
et
(J'ai utiliser docker conteneur sur OpenStack)
Pour Elasticsearch :
/usr/share/elasticsearch/config/elasticsearch.yml
devrait ressembler comme suit -Pas de changement dans tous les autres fichiers de
/usr/share/elasticsearch/config/
est nécessaireExécuter Elasticsearch à l'aide de commande simple
Pour Logstash :
/usr/share/logstash/config/logstash.yml
devrait ressembler comme suit -Pas de changement dans tous les autres fichiers de
/usr/share/logstash/config/
est nécessaire/usr/share/logstash/pipeline/logstash.conf
devrait ressembler comme suit -Exécuter Logstash à l'aide de commande simple
NOTE : ne pas faire de configuration avant de procéder à conteneurs Docker. À la première exécution du conteneur à l'aide de commandes simples comme mentionné ci-dessus. Ensuite, allez à la correspondante de la dir, effectuer les modifications nécessaires, à les enregistrer, à la sortie du conteneur & redémarrer le conteneur, les modifications seront prises en compte.
J'ai eu le même message d'erreur, et il m'a fallu un certain temps pour découvrir dans le journal de suivi de elasticsearch du processus de découverte que l'adresse ip logstash utilisait était incorrect.
J'ai eu plusieurs adresses ip et logstash utilisé le mauvais. Après cela, tout s'est bien passé.
J'ai un cluster à deux nœuds de elastisearch, et un seul pour logstatsh.
Cette config fonctionne pour moi:
Nœud elk1:
root@elk1:
Nœud elk2:
Tout d'abord,vous n'avez pas besoin de créer un index dans l'ES.
Parce que,vous ne pas nécessité de créer des "index" dans elasticsearch;lorsque le logstash affecter l'index,l'index sera créé automatiquement.
Par ailleurs,si vous ne définissez pas la valeur de l'index,il sera définie comme valeur par défaut "logstash-%{+AAAA.MM.jj}"
(vous pouvez vérifier cela dans logstash guide officiel)~
Seconde,vous pouvez pas garder votre "élastique" du même type que votre "type d'entrée";vous pouvez également écrire votre sortie comme ceci:
Avec le "document_type",vous pouvez enregistrer vos journaux dans le type que vous voulez~
Enfin,si vous ne voulez pas assigner le "document_type";elle sera la même chose avec votre "type d'entrée"
Ou même que vous oublier de donner le type de "tous les fichier de configuration";le type sera défini comme valeur par défaut comme journaux~
OK,profitez-en~