Как отладить syslog-ng, не регистрируя логи UDP

1

Я пытаюсь заставить клиента войти на сервер syslog-ng. Однако, насколько я могу судить, syslog-ng не регистрирует, что он получил сообщение и не вошел в файл.

ПРИМЕЧАНИЕ. Все команды были запущены от имени пользователя root.

Это мой системный журнал-ng.conf

options {
        flush_lines (0);
        time_reopen (10);
        log_fifo_size (1000);
        long_hostnames (off);
        use_dns (no);
        use_fqdn (no);
        create_dirs (no);
        keep_hostname (yes);
};

source s_net {
        udp(port(514));
};

destination d_net {
        file("/var/log/test.log");
};

Это разрешения для сообщений и файла test.log (я знаю, что сообщения пишутся syslog-ng).

ls -lah test.log messages
-rw-------. 1 root root 73K Sep  4 10:19 messages
-rw-r--r--. 1 root root   0 Sep  4 10:28 test.log

Чтобы проверить подключение, я запускаю следующий тест. На сервере с syslog-ng я запускаю следующие команды:

service syslog-ng stop 
syslog-ng -dv (debug verbose mode)
nc -ul 514 (listen to udp packets on port 514)

На клиенте я запускаю следующие команды

nc -u IP_OF_SERVER 514
Hello World (Hit Enter)

На сервере я вижу, что получил сообщение udp:

[root@rhel6-64 syslog-ng]# nc -ul 514
Hello World 

Но я ничего не вижу в выводе syslog-ng:

[root@rhel6-64 syslog-ng]# syslog-ng -dv
Trying to open module; module='syslogformat', filename='/lib64/syslog-ng/libsyslogformat.so'
Trying to open module; module='basicfuncs', filename='/lib64/syslog-ng/libbasicfuncs.so'
Trying to open module; module='afsocket', filename='/lib64/syslog-ng/libafsocket.so'
Trying to open module; module='affile', filename='/lib64/syslog-ng/libaffile.so'
Trying to open module; module='afprog', filename='/lib64/syslog-ng/libafprog.so'
Trying to open module; module='afuser', filename='/lib64/syslog-ng/libafuser.so'
Trying to open module; module='dbparser', filename='/lib64/syslog-ng/libdbparser.so'
Trying to open module; module='csvparser', filename='/lib64/syslog-ng/libcsvparser.so'
Plugin module not found in 'module-path'; module-path='/lib64/syslog-ng', module='afsql'
Running application hooks; hook='1'
Running application hooks; hook='3'
syslog-ng starting up; version='3.2.5'

Обратите внимание, что "запуск syslog-ng; версия = '3.2.5'" - это последнее, что я вижу.

На данном этапе я не уверен, в чем проблема, и я хотел бы, чтобы кто-то объяснил мою проблему, или как отладить эту проблему дальше.

Джейсон Чжу
источник

Ответы:

3

Проблема заключалась в том, что я не читал справочные страницы достаточно хорошо. Когда я определил источник и пункт назначения, я не определил связь между ними (я предполагал, что, поскольку они оба имеют _net после s и d, они будут автоматически связываться друг с другом). Вместо этого мне нужно было добавить следующую строку в syslog-ng.conf

log { source(s_net); destination(d_net); }

Подводя итог, моя проблема заключалась в том, что я не связывал две конечные точки, и решение состоит в том, чтобы указать соединение между конечными точками с помощью блока журнала.

Джейсон Чжу
источник