you should give Elasticsearch enough ressources - those amount of messages should work with a single Graylog Node, but should have multiple Elasticsearch Hosts in a cluster.
If you wish to avoid clustering you may need to go bearbone hardware setup to obtain enough cpu and IOPS
A good raid with ssd for hot storage (and maybe sata for warm/cold storage )or storage system, together with enough RAM recommended…
Virtualisation is great, but sometimes direct hw better (/cheaper).
Could I have 1 server (64gb ram 8 cores) with GL and ES on then 2 server with just ES on the create the cluster or should GL be separated from the ES cluster?
When messages are being processed in the Graylog node section of the web interface, is that showing Graylog receiving messages and send them onto ES?
I still feel like I have a lot to understand so please bear with me.