Hello,
I’m actual in the process of upgrading multiply GL servers 2.4 to 4.2 versions. I have a choice either an in place upgrade which consist of following the upgrade paths with MongoDb, Graylog, and elasticsearch or create a new Graylog server and copy the configuration over.
EDIT: Here is some more insights for you. Remind you Elasticsearch has to be upgrade to the latest minor version before installing a major version. Also look at MongoDb documents for how to upgrade. this does require an update path. Graylog has stipulations on what version of elasticsearch it can use and the same with MongoDb. Best idea would be to upgrade Graylog 3.0, find out what version of elasticsearch is need then upgrade that. Last would be MongoDb. Keep it simple. I haven’t had any issues with using an older version on mongo during my upgrade process. Just making sure you don’t install the latest version of Elasticsearch. Then you might be in trouble when down grading elasticsearch to accommodate Graylog version 4.2. What I decided to do was create a new Graylog server and configure it to resemble the older version of Graylog. Take note there were a few different changes between all these versions and it is highly possible that issues will occur during your upgrade process.
https://archivedocs.graylog.org/en/3.2/pages/upgrade.html
Hope that helps