Наблюдаемое исключение Forbitten часто в приборной панели кибаны - PullRequest
0 голосов
/ 11 октября 2019

Я часто наблюдаю следующее сообщение об ошибке в кибане. Если я перезапустил изображения и они какое-то время выглядят нормально, но я теряю все свои данные, как я объяснил в приведенной ниже ссылке.

Данные теряются при каждом перезапуске образа docker / elk

Сообщение об ошибке:

Удаление имени хоста в моментальном снимке.

enter image description here

Я только что искал и обнаружил, что приведенный ниже скрипт решит эту проблему:

Сценарий:

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

Вывод:

  {
     "acknowledged" : true
  }

Kibana версия: 6.6.0 и использование образа docker / elk для размещения панели управления kibana.

Но ничего не помогает. Может кто-нибудь сообщить мне, как я могу решить эту проблему? и в чем причина и как ее преодолеть?

Ответы [ 2 ]

0 голосов
/ 12 октября 2019

У вашей проблемы есть два аспекта:

  1. Индексы становятся доступными только для чтения и позволяют удалять, потому что у вас кончился диск, и как способ предупредить вас об этом сделали. Вы уже нашли решение, которое должно установить read_only_allow_delete как false для затронутых индексов.

  2. Вы теряете свои данные, потому что всякий раз, когда контейнер уничтожается и создается снова, история теряется. Вам необходимо смонтировать папку физического диска внутри вашего контейнера. Вы можете использовать опцию -v в команде запуска docker, как показано ниже:

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

Это будет служить постоянным хранилищем ваших данных, и каждый раз, когда контейнер уничтожается,данные будут в безопасности на диске.

0 голосов
/ 12 октября 2019

Похоже, ваш кластер ES перешел в режим только для чтения из-за очень небольшого дискового пространства.

Можете ли вы проверить, достаточно ли на вашем кластере ES дискового пространства? Вы можете выполнить эту команду curl

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

, чтобы узнать о свободном дисковом пространстве в вашем кластере.

Также посмотрите на Ошибка Elasticsearch: cluster_block_exception [FORBIDDEN / 12 /индекс только для чтения / разрешить удаление (api)], превышение водяного знака на диске на этапе заполнения

...