经常在 kibana 仪表板中观察到 Forbitten 异常

Observed Forbitten exception often in kibana dashboard

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

The data is getting lost whenever I restart the docker/elk image

错误信息:

删除了快照中的主机名。

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

脚本:

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

输出:

  {
     "acknowledged" : true
  }

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

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

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

你能检查一下你的ES集群是否有足够的磁盘space吗?你可以 运行 这个 curl 命令

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

了解集群中的空闲磁盘 space。

另外,看看

你的问题有两个角度:

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

  2. 您正在丢失数据,因为每当容器被销毁并再次创建时,历史就会丢失。您需要在容器内安装一个物理磁盘文件夹。您可以在 docker 运行 命令中使用 -v 选项,如下所示:

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

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