-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
syslog input plugin's grok semantics do not match RFC 3164; matching valid syslog messages fails (Logstash 1.4.2) #2552
Comments
I see it defined. What are you looking at? |
Additionally, what problem are you encountering that causes you to believe SYSLOGLINE is not defined? |
You're absolutely right, I missed that definition in my hastiness. Before I waste any more of your time, let me debug this further with this knowledge. |
Okay, I think I've found the issue.
If I remove |
I agree with PumpMagic. If you see the
There is also the problem that the colon following SYLOGPROG (this is the TAG section in the RFC) is not required. A space is a valid delimiter to end the TAG section. I am currently having problems with this message being rejected:
This is a message sent from Junos OS. The problem is that if we make both the colon and SYLOGPROG optional, it can mistakenly match part of the CONTENT as the the program name in the case of the "Use the BFG!". I believe this is better however then failing to match both my valid Junos message and PumpMagic. EDIT: Also, should this be moved over to https://github.com/logstash-plugins/logstash-patterns-core/issues |
I encountered the same issue where I could not find the definition of SYSLOGLINE. It is strange for something from the logstash repo to depend on a variable defined in the plugins repo. That was not intuitive for me. |
I believe we should deprecate the syslog input in favor of RFC-based codecs. Too many users see "syslog" and simply presume it will work, and are disappointed when it doesn't. The truth is that many logging implementations sending via syslog do not comply with an RFC. If the codec is called |
That would be most excellent. I too, am having to customize multiple grok patterns to obtain syslog messages correctly for my programs. |
For Logstash 1.5.0, we've moved all plugins to individual repositories, so I have moved this issue to logstash-plugins/logstash-input-syslog#12. Let's continue the discussion there! :) |
1.4.2's syslog input plugin (lib/logstash/inputs/syslog.rb) uses the grok syntax of "SYSLOGLINE". See line 58:
As far as I can tell, this "SYSLOGLINE" syntax is undefined in patterns/grok-patterns, much less anywhere. Valid syslog messages passed to the syslog input are tagged with _grokparsefailure and are assigned a default syslog priority.
The text was updated successfully, but these errors were encountered: