我的服务器中有一个自托管的elasticsearch。我在某些日子之后将我的代码与我的代码集成,删除了现有数据。仅当我创建一个新条目时,它将存储在索引
中我使用过亚马逊aws免费分层服务器。我也在这台服务器上使用过rabbitmq。我知道弹性搜索需要的ram越多,但我需要知道数据丢失的原因
这是我的服务器日志link
答案 0 :(得分:3)
Elasticsearch永远不会删除索引。这意味着你可能有某些东西,某人从某个地方运行DELETE索引查询。
如果查看日志,您应该会看到类似的内容。
数据存储在data
目录中的磁盘上。
答案 1 :(得分:1)
您已被漫游器攻击。如果再次发生这种情况,请尝试按GET / _cat / indices列出索引。如果您在此处看到“喵”或“警告”之类的信息,则说明它是已知的机器人攻击者。
我遇到了同样的问题,并做了一些调查。我的服务器上的端口9200已打开!尽管有iptables规则,但限制了除443、8443和22之外的所有内容。原因是docker!毕竟,它又增加了一条规则。
sudo iptables -S | grep 9200
-A DOCKER -d 172.18.0.2/32 ! -i br-cab97908df43 -o br-cab97908df43 -p tcp -m tcp --dport 9200 -j ACCEPT
那怎么可能?为什么码头工人会做这种疯狂的事情?原因是我从elasticsearch网站上获取的默认docker-compose.yml。
更改
ports:
- 9200:9200
到
ports:
- 127.0.0.1:9200:9200
答案 2 :(得分:0)
我曾经发生过同样的事情,当我的所有索引被突然删除时,我正在处理一些查询。
我想到了整件事,但我继续推迟它。安装x-pack只需要一个小时,并找出因此而可能出现的所有错误,但从那以后没有突然删除的索引:D。