Jump to content

Ловим syslog через socat или netcat


Recommended Posts

Не так давно мой Омни II активно одолевали баги и дабы выяснить их причину надо было писать логи. Предложенный в данной теме syslog-ng меня не устроил перегруженностью и гемморойной настройкой и я решил прикрутить на Омни для сбора логов то же самое, что ранее использовал на смартфонах для ловли логов. А именно socat или netcat. Достаточно указать сам роутер в качестве приёмника логов и натравить socat/netcat (ставится отдельно) на прослушивание 514 порта и дело в шляпе. Есть правда небольшой нюанс - записанный лог не имеет форматирования и для приведения его в читабельный вид нужен редактор с поддержкой regexp'ов, через который в логе нужно заменить <[0-9]{1,3}>на "\n". Как вариант, можно прогнать через sed

cat syslog.txt|sed -r "s/<[0-9]{1,3}>/\n/g" > syslog_fix.txt

Вот мой велосипед

#!/bin/sh
	PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin
	start()
{
socat -u UDP-RECV:514 STDOUT >> /opt/var/log/syslog.txt &
}
	stop()
{
        killall socat
}
case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        restart)
                stop
                sleep 3
                start
                ;;
        *)
                echo "Usage: $0 {start|stop|restart}"
                ;;
esac

вместо socat можно использовать netcat (только полноценный)

nc -l -u -p 514 >> /opt/var/log/syslog.txt &

У такого решения есть ряд минусов и плюсов. Главный плюс - данный костыль прост как табуретка и требует минимальной настройки. Минусы - неформатированный лог, отсутствие загрузочной информации и пожалуй отсутствие ранжирования логов по датам. При желании это всё можно запилить, но я намеренно не стал усложнять скрипт ибо для моих нужд его с лихвой хватает. Надеюсь кому-нибудь такое решение пригодится. Если кто допилит - будет ещё лучше :)

  • Thanks 3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...