web-dev-qa-db-fra.com

Logstash configtest

J'ai couru le service configtest de logstash mais l'erreur donnée était:

logstash: service non reconnu

J'ai pu exécuter le service logstash individuellement, mais pas avec "configtest". Dans etc/logstash/conf.d/j'ai créé le fichier logstash.conf contenant le code ci-dessous: 

Information additionnelle:-

service logstash status
● logstash.service - logstash
   Loaded: loaded (/etc/systemd/system/logstash.service; disabled)
   Active: active (running) since Mon 2016-12-26 12:40:58 PST; 6s ago
 Main PID: 3512 (Java)
   CGroup: /system.slice/logstash.service
           └─3512 /usr/bin/Java -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX...

Dec 26 12:40:58 Mr systemd[1]: Started logstash.

Service en cours d'exécution avec configtest: -

root@Mr:/# service logstash configtest
logstash: unrecognized service

J'exécute ceci sur la machine debian8, j'espère que vous obtiendrez une bonne solution.

# This input block will listen on port 10514 for logs to come in.
# Host should be an IP on the Logstash server.
# codec => "json" indicates that we expect the lines we're receiving to be in JSON format
# type => "rsyslog" is an optional identifier to help identify messaging streams in the pipeline.

input {
  udp {
    Host => "logstash_private_ip"
    port => 10514
    codec => "json"
    type => "rsyslog"
  }
}

# This is an empty filter block.  You can later add other filters here to further process
# your log lines

filter { }

# This output block will send all events of type "rsyslog" to Elasticsearch at the configured
# Host and port into daily indices of the pattern, "rsyslog-YYYY.MM.DD"

output {
  if [type] == "rsyslog" {
    elasticsearch {
      hosts => [ "elasticsearch_private_ip:9200" ]
    }
  }
}
11
Shann

pour l'ancien logstash

/opt/logstash/bin/logstash --configtest -f /etc/logstash/conf.d/ 

Plus tard, il est devenu installé dans/usr/share/logstash, alors essayez soit 

/usr/share/logstash/bin/logstash --configtest -f <the config file/folder>

Ou si vous utilisez la version 5.1+, utilisez --config.test_and_exit

/usr/share/logstash/bin/logstash --config.test_and_exit -f <the config file/folder>
42
v_sukt

J'ai eu le même problème et cela m'a beaucoup aidé:

Si vous exécutez Logstash version 5, la commande suivante pour tester la configuration vous donnera une erreur:

Sudo /opt/logstash/bin/logstash --configtest -f /etc/logstash/conf.d/

La bonne commande pour le tester est:

Sudo -u logstash /usr/share/logstash/bin/logstash --path.settings /etc/logstash -t

J'utilise ELK + filebeat depuis Ubuntu Server 16.04 et mon résultat était: Envoi des journaux de Logstash à/var/log/logstash, qui est maintenant configuré via log4j2.properties Configuration OK

Sources: https://www.elastic.co/guide/en/logstash/current/running-logstash.html ; https://github.com/elastic/logstash/issues/6161

13
jefferson.macedo

Utilisation de l'image logstash Docker officielle pour valider un fichier local:

docker run -it -v /etc/logstash:/etc/logstash logstash /usr/share/logstash/bin/logstash -t -f /etc/logstash/logstash.conf

Cela suppose que votre fichier de configuration se trouve localement dans /etc/logstash, puis monte ce dossier dans le conteneur, sous le même chemin. Ensuite, le binaire peut trouver le fichier de configuration dans le conteneur.

Il pourrait y avoir un meilleur moyen d’exécuter cette commande, cela a fonctionné pour moi.

6
Jörn Zaefferer

pour logstash 5.1 sa 

/usr/share/logstash/bin/logstash --config.test_and_exit -f logstash.yml
6
samtoddler

Vous devriez le faire sur la version 7 de CentOS:

/etc/rc.d/init.d/logstash configtest /etc/logstash/conf.d/test.conf
1
bbotte.com

Si vous voulez tester vos configurations avec un conteneur docker logstash 6.x

docker run -it -v $PWD:/etc/logstash/conf.d --entrypoint "bin/logstash" logstash "--config.test_and_exit"
1
Igor Kantor

Sur Centos 7, vous pouvez également l'utiliser.

/ usr/share/logstash/bin/logstash --path.settings /etc/logstash/ --config.test_and_exit /etc/logstash/conf.d/logstash.conf

0
MKAY