Репликация растущих журнальных файлов в режиме реального времени по сети

У меня есть сервер с кучей процессов, записывающих файлы журналов по мере их запуска. Мне нужно, чтобы клиентский хост получал реплику файлов журнала на стороне сервера почти в режиме реального времени. Есть ли лучший способ, чем просто комбинировать хвост с netcat?

Я думал об использовании хвоста с netcat на стороне сервера для потока нескольких файлов журнала через одно соединение:

tail -F *.log | nc -lk -p 31377 

Хотя клиентская сторона демультиплексировала журналы и записывала их в файлы:

 nc serverhost 31377 | demultiplexer 

Если демультиплексор просто построен вокруг sed, вычисляя имена файлов назначения из разделителей, вставленных хвостом на стороне сервера:

 sed -e 's/==> \(.*\) <==/\1/' 

One Solution collect form web for “Репликация растущих журнальных файлов в режиме реального времени по сети”

пытаться

  tail -f /path/to/logfile.log | xargs -l logger -p local8.info 
  • xargs -l будет читать строки за строкой.
  • вам нужно настроить syslog.conf для трансляции. (заменяя local8 и info соответствующим значением)
  • Есть ли утилита netcat, которая использует unix-сокеты?
  • Как написать файл с netcat? И установите, чтобы он вырос до определенного размера и начал переписывать себя?
  • переносной способ завершения команды (netcat) после таймаута
  • / dev / tcp прослушать вместо nc listen
  • nc -l в фоновом закрытии немедленно закрывается (nc -l 1234 &)
  • Проверьте, работает ли telnet-порт в сценарии оболочки
  • Netcat не работает на Linux-сервере, работающем в сети VPN
  • Как отправить журналы аудита с помощью audisp-remote и получить их с помощью netcat
  • Как узнать, когда NC выполняется передача файла
  • Почему этот фрагмент оболочки проверяет, были ли хосты запущены с отключением netcat преждевременно?
  • Как сканировать исходящие закрытые порты с nmap?
  • netcat: отправить текст в службу эха, прочитать ответ, затем выйти
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.