The issue you described sound very much like an owner ship problem. I can't put my figure around why it would not log, or bind to the port
Here is the scope of everything I would check, sort of a brain dump I hope it helps
service logstash status
if running ps -ef | grep logstash and verify the userid it is running as
If your udp port is less then 1025 then the process must be running as root
Check your /etc/syslog/logstash that it is owned by logstash and the LS_USER in that file is appropriate (I set it to root but it defaults to logstash)
If running as logstash
Check your /etc/logstash/conf.d and files in that directory are readable by that user
Also check /var/lib/logstash and as you did above /var/log/logstash and those files too
I generally turn off SELINUX on my system at build time. this could prevent your from writing or binding
You may want to add LS_OPTS='--debug' to your /etc/sysconfig/logstash file and there should be some debugging logs there.
Are you using the same Java version, don't know why but I thought I would ask.
If running as logstash sudo -iu logstash /opt/bin/logstash -f /etc/logstash/conf.d see if it works
after that I would go in to full on debugging
add strace -s0 -w /tmp/log to the script where it executes logstash see what the you might find there
or I would add set -x to the /etc/init.d/logstash (right under the #!/bin/bash and watch the script execute
Does your /var/log/messages or any other file mention anthing?
The last thought, try uninstalling and re-installing maybe something got corrupt.
Other then that without a config and some messages I am out of idea's of what would cause you a problem