Какова цель поиска эластичных бревен? Как ими управлять?

Как я понимаю, индексы (или данные) хранятся в

/var/lib/elasticsearch

по умолчанию эта папка содержит nodes с 0 а также 1 папки и общий размер этих папок 376M,

Журналы хранятся в

/var/log/elasticsearch

-rw-r--r-- 1 elasticsearch elasticsearch 1.4G Dec 17 23:59 elasticsearch.log.2014-12-17
-rw-r--r-- 1 elasticsearch elasticsearch 1.5G Dec 18 19:35 elasticsearch.log.2014-12-18
-rw-r--r-- 1 elasticsearch elasticsearch 383M Dec 19 20:11 elasticsearch.log.2014-12-19
-rw-r--r-- 1 elasticsearch elasticsearch 7.2G Dec 30 23:59 elasticsearch.log.2014-12-30
-rw-r--r-- 1 elasticsearch elasticsearch 9.1G Jan  1 23:59 elasticsearch.log.2015-01-01
-rw-r--r-- 1 elasticsearch elasticsearch  29G Jan  2 23:59 elasticsearch.log.2015-01-02
-rw-r--r-- 1 elasticsearch elasticsearch 928K Jan  3 23:59 elasticsearch.log.2015-01-03
-rw-r--r-- 1 elasticsearch elasticsearch  91M Jan  4 23:59 elasticsearch.log.2015-01-04

И, как вы можете видеть, они используют СЛИШКОМ МНОГО места, я даже был вынужден удалить 1 файл размером 28G освободить место на сервере.

мой elasticsearch version является 0.90.7

Согласно официальным документам:

Начиная с версии 0.90, сжатие хранилища всегда включено.

В моем случае я не вижу сжатия, применяется ли оно к журналам? Если данные лежат в /var/lib/, какова цель журналов, будет ли работать мое приложение, если я удалю все журналы? Почему я должен держать их? И если это так, я не понимаю, что делать с размером, я не могу сделать свои индексы меньше, может быть, я могу использовать logrotate?

2 ответа

Решение

Журналы ES ​​содержат информацию о вашем запущенном приложении, т.е. об ошибках. Если вы не видите никаких проблем в своих журналах, вы можете безопасно удалить старые журналы вручную или с помощью logrotate.

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

Если кому-то будет интересно, как я решил проблему с логами...

После некоторого расследования я обнаружил, что вы можете установить количество журналов для хранения в logging.yml который по умолчанию лежит в /etc/elasticsearch, добавляя:

maxBackupIndex: x

строка как это:

file:
  type: dailyRollingFile
  file: ${path.logs}/${cluster.name}.log
  datePattern: "'.'yyyy-MM-dd"
  maxBackupIndex: 7
  layout:
    type: pattern
    conversionPattern: "[%d{ISO8601}][%-5p][%-25c] %m%n"

который сохранит только 7 самых последних файлов журнала.

Но поскольку мои файлы журналов слишком велики, а в приведенном выше решении не применяется сжатие, я решил использовать logrotate вместо сжатия, вот мой конфиг /etc/logrotate.d/elasticsearch:

/var/log/elasticsearch/elasticsearch.log.????-??-?? {
  daily
  missingok
  rotate 1
  compress
  notifempty
}

Краткое описание: один раз в день сжимайте файлы с датами в конце (каждый день будет создаваться 1 новый файл, создаваемый asticsearch), ничего не делать, если он пуст, не сообщать об ошибках.

Другие вопросы по тегам