Мы пытаемся найти наилучшую конфигурацию logstash для нашего приложения. Приложение состоит из около 30 процессов, которые вместе составляют сервер, работающий на Linux-машине.Logstash из нескольких процессов на одном компьютере
Каждый из этих процессов записывает в файл журнала в выделенной папке. Мы хотим собрать эти журналы и сохранить их в elasticsearch с помощью logstash.
У нас есть проблемы с ресурсами. Мы не сможем записывать на диск как журналы, так и вести поиск elasticsearch с теми же данными (elasticsearch занимает 5 раз в пространстве этих файлов журналов)
На данный момент мы думали о попытке выполнить вывод каждого процесса к его собственному logstash, который будет содержать фильтр grok и выход elasticsearch, в то же время у нас будет экземпляр elasticsearch, работающий на той же машине.
Это кажется тяжелым, если у вас 30 экземпляров логсташа. Есть ли лучшее решение? Собираемся ли мы разобраться с CPU, или это стандартный способ делать такие вещи?
Вы не можете держать стоит один день из бревен на машине, а затем удалить их после того, как они были обработаны по logstash? Как насчет перенаправления stdout на порт, который, по словам моего google-fu, должен быть возможен. Также, кажется, трудно поверить, что вы видите 5-кратный штраф за использование elasticsearch. –
@AlainCollins. Слишком много, мы вращаем журналы каждые 10 минут, сохраняя до 10 оборотов назад. Если я позволю logstash читать из них, и пока он читает, произойдет ротация, я собираюсь освободить журналы. Кроме того, как logstash обрабатывает логарифмы? – user1708860
В журнале logstash говорится, что «он обрабатывает вращения», FWIW. Если вы беспокоитесь об этих крайних случаях, настройте logstash для обработки только недавно повернутого файла (например, logfile.1). Если у него есть другой номер inode, вы должны быть в порядке. –