0

我经常在 kibana 中观察到以下错误消息。如果我重新启动图像并且它看起来很好,但我正在丢失我的所有数据,正如我在下面的链接中解释的那样。

每当我重新启动 docker/elk 映像时,数据都会丢失

错误信息:

删除了快照中的主机名。

在此处输入图像描述

我刚刚搜索并发现以下脚本将解决该问题:

脚本:

  PUT kindle_s_builds/_settings
     {
      "index": 
       {
        "blocks": 
        {
          "read_only_allow_delete": "false"
        }
       }
     }

输出:

  {
     "acknowledged" : true
  }

Kibana 版本:6.6.0 并使用 docker/elk 映像来托管 kibana 仪表板。

但没有任何帮助。谁能让我知道如何解决这个问题?根本原因是什么以及如何克服这个问题?

4

2 回答 2

0

你的问题有两个角度:

  1. 索引变为只读并允许删除,因为您的磁盘用完了,并且作为警告您弹性这样做的一种方式。您已经找到了在受影响的索引上将 read_only_allow_delete 设置为 false 的解决方案。

  2. 您正在丢失数据,因为每当容器被销毁并再次创建时,历史记录都会丢失。您需要在容器内挂载一个物理磁盘文件夹。您可以使用-vdocker run 命令中的选项,如下所示:

docker run -p 5601:5601 -p 9200:9200  -p 5044:5044 -v /Users/mk/data:/var/lib/elasticsearch --name elk sebp/elk

这将作为数据的持久存储,每次容器被销毁时,数据在磁盘上都是安全的。

于 2019-10-12T14:52:54.220 回答
0

由于磁盘空间非常少,您的 ES 集群似乎已进入只读模式。

你能检查你的ES集群是否有足够的磁盘空间吗?您可以运行此 curl 命令

curl -u username:password -XGET "http://ES_HOST:9200/_cat/allocation?v&pretty"

了解集群中的可用磁盘空间。

另外,看看Elasticsearch 错误:cluster_block_exception [FORBIDDEN/12/index read-only / allow delete (api)], flood stage disk watermark exceeded

于 2019-10-12T14:28:40.833 回答