I have searched Google and other forums, including this one, and haven’t found anything similar happening. I am uncertain the cause of this issue, hopefully you can help me figure this one out. Below is a screen shot of what I am seeing, messages are coming in steady anywhere from 20k messages a minute to 100k messages a minute, depending on the time of day. Fairly regularly, Graylog will drop back down to about 20k messages per minute. It appears to affect all sources.
Elasticsearch, mongodb, and graylog are all on the same vm. Heap is 8G, I am not familiar with the refresh_index setting so I am guessing whatever default is set for.
Metrics are not set.
Nothing I could see in the logs that I could deduce could cause the issue; here are some things I found, but I am not sure it is related.
/var/log/elasticsearch/graylog-2017-11-13.log
[2017-11-13T16:37:24,075][WARN ][o.e.b.BootstrapChecks ] [7V2qQUE] max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2017-11-13T16:37:24,075][WARN ][o.e.b.BootstrapChecks ] [7V2qQUE] max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
I am suspecting perhaps it is my NIC or router. I am seeing traffic dropping during this time as well, so perhaps it is not a Graylog/Elasticsearch issue after all. I guess I assumed it was the server because I never saw this behavior in my test lab setups before I created a production set.
For me it looks like your System is underpowered for the amount of messages per seconds you get. Separate Elasticsearch and Graylog and given them more resources and you will not have any issue.
Both are set to 8G. I am not so certain that the system is underpowered. My server metrics during peak operations are showing max 25% cpu usage and 0.5% IO delay, server load tops out at 5% and averages 2%.
Please post the complete JVM configuration for Graylog and Elasticsearch.
Also make sure to leave enough memory for the operating system, so that the disk cache can do its magic.
FWIW, Graylog rarely needs more than 1 or 2 gigabytes of heap memory.