我已经在我的无头服务器上安装了logstash,但是我用sudo service logstash start遇到了一些问题。 这是我从/var/log/logstash/logstash.log得到的输出,但在这里我看不到任何明显的东西。
与新贵的脚本(/etc/init/logstash.conf)#logstash – 代理实例#
description "logstash agent" start on virtual-filesystems stop on runlevel [06] # Respawn it if the process exits respawn # We're setting high here, we'll re-limit below. limit nofile 65550 65550 setuid logstash setgid logstash # You need to chdir somewhere writable because logstash needs to unpack a few # temporary files on startup. console log script # Defaults PATH=/bin:/usr/bin LS_HOME=/var/lib/logstash LS_HEAP_SIZE="500m" LS_JAVA_OPTS="-Djava.io.tmpdir=${LS_HOME}" LS_LOG_FILE=/var/log/logstash/logstash.log LS_USE_GC_LOGGING="" LS_CONF_DIR=/etc/logstash/conf.d LS_OPEN_FILES=16384 LS_NICE=19 LS_OPTS="--debug" # Override our defaults with user defaults: [ -f /etc/default/logstash ] && . /etc/default/logstash HOME="${HOME:-$LS_HOME}" JAVA_OPTS="${LS_JAVA_OPTS}" # Reset filehandle limit ulimit -n ${LS_OPEN_FILES} cd "${LS_HOME}" # Export variables export PATH HOME JAVA_OPTS LS_HEAP_SIZE LS_JAVA_OPTS LS_USE_GC_LOGGING test -n "${JAVACMD}" && export JAVACMD exec nice -n ${LS_NICE} /opt/logstash/bin/logstash agent -f "${LS_CONF_DIR}" -l "${LS_LOG_FILE}" ${LS_OPTS} end script
使用logstash conf文件:
input { file { path => "/var/log/apache2/access.log" } } filter { grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } date { match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ] } } output { elasticsearch { host => localhost } stdout { codec => rubydebug } }
即使在apache日志中肯定有东西发生,似乎没有任何东西。
然而,当我从新贵的脚本( script和end script的东西,并作为一个shell脚本运行它的东西,它的作品完美,我可以看到东西进入日志。有谁能给我一些指针为什么发生这种情况?我正在运行Ubuntu服务器14.04服务器并安装了logstash=1.4.2-1-2c0f5a1
所以我想现在这可能是一个答案。 看起来你的testing是以root用户身份运行的。 并且您的服务作为logstash运行。 您的testing日志不会显示任何错误。 但我认为你的问题是文件权限。 请检查用户logstashconfiguration文件是否可读,日志文件是否可写。 另外,由于该进程应该能够直接读取Apache日志文件,请检查logstash是否也要读取它们。 如果将logstashconfiguration为侦听传入的networking连接,则检查configuration的端口是否高于1024。
您也可以尝试以logstash用户身份运行testing:
像这样的东西:
su -c "/path/to/logstash -t -f /path/to/config" logstash