Logstash not executing the configs

I upgraded to logstash 5 from 2.4 and resolved the logstash.yml and the path for that file also. whatever i do, there is no result. just hangs at the statement even i run manually. what am i missing.

bin/logstash --path.settings /opt/logstash/config/logstash.yml --debug

bin/logstash -f ../etc/conf.d/test.conf

logstash 30525 16549 99 19:52 ? 00:00:04 /bin/java -XX:+UseParNewGC -XX:+
UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOc
cupancyOnly -XX:+DisableExplicitGC -Djava.awt.headless=true -Dfile.encoding=UTF-
8 -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=/opt/logstash/tmp/ -D
com.sun.management.jmxremote.port=7200 -Dcom.sun.management.jmxremote.authentica
te=false -Dcom.sun.management.jmxremote.ssl=false -Xmx4693M -Xms1564M -Xss2048k
-Djffi.boot.library.path=/opt/logstash/vendor/jruby/lib/jni -Xbootclassp
ath/a:/opt/logstash/vendor/jruby/lib/jruby.jar -classpath : -Djruby.home
=/opt/logstash/vendor/jruby -Djruby.lib=/opt/logstash/vendor/jru
by/lib -Djruby.script=jruby -Djruby.shell=/bin/sh org.jruby.Main /opt/logstash/lib/bootstrap/environment.rb logstash/runner.rb agent -f /opt/logstash/etc/conf.d --pluginpath /opt/logstash/lib -l /opt/logstash
/log/logstash.log -w 1

can you provide your logstash.yml config? or a grep -v "#" of it?

1 Like
# Settings file in YAML
#
# Settings can be specified either in hierarchical form, e.g.:
#
   pipeline:
     batch:
       size: 125
       delay: 5
#
# Or as flat keys:
#
#   pipeline.batch.size: 125
#   pipeline.batch.delay: 5
#
# ------------  Node identity ------------
#
# Use a descriptive name for the node:
#
 node.name: localhost.logstash
#
# If omitted the node name will default to the machine's host name
#
# ------------ Data path ------------------
#
# Which directory should be used by logstash and its plugins
# for any persistent needs. Defaults to LOGSTASH_HOME/data
#
 path.data: /opt/logstash/data
#
# ------------ Pipeline Settings --------------
#
# Set the number of workers that will, in parallel, execute the filters+outputs
# stage of the pipeline.
#
# This defaults to the number of the host's CPU cores.
#
 pipeline.workers: 2
#
# How many workers should be used per output plugin instance
#
 pipeline.output.workers: 1
#
# How many events to retrieve from inputs before sending to filters+workers
#
 pipeline.batch.size: 125
#
# How long to wait before dispatching an undersized batch to filters+workers
# Value is in milliseconds.
#
 pipeline.batch.delay: 5
#
# Force Logstash to exit during shutdown even if there are still inflight
# events in memory. By default, logstash will refuse to quit until all
# received events have been pushed to the outputs.
#
# WARNING: enabling this can lead to data loss during shutdown
#
# pipeline.unsafe_shutdown: false
#
# ------------ Pipeline Configuration Settings --------------
path.config: /opt/logstash/etc/conf.d

# Where to fetch the pipeline configuration for the main pipeline
#
# path.config: /
# Pipeline configuration string for the main pipeline
#
# config.string:
#
# At startup, test if the configuration is valid and exit (dry run)
#
# config.test_and_exit: false
#
# Periodically check if the configuration has changed and reload the pipeline
# This can also be triggered manually through the SIGHUP signal
#
# config.reload.automatic: false
#
# How often to check if the pipeline configuration has changed (in seconds)
#
# config.reload.interval: 3
#
# Show fully compiled configuration as debug log message
# NOTE: --log.level must be 'debug'
#
# config.debug: false
#
# ------------ Queuing Settings --------------
#
# Internal queuing model, "memory" for legacy in-memory based queuing and
# "persisted" for disk-based acked queueing. Defaults is memory
#
# queue.type: memory
#
# If using queue.type: persisted, the directory path where the data files will be stored.
# Default is path.data/queue
#
# path.queue:
#
# If using queue.type: persisted, the page data files size. The queue data consists of
# append-only data files separated into pages. Default is 250mb
#
# queue.page_capacity: 250mb
#
# If using queue.type: persisted, the maximum number of unread events in the queue.
# Default is 0 (unlimited)
#
# queue.max_events: 0
#
# If using queue.type: persisted, the total capacity of the queue in number of bytes.
# If you would like more unacked events to be buffered in Logstash, you can increase the 
# capacity using this setting. Please make sure your disk drive has capacity greater than 
# the size specified here. If both max_bytes and max_events are specified, Logstash will pick 
# whichever criteria is reached first
# Default is 1024mb or 1gb
#
# queue.max_bytes: 1024mb
#
# If using queue.type: persisted, the maximum number of acked events before forcing a checkpoint
# Default is 1024, 0 for unlimited
#
# queue.checkpoint.acks: 1024
#
# If using queue.type: persisted, the maximum number of written events before forcing a checkpoint
# Default is 1024, 0 for unlimited
#
# queue.checkpoint.writes: 1024
#
# If using queue.type: persisted, the interval in milliseconds when a checkpoint is forced on the head page
# Default is 1000, 0 for no periodic checkpoint.
#
# queue.checkpoint.interval: 1000
#
# ------------ Metrics Settings --------------
#
# Bind address for the metrics REST endpoint
#
 http.host: "127.0.0.1"
#
# Bind port for the metrics REST endpoint, this option also accept a range
# (9600-9700) and logstash will pick up the first available ports.
#
 http.port: 9666
#
# ------------ Debugging Settings --------------
#
# Options for log.level:
#   * fatal
   * error
#   * warn
#   * info (default)
#   * debug
#   * trace
#
# log.level: info
 path.logs: /var/log/logstash
#
# ------------ Other Settings --------------
#
# Where to find custom plugins
# path.plugins: []

grep -v /opt/logstash/config/logstash.yml and nothing comes for this.

it would be:
grep -v "#" /opt/logstash/config/logstash.yml

It looks like you have settings defined multiple times, might want to clean that up.
pipeline:
batch:
size: 125
delay: 5
as well as further down:
pipeline.workers: 2
...
pipeline.output.workers: 1
...
pipeline.batch.size: 125
...
pipeline.batch.delay: 5

Finally, is this the path to your configs?
path.config: /opt/logstash/etc/conf.d

if not, you should update that line and replace /opt/logstash/etc/conf.d with the path to your config.

config path is correct.. that folder will have multiple conf files anyway. but i corrected and still not getting anything. just hangs after i give any command to logstash

What's in your /opt/logstash/etc/conf.d files? What do you expect Logstash to do after starting up?

just few jdbc codes.. problem is im not even getting basic command line execution.
i wasnt seeing the logs.

If you want help please answer my questions.

its logstash 5 but its customer configured to run the configuration under /opt/logstash/etc/conf.d/ folder
looks like logstash.yml need to be configured and set as --path.settings.

i tried that but no execution. it just froze whatever i do. it worked fine in 2.4 version

input {

jdbc {
	type => "sql"
	jdbc_driver_library => "jar path"    
	jdbc_driver_class => "com..."
	jdbc_connection_string => "so and so"
	jdbc_user => "user"
	jdbc_password => "pass"
	#jdbc_password_filepath => "./vault"
	statement => "so and so"
	jdbc_paging_enabled => "true"
	jdbc_page_size => "50000"
	schedule => "*/1 * * * * "
}

}

output {

if [type] == "sql" {

#console output when you run in-console
stdout {
	codec => rubydebug
}

elasticsearch {
hosts => ["localhost:9200"]
index => "sql-%{+yyyy.MM.dd}"
}

}

}

Okay, looks reasonable. Do you get any additional clues if you increase the logging verbosity?

1 Like

how to do that.. when i dont see any type of logs for logstash how can i do that.. i simply see the service is running and i pasted that info in question

If you're starting Logstash from a terminal you should get its logs to stdout/stderr. With the default log level it's pretty quiet. See https://www.elastic.co/guide/en/logstash/5.2/running-logstash-command-line.html for how to set the log level.

:slight_smile: may be i was not clear.. bin/logstash is not responding to any commands.

i simply did

  1. /bin/logstash -h
  2. bin/logstash -f /opt/logstash/config/sqltest.conf --log.level debug
  3. bin/logstash --debug -f '/tmp/{one,two,three}'

nothing.. just freezing..
i checked the logs path.. nothing written.

Oh, I see. Perhaps this issue is helpful then:

is it fixed in 5.3? im not following any steps to fix this.. from that thread.

i tried installing haveged but no luck.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.