Obtenir la version de logstash

11

Comment obtient-on la version de Logstash?

root@elk:/usr/share/elasticsearch# bin/logstash --help
bash: bin/logstash: No such file or directory

J'ai Logstash en cours d'exécution sur mon système. Également.

root@elk:/# logstash -V
bash: logstash: command not found

Également.

root@elk:/# ps aux | grep logstash
logstash  1725 45.3  8.5 1942860 175936 ?      SNl  22:03   0:35 /usr/bin/java -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Djava.awt.headless=true -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=/opt/logstash -Xmx500m -Xss2048k -Djffi.boot.library.path=/opt/logstash/vendor/jruby/lib/jni -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Djava.awt.headless=true -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=/opt/logstash -XX:HeapDumpPath=/opt/logstash/heapdump.hprof -Xbootclasspath/a:/opt/logstash/vendor/jruby/lib/jruby.jar -classpath : -Djruby.home=/opt/logstash/vendor/jruby -Djruby.lib=/opt/logstash/vendor/jruby/lib -Djruby.script=jruby -Djruby.shell=/bin/sh org.jruby.Main --1.9 /opt/logstash/lib/bootstrap/environment.rb logstash/runner.rb agent -f /etc/logstash/conf.d -l /var/log/logstash/logstash.log
root      1777  0.0  0.0   8860   636 ?        S+   22:05   0:00 grep --color=auto logstash

Plus.

root@elk:/opt/logstash/bin# ls
logstash  logstash.bat  logstash.lib.sh  plugin  plugin.bat  rspec  rspec.bat  setup.bat
root@elk:/opt/logstash/bin# logstash -V
bash: logstash: command not found
Karl Morrison
la source
2
Vous devez d'abord le trouver.
Michael Hampton
1
@MichaelHampton Où réside-t-il normalement? Google n'a pas été très informatif, j'en ai peur.
Karl Morrison
Eh? Vous ne l'avez pas installé? Trouvez celui qui l'a fait. Ou regardez simplement autour du système dans les endroits évidents.
Michael Hampton
@MichaelHampton Je ne l'ai pas installé. Assez courant lorsque vous travaillez sur un projet que quelqu'un d'autre a configuré.
Karl Morrison

Réponses:

21

Logstash est l'une de ces choses qui ne vivent tout simplement pas là où vous vous attendez à ce qu'il vive, et la documentation est vraiment très légère (lire: inexistante) sur l'endroit où ils s'attendent à ce que vous trouviez des choses, donc si vous l'avez installé à partir de un package alors il peut être presque impossible de trouver l'emplacement prévu documenté. 1

Logstash vit généralement /opt/logstashet vous pouvez trouver le logstashbinaire dans le bindossier ( /opt/logstash/bin).

De là, vous pouvez exécuter -Vou--version

./logstash -v

ou

./logstash --version

D'après vos commentaires sur une autre réponse, il semblerait que ce soit dans un conteneur Docker. C'est le genre de chose que vous devriez vraiment inclure dans votre question d'origine.

Vous voudrez faire usage de docker exec. Vous devrez utiliser docker pspour répertorier vos conteneurs et le transmettre à votre docker execcommande.

Par exemple:

docker exec -d elk_container /opt/logstash/bin/logstash --version

1 Je ne veux pas que cela soit mal interprété. La documentation de Logstash est excellente - ce ne sont que les parties sur lesquelles tous les différents bits devraient vivre qui sont impossibles à trouver

Mark Henderson
la source
1
MERCI! Je vois que le gang élitiste est en train de vous voter aussi! J'essaie d'apprendre les cordes ici mais comme vous l'avez dit et je suis entièrement d'accord avec vous, la documentation est incroyablement pauvre (dans ce domaine) . J'ai mis à jour la question avec plus de sortie depuis la console!
Karl Morrison
@KarlMorrison Vous devez faire ./logstash, ou utiliser le chemin complet comme je l'ai indiqué dans ma réponse.
Mark Henderson
1
Cela a pris environ 20 secondes mais la commande a root@elk:/opt/logstash/bin# ./logstash --versionfait l'affaire! Je vous remercie! J'ai voté positivement mais quelqu'un a apparemment voté contre toi (?).
Karl Morrison
2
@KarlMorrison Appeler les gens "le gang élitiste" ne vous aide pas. La révision originale de votre question ressemblait à beaucoup d'autres questions que nous recevons de personnes qui s'attendent à ce que nous fassions leurs recherches pour elles. Il n'a pas indiqué que vous aviez essayé de lire la documentation. Et / opt est l'un des endroits évidents pour chercher des choses ...
Michael Hampton
1
Eh bien, c'est mon terme pour les personnes qui ne font pas de bien à la communauté d'échange de pile (les pires sont de loin en mathématiques). Oui, je suis dans la documentation depuis environ trois jours maintenant, avant Logstash, je souffrais avec Sensu. Je mets toujours à jour mes questions après plus d'informations si nécessaire. De plus, comme je ne suis pas un administrateur système, je ne sais pas toujours quoi inclure dans la question pour le rendre plus facile, lorsque les gens demandent bien sûr, j'ajoute plus d'informations. Cependant, je ne prends pas la fermeture du sujet sans raison ni la publication de réponses moqueuses à la légère. Vous y laissera maintenant, merci encore!
Karl Morrison
6

Sur Logstash 5.x sur CentOS / Red Hat:

Emplacement du binaire logstash: /usr/share/logstash/bin/

Ensuite, cela vous indiquera la version: ./logstash -V

Jonesome Reinstate Monica
la source
2

Essayez find /-type f -name "logstash" 2>/dev/nullde trouver logstash, le retour prendra un certain temps.

Ensuite, avec l'emplacement de logstash, exécutez le binaire avec le --versiondrapeau

Douglas P.
la source
C'est dans un conteneur docker. Cette commande ne fonctionnera pas.
EEAA
0

De la documentation :

-V, --version Display the version of Logstash.

(ce qui m'a pris environ 30 secondes pour trouver, soit dit en passant)

EEAA
la source
1
Doh. Mis à jour la question.
Karl Morrison
1
C'est à partir d'un Dockerfile assez compliqué que je n'ai pas le temps de décoder et d'apprendre, je suis occupé à travailler ...
Karl Morrison
3
D'accord, et une partie de votre travail consiste à comprendre des choses comme ça. Comment sommes-nous censés savoir où logstash est installé dans votre environnement spécifique ?
EEAA
1
Je suis ingénieur logiciel / informaticien. Anyhows Mark a répondu parfaitement et a amélioré cette communauté. (Des questions stupides continueront à arriver jusqu'à ce qu'elles reçoivent une réponse, via une meilleure documentation ou des gens comme Mark, juste en disant)
Karl Morrison
1
@KarlMorrison Je comprends que vous êtes un "ingénieur logiciel / informaticien". Moi aussi. Vous effectuez des tâches d'administration de systèmes, cependant, ce qui fait de ce genre de chose une partie de votre travail. Nous attendons des gens qui posent des questions qu'ils fassent leurs propres recherches. Venir ici pour poser des questions sur logstash, et ne pas avoir la moindre idée de l'endroit où il est installé échoue au test de «recherche».
EEAA
0

Mon logstash sur Linux 17.04, logstash a été trouvé à: /usr/share/logstash. Cependant, les fichiers de configuration se trouvent à l'adresse /etc/logstash. J'ai dû copier les fichiers de configuration vers le nouvel emplacement: /usr/share/logstash/configpour que logstash fonctionne.

julien
la source
0

Tout d'abord, vous devrez trouver le chemin d'accès à logstash. Essayez de le rechercher en exécutant updatedb && locate logstash/bin. J'ai trouvé le mien /usr/share/logstash/bin.

L'exécution de logstash avec les indicateurs " -v" ou " --version" devrait renvoyer la version.

Mweya Ruider
la source
1
Cette réponse suppose que vous avez locateinstallé. Sinon, les réponses ci-dessus devraient fonctionner :)
Mweya Ruider
-1

Pour vérifier la version de logstash à partir du serveur, exécutez la commande ci-dessous: cd / usr / share / logstash; ./bin/logstash -V

user459893
la source
-3

Logstash conserve son identité de version dans un fichier rubis, c'est-à-dire version.rb Dans Ubuntu, vous pouvez trouver le fichier de version à l'emplacement suivant. Alors, utilisez cecicat /opt/logstash/lib/logstash/version.rb

user2481458
la source
Ajouter quelques détails à ce sujet améliorerait la réponse
Dave M