On both servers all programms work in docker.
I try to migrate data from ElasticSearch to OpenSearch. I’ve already updated ElasticSearch version to 7.0.0. Then made _reindex for necessary indexes:
docker exec graylog-opensearch-1 /bin/curl -s -X GET '127.0.0.1:9200/_cat/indices?v'
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open trans_icann_0 6nIVruurT9yoR_d3sgj9eA 1 0 17215000 0 21gb 21gb
But I couldn’t see any data in web interface. I’ve tried to create the same index with same settings in web and restart all containers, but there is no result.
What could I check with this issue? I’m a newby with OpenSearch, so have no idea what to do.
I believe OpenSearch 1.3 is compatible with ES 7.10.
For my OpenSearch container version 2.15 is required, so I can’t use previous. Although I could use version from 2.0.0 to 2.15.0. By link here I’ve found, that migration via snapshot could be performed from ES 7.X to OpenSearch 1.x or OpenSearch 2.x (I need 2.x).
Is there any sense in trying update ES 7.0.0 => ES 7.15.0 and than migrate data to OpenSearch 2.x?
maybe rotate you index set?
Tried to rotate and recalculate transferred indexes and on index page in Graylog I see the following line (screenshot)
For example, I have index migrate_to_opensearch. Here what I’ve done:
1 - Updated ES version from 7.0.0 to 7.10.2, Graylog from 3.3 to 4.3 and Mongo from 3 to 3.6
2 - Created new index migrate_to_opensearch_0
docker exec graylog_elasticsearch_1 /bin/curl -s -X GET '127.0.0.1:9200/_cat/indices?v' | grep migrate_to_opensearch_0
green open migrate_to_opensearch_0 yHqirkbQRnerky9sGWq1sw 6 0 2267709 0 2.1gb 2.1gb
5 - Created in Graylog interface index with the same name and made “Recalculate index range” (sceenshot 1).
6 - On screenshot 1 you can see, that index has data
7 - Created new stream with new index migrate_to_opensearch
8 - But in Stream tab I couldn’t see my data (screenshot 2)
9 - Also I’ve checked Graylog and ES logs and found nothing.
What should I check now? May be I’ve missed something.
I had that happen also, For example my index set was graylog_2340 and in my logs it was scream it can find index graylog_2340, I end up create that index graylog_2340 and rotating my index set,
I would check you logs ( i.e., ES/OS and Graylog) look for any issues.
According to your advice, I’ve updated ES from 7.0.0 to 7.10.2. Then I found this wonderful video:
And successfully migrated from ES 7.10.2 to OpenSearch 1.3.2. After this my versions were:
Graylog - 4.3
OpenSeasrch - 1.3.2
Mongo - 3.6
So I started to check the way to update to the following versions:
Graylog - 5.2.9
OpenSeasrch - 2.15.0
Mongo - 7
But I’d faced some issues with Mongo - 3.6. In order to solve them, firstly step by step I’ve updated Mongo version:
3.6 -> 4.0 -> 4.2 -> 4.4 -> 5.0 -> 6.0 -> 7.0
Now I have the following versions, which work perfectly:
Graylog - 4.3
Mongo - 7.0
OpenSearch - 1.3.2
So now I’d like to continue my works and upgrade:
Graylog 4.3 => 5.2.9
OpenSearch 1.3.2 => 2.15.0
Tell me please, which intermediate versions shoud I use?
Also I’ve found that after each OpenSearch version update I have to make _reindex for my indexes. Is it true?
Graylog I would upgrade to the latest version of 4.x.x then upgrade to 5.x
I cant remember but I believe upgrading to the latest version of 1.3.x then to 2.0 → 2.15. But i think the new version of OpenSearch is 2.16. before you do that check with Graylog on capability version with OpenSearch. I know they had some issues.
I’ve migrated my data without updating Graylog from 4.x.x to 5.x and OpenSearch from 1.3.x to 2.0 on my new server via snapshots.
On destination server I restored snapshots and made one more _reindex to update OpenSearch version inside my indices. After this, I had some issues with inputs and node id. Namely in migrated indices was old node_id and input_id from previous server. That’s why these indices didn’t show in Streams.
How I solved it: I’ve checked id for my messages in transferred index:
Fetching input 60c479f795a0380b84927ee1 failed with status: FetchError: There was an error fetching a resource: . Additional information: Input <60c479f795a0380b84927ee1> not found!
In order to solve it, I’ve disabled read-only status for my indices and use API request to update node_id and input_id. Here is commands: