Я новичок в logstash, но я потратил довольно много времени, пытаясь добиться этого без успеха. Я отправляю свои журналы из нескольких приложений на другом сервере через udp для регистрации. Вот конфигурация logstash:Logstash udp вход не работает
input{
udp{
port => 5960
type => "log4net"
}
}
filter {
grok {
match => ["message", "(?m)%{TIMESTAMP_ISO8601:sourceTimestamp}\s*%{WORD:System}\s*%{LOGLEVEL:logLevel}\s*-\s*%{WORD:logger}\s*-\s*%{NOTSPACE:source}\s*%{NOTSPACE:action}\s*%{UUID:transactionId}\s*%{GREEDYDATA:message}"]
}
}
output {
elasticsearch {
protocol => "http"
host => "[mylocalip]"
port => "9200"
}
stdout { codec => rubydebug }
}
К сожалению, не зарегистрирован ни одно сообщение. Я проверил и убедился, что порт доступен, когда я запускаю logstash. Я также правильно настроил брандмауэр, чтобы разрешить сообщение udp через этот порт. Когда я tcpdump, я могу видеть сообщения udp. Кроме того, я попробовал другой метод ввода (журналы из nginx), и он работает нормально. Что я делаю неправильно?
ElasticSearch версия-1,4
Logstash версия - 1,5 (первоначально пытались также с 1.4)
ОС - CentOS 6.5
Java - OpenJDK Runtime Environment (RHEL-2.5.5.1.el6_6-x86_64 U79-b14)
В вашем файле logstash.stdout появляется что-нибудь вообще? Есть ли ошибки или предупреждения в logstash.log или logstash.err? – Rumbles
для лучшего отладки Я запускаю logstash в bash с командой bash logstash -f my.config. Файл конфигурации содержит верхнюю конфигурацию ... Я только получаю «Запуск Logstash завершен» в консоли - нет ошибки, после которой я не получаю никакого отладочного вывода (что я должен предположить) ... Ничего в файле .stdout или .err. – inniko
Попробуйте включить -l /your-logfile.log, чтобы получить некоторые журналы, поступающие из LS, которые могут помочь вам найти проблему. – Rumbles