Я пытаюсь использовать NXLog для пересылки журналов из файла на одном компьютере в файл на другом компьютере. Я новичок в NXLog, но чувствую, что теперь хорошо разбираюсь в нем после ознакомления с документацией. Ниже мой файл конфигурации сначала для компьютера "с", а затем для компьютера "с". Однако, похоже, это не работает.
Я думаю, что проблема заключается в одном или нескольких из следующего:
Конфигурационный файл NXLog AWS Windows ec2 box ip / port setup Настройка сети Вот что я сделал:
Конфигурационный файл NXLog "С" компьютера:
define ROOT C:\Program Files (x86)\nxlog
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
LogFile %ROOT%\data\nxlog.log
<Extension _syslog>
Module xm_syslog
</Extension>
<Input file>
Module im_file
File "C:\Logs\AllLogItems.txt"
InputType LineBased
</Input>
<Output tcp>
Module om_tcp
Host 52.91.47.52
Port 3389
OutputType LineBased
</Output>
<Route 1>
Path file => tcp
</Route>
"К" компьютеру конфигурационный файл NXLog:
define ROOT C:\Program Files (x86)\nxlog
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
LogFile %ROOT%\data\nxlog.log
<Extension _syslog>
Module xm_syslog
</Extension>
<Input in>
Module im_tcp
InputType LineBased
</Input>
<Output out>
Module om_file
File "C:\Users\Administrator\logs\\nxlog_test.txt"
CreateDir FALSE
Truncate FALSE
OutputType LineBased
</Output>
<Route 1>
Path in => out
</Route>
Для компьютера «к», согласно документации, если хост не указан, по умолчанию используется localhost.
Когда я запускаю службу NXLog на компьютере "с", журнал выглядит следующим образом:
2016-01-21 19:37:05 INFO nxlog-ce-2.9.1504 started
2016-01-21 19:37:05 INFO connecting to 52.91.47.52:3389
И затем, когда я запускаю свое приложение, которое будет писать журналы (что затем вызовет реакцию nxlog), журнал nxlog будет выглядеть так:
2016-01-21 19:37:05 INFO nxlog-ce-2.9.1504 started
2016-01-21 19:37:05 INFO connecting to 52.91.47.52:3389
2016-01-21 19:40:25 INFO reconnecting in 1 seconds
2016-01-21 19:40:26 INFO connecting to 52.91.47.52:3389
Когда я запускаю NXLog на компьютере «к», все кажется в порядке, поскольку файл журнала nxlog выглядит следующим образом:
2016-01-22 01:05:04 INFO nxlog-ce-2.9.1504 started
Теперь «к» компьютеру - это Windows-машина AWS ec2. Порт, который я использую в nxlog (3389), - это порт RDP, назначенный экземпляру:
Я думал, что хотя в журнале nxlog не было ошибок, этот порт вызывал проблемы, поскольку он может использоваться. Поэтому я попытался открыть еще несколько TCP-портов (5000-5010), как показано на рисунке. Однако, когда я пробую любой из этих портов (5000-5010) в файле конфигурации nxlog, я получаю эту ошибку:
2016-01-21 19:50:32 INFO nxlog-ce-2.9.1504 started
2016-01-21 19:50:32 INFO connecting to 52.91.47.52:5005
2016-01-21 19:50:53 INFO reconnecting in 1 seconds
2016-01-21 19:50:53 ERROR couldn't connect to tcp socket on 52.91.47.52:5005; A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
Я как бы ожидал этого, потому что когда я захожу на сайт вроде yougetsignal.com, он все равно говорит, что порты 5000-5010 закрыты. Так что это может быть проблемой.
Я пытался отладить это несколько дней, и у меня закончились варианты. Спасибо за вашу помощь.
Для компьютера «к», согласно документации, если хост не указан, по умолчанию используется localhost.
Да, но localhost (обычно 127.0.0.1) недоступен извне, поэтому вам нужно заставить его прослушивать доступный адрес. Вашему экземпляру ввода im_tcp нужно это:
Host 0.0.0.0
Вы также должны указать там порт.