Я изучаю проблему с системой ведения журнала и искал некоторые сведения о возможных решениях проблемы. Что мы имеем сейчас:Отправка журналов из кластера tomcat
- Кластер 6 котов, порубочные (log4j2) настроен на использование SocketAppender
- Слушатель для них является logstash агента, который ставит регистрируемые события на Redis
- Другого logstash агент выбирает записи из Redis и толкает их на elasticsearch
проблема у нас в разы, что клиентские сокеты (log4j лесорубы) иногда ждать бесконечно вызывая приложение перестанет отвечать на запросы. Одним из предлагаемых решений было уйти от приложений-сокетов и использовать локальный файл (нам не нужна «мгновенная» информация о журнале в кибане). Таким образом, агент logstash будет настроен на чтение из 6 файлов (по одному на один экземпляр) и подталкивает их прямо к поиску эластичности. Можете ли вы предложить какие-либо недостатки этого подхода, кроме наличия 6 файлов, определенных во входной конфигурации logstash? Какие еще варианты вы можете предложить? Заранее спасибо.
Это именно те причины, из которых следует перейти от SocketAppender. Спасибо! – Konstantin
Рад, что это помогло вам подтвердить свой выбор. Вам нужна какая-либо другая информация по этой теме? – Val
Было бы хорошо услышать больше мнений - я видел несколько статей, в которых Redis выступал в роли брокера между несколькими файлами журнала и индексом logstash, поэтому хочу подтвердить, что нет никакого вреда при удалении от Socket-> Redis-> Logstash-> ElasticSearch прямо в MultipleFiles-> Logstash-> ElasticSearch – Konstantin