Hey there,

Ive got a big issue with malformed date format, so the nginx extractor is 
rejecting incoming messages and the dashboards are empty.

My setup:
Debian 7.9
graylog-server 1.3.0-3
graylog-web 1.3.0-3
java 1.8.0.66

In the nginx site of my webserver I configured this log_format:
log_format  graylog2_format  '$remote_addr - $remote_user [$time_local] 
"$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" 
"$http_x_forwarded_for" 
<msec=$msec|connection=$connection|connection_requests=$connection_requests|millis=$request_time>
 
"$host"';

Example:
XX.XX.XXX.XX - - [10/Dec/2015:16:41:02 +0000] "GET 
/?xxxxxxx&xxx=xx&ref=xxxxxxx&xxxxx=xx&xxx_xxxx=xx HTTP/1.1" 302 1236 "-" 
"Mozilla/5.0 
(Windows NT 6.3; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0"


The configuration in the graylog webinterface of the extractor of nginx 
access_log for Request Timestamp (Regular Expression):
Regular Expression: nginx:.+?\[(.+?)\]
Field matches this regular expression: ^\S+\s+nginx:
Add converter: numeric
(x) Convert to date type
Format String: dd/MMM/YYYY:HH:mm:ss Z

But there is no incoming message, because graylog-server throws an 
IllegalArgumentException:
2015-12-10T16:46:19.321Z ERROR [Extractor] Could not apply converter [date] 
of extractor [ea55a025-d293-4a54-8b66-284afc77e6fd].
java.lang.IllegalArgumentException: Invalid format: "10/Dec/2015:16:46:19 
+0000" is malformed at "Dec/2015:16:46:19 +0000"
        at org.joda.time.format.DateTimeFormatter.parseDateTime(
DateTimeFormatter.java:899)
        at org.joda.time.DateTime.parse(DateTime.java:160)
        at org.graylog2.inputs.converters.DateConverter.convert(
DateConverter.java:59)
        at org.graylog2.plugin.inputs.Extractor.runConverters(Extractor.java
:247)
        at org.graylog2.plugin.inputs.Extractor.runExtractor(Extractor.java:
232)
        at org.graylog2.filters.ExtractorFilter.filter(ExtractorFilter.java:
62)
        at org.graylog2.buffers.processors.ServerProcessBufferProcessor.
handleMessage(ServerProcessBufferProcessor.java:97)
        at org.graylog2.shared.buffers.processors.ProcessBufferProcessor.
dispatchMessage(ProcessBufferProcessor.java:82)
        at org.graylog2.shared.buffers.processors.ProcessBufferProcessor.
onEvent(ProcessBufferProcessor.java:61)
        at org.graylog2.shared.buffers.processors.ProcessBufferProcessor.
onEvent(ProcessBufferProcessor.java:35)
        at com.lmax.disruptor.WorkProcessor.run(WorkProcessor.java:138)
        at com.codahale.metrics.
InstrumentedExecutorService$InstrumentedRunnable.run(
InstrumentedExecutorService.java:176)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(
ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)


Im quite sure, it works a few weeks ago, so here is what I tried:
- Downgrade to Version 1.2.2 and 1.2.1
- changed log_format of nginx from $time_local to $time_iso8601 (same 
Exception with another date format)


I'm not as familiar with graylog extractors, cause I'm quite new to this 
topic. Thats why I need help to locate and perhaps to solve this problem.

Anybody got an idea?

Thanks in advance

Christian

-- 
You received this message because you are subscribed to the Google Groups 
"Graylog Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/graylog2/1b1dfdc4-cd6e-468b-a1d5-6afcacac48bd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to