To share some more insights and describe how I managed to get Graylog to 
perform better:

Grok patterns are very costly as mentioned earlier so I went ahead and 
looked for a solution that better
indexed those custom logs (in my case sidewinder firewall SEF-format) than 
having an input with
~ 12 different grok patterns and regexen - introduce logstash with "kv" 
/key-values) filters:

input {
    syslog { 
port => "50017" 
tags => "sidewinder-logs"
}
 
}

filter {
if "sidewinder-logs" in [tags] {
 kv {
prefix  => "sw_"
field_split => ","

 }
}
}

output {
if "sidewinder-logs" in [tags] {
gelf {  chunksize => 2000
host      => "127.0.0.1"
port      => 12205 
} 
}
}

This basically does all the indexing for us no matter how much fields vary 
in our log messages.
Logstash seems to handle the field extraction very well without any major 
CPU strains. With this setup
I achieved a very steady message I/O in our graylog setup as in buffers 
almost never fill up beyond 10% (due to bursts)
which is what I was aiming for.
I will give graylog 2.2 a go once it is out to see if message throughput 
will stay as good as it is now.

Some more insights into my server.conf:

output_batch_size = 2000
output_flush_interval = 1
processbuffer_processors = 6
outputbuffer_processors = 3
processor_wait_strategy = blocking
ring_size = 65536
inputbuffer_ring_size = 65536
inputbuffer_processors = 2
inputbuffer_wait_strategy = blocking
message_journal_enabled = false

Note for future "special" logs: I´m gonna check if logstash has more CPU 
friendly ways to index and output with GELF :)

-- 
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/d49d0558-45fb-4dcb-b154-aa0077231d3d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to