I want to ask for help because I ran into a strange error. I ran a Graylog server for several years, which unfortunately once ran out of hard drive. Since the data already collected is absolutely necessary, I took a snapshot of Elasticsearch and then transferred it to another server. The snapshot was successfully restored on the new server, and then I noticed that the old data is present, but no new entries are created, and the following error message is repeated continuously in the Graylog log:
index [graylog_deflector], type [_doc], id [29b82200-a744-11eb-bb87-288023aeccf0], message [ElasticsearchException[Elasticsearch exception [type=illegal_argument_exception, reason=no write index is defined for alias [graylog_deflector]. The write index may be explicitly disabled using is_write_index=false or the alias points to multiple indices without one being designated as a write index]]]
Main server information:
Graylog 4.0.6
Elasticsearch 7.0.0
MongoDB 4.2.1
What I tried, but didnât help:
Restart server.
Rotate index.
Recalculate index range
Set the âindex.blocks.read_only_allow_deleteâ parameter
Thank you for answering ! Unfortunately, this doesnât seem to be the situation you outlined, because by running the commands I got the following result:
Thanks for the help, you gave me a good idea with your answer, which eventually led to the solution. So far, I thought this error message was because graylog could not write any of the indexes. Therefore, I used the following commands:
However, this did not help either, the error message came the same way! Thatâs when I started thinking about the other part of the error message. As I wrote in the introduction, I migrated the data from one machine to another, which was a newly installed server. It was then that I realized that installing the new instance of graylog in elasticsearch must have created an index for itself. So I looked for the smallest number of graylog indexes, and after removing the graylog_deflector alias from it, the problem was solved right away.