Как настроить пересылку Splunk для сбора данных из stdout/stderr, а не из файлов?

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

Я хотел бы перенастроить свой сервер пересылки для чтения моих журналов непосредственно из стандартного вывода, чтобы уменьшить накладные расходы на ввод-вывод, может ли кто-нибудь помочь с этим?


person Roy    schedule 21.04.2019    source источник
comment
Всегда полезно добавить код/команды, которые вы уже пробовали. stackoverflow.com/help/how-to-ask   -  person Iwo Kucharski    schedule 21.04.2019
comment
Вы подсчитали, сколько времени на данный момент уходит на накладные расходы ввода-вывода? Не слышал, чтобы кто-то жаловался на производительность форвардеров, читающих файлы. Если вы регистрируете все, то, возможно, вы можете получить некоторую ценность, отфильтровав журналы сервера, которые вас больше всего интересуют. Это также сэкономит вам ввод-вывод.   -  person faadi    schedule 23.04.2019


Ответы (2)


Форвардеры не могут читать со стандартного ввода. Они предназначены для чтения файлов, а также чтения из портов TCP или UDP. Принимать данные через порт не рекомендуется, поскольку при каждом перезапуске сервера пересылки данные теряются.

person RichG    schedule 21.04.2019

Вы можете использовать именованные каналы для создания «файла» в памяти, на который вы можете направить stdout и stderr, а затем заставить Splunk прочитать эти каналы.

https://docs.splunk.com/Documentation/Splunk/7.2.5/Data/MonitorFIFOqueues

Обратите внимание на оговорки вокруг этого подхода. Если у вас возникли проблемы с вводом-выводом, я бы посоветовал вам сначала решить эту проблему, прежде чем прибегать к подходам FIFO.

person Simon Duff    schedule 23.04.2019