LINUX.ORG.RU
ФорумAdmin

Настройка Syslog-ng на внешнюю работу.

 


0

2

Всем доброго дня.
Цель настроить Syslog-ng на сбор логов с сетевых устройств.
Для настройки Syslog-ng использовал статью:
http://redhat-club.org/2011/%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-syslog-ng-%D0%B4%D0%BB%D1%8F-%D1%86%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE-%D1%81%D0%B1%D0%BE%D1%80%D0%B0-%D0%B8-%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D1%85-%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9
Но Syslog-ng всё равно не слушает 514 порт.
Настраиваю на CentOS 7.
SELinux выключен.
IPTable выключен.
Что я делаю не так? Подскажите в какую сторону копать?

подожди подожди, не показывай конфиг и логи, я сейчас сам обо всём догадаюсь

zolden ★★★★★
()
Ответ на: комментарий от vel

source s_remote { udp (ip («0.0.0.0») port (514)); };
0.0.0.0 как я понял, принимать логи с любого ip-адреса.
Слушает ли Syslog-ng 514 порт, проверяю командой: netstat -ltp
Но в результате выполнения команды netstat -ltp упоминания про syslog-ng нет.

twinconst
() автор топика
Ответ на: комментарий от twinconst

Слушает ли Syslog-ng 514 порт, проверяю командой: netstat -ltp
Но в результате выполнения команды netstat -ltp упоминания про syslog-ng нет.

а если netstat -ltpnu

(без u netstat UDP не показывает, а у тебя source s_remote { udp (ip («0.0.0.0») port (514)); }; )

Sigizmund
()
Ответ на: комментарий от Sigizmund

Вывод netstat -ltpnu следующий: Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1773/master tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1784/mysqld tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1231/sshd tcp6 0 0 ::1:25 :::* LISTEN 1773/master tcp6 0 0 :::80 :::* LISTEN 1218/httpd tcp6 0 0 :::22 :::* LISTEN 1231/sshd udp 0 0 0.0.0.0:5353 0.0.0.0:* 477/avahi-daemon: r udp 0 0 0.0.0.0:33280 0.0.0.0:* 477/avahi-daemon: r udp 0 0 0.0.0.0:514 0.0.0.0:* 6745/syslog-ng Но по udp портам нет не какого статуса. Это нормально?

twinconst
() автор топика
Ответ на: комментарий от twinconst

0.0.0.0 как я понял, принимать логи с любого ip-адреса.

Нет. Демона вешать на все интерфейсы.

Но по udp портам нет не какого статуса. Это нормально?

да

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от AS

Для доступа по 514 порту понадобилось разрешить порты в firewall командами:
firewall-cmd --zone=public --add-port=514/tcp --permanent firewall-cmd --zone=public --add-port=514/udp --permanent И перезапустить firewall командой:
firewall-cmd --reload
Вместо 0.0.0.0 я использую ip сервера на котором установлен syslog-ng: 192.168.1.18
source s_sys { system(); internal(); udp (ip (192.168.1.18) port(514)); udp (ip (192.168.1.18) port(514)); }; Могу ли я как-то проверить доступ из сети по 514 порту по протоколу udp. Например telnet'ом или ещё каким нибудь способом?

twinconst
() автор топика
Ответ на: комментарий от twinconst

Так ты же будешь знать, по какому отправил. Кроме того, твой syslog tcp не слушает, как показал netstat. Ну и tcpdump никто не отменял.

AS ★★★★★
()
Ответ на: комментарий от twinconst

В качестве источника я использую:

Это ты в качестве приёмника используешь, во-первых, а, во-вторых, netstat это не показывает. Или ты это недавно переделал ?

AS ★★★★★
()
Ответ на: комментарий от AS

Добавил сравнительно недавно.
netstat эти настройки показывает.
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1773/master tcp 0 0 192.168.1.18:514 0.0.0.0:* LISTEN 11034/syslog-ng tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1784/mysqld tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1231/sshd tcp6 0 0 ::1:25 :::* LISTEN 1773/master tcp6 0 0 :::80 :::* LISTEN 1218/httpd tcp6 0 0 :::22 :::* LISTEN 1231/sshd udp 0 0 0.0.0.0:5353 0.0.0.0:* 477/avahi-daemon: r udp 0 0 0.0.0.0:33280 0.0.0.0:* 477/avahi-daemon: r udp 0 0 192.168.1.18:514 0.0.0.0:* 11034/syslog-ng Просто я не смог подключится через telnet на 514 порт, когда открывал 514 порт только по протоколу upd. Не могу понять принимаются ли сообщения по этому протоколу или нет. Как можно это проверить?
И второе, у меня логи пишутся в файл:
destination r_syslog {file("/var/log/servers/$HOST/$YEAR/$MONTH/$DAY/syslog"}; Мне нужно настроить запись в БД для дальнейшего просмотра логов через kibana

twinconst
() автор топика
Ответ на: комментарий от twinconst

Просто я не смог подключится через telnet на 514 порт, когда
открывал 514 порт только по протоколу upd.

1. А с чего бы утилите telnet использовать udp ?
2. Кто, вообще, сказал, что syslog, даже слушающий tcp, должен на попытку соединения telnet-ом что-то выдать ?

Как можно это проверить ?

Читать, что было написано выше по проводу проверки настроек источника и tcpdump.

AS ★★★★★
()
Ответ на: комментарий от AS

должен на попытку соединения telnet-ом что-то выдать ?

Хотя, на самом деле, текст в tcp-шный порт, действительно, ловит.

AS ★★★★★
()

У меня работает со следующими настройками:

        create_dirs (yes);
        dir_group(logusers);
        dir_perm(0750);

### remote logs
#

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

destination d_net {
   file( "/var/log/remote/$HOST/$HOST.$FACILITY.log" template("$DATE $FACILITY $MESSAGE\n") template_escape(off) perm(0640) group(logusers) );
   };

log { source(s_net); destination(d_net); };
sin_a ★★★★★
()
Ответ на: комментарий от AS

С протоколами пока всё понятно. telnet действительно использует только tcp протокол.
Второй вопрос остаётся в силе:
У меня логи пишутся в файл:
destination r_syslog {file("/var/log/servers/$HOST/$YEAR/$MONTH/$DAY/syslog"}; Мне нужно настроить запись в БД для дальнейшего просмотра логов через kibana
Как это сделать?

twinconst
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.