네트워크 시스템에서 syslog 로그를 받으려면 어떻게해야합니까?


23

DD-WRT 라우터에서 로그를 수신하도록 Ubuntu를 구성하고 싶습니다. 라우터의 구성 화면에는 다음 섹션이 있습니다.

DD-WRT 시스템 로그

기록의 문서는

원격 시스템에 로그를 보내려면 syslog 유틸리티를 실행중인 해당 머신의 IP 주소를 입력하십시오 (라우터가 전송 한 로그를 승인하려면 개방형 네트워크 소켓이 필요함).

나는 syslog를 사용한 적이 없다. 이 로그를 수신하려면 우분투에서 무엇을해야합니까?


Motorola Surfboard Extreme SBG901이 DD-WRT와 비슷한 설정 인 것 같습니다. 이 질문에 대한 다른 인터넷 검색을 위해 해당 키워드를 추가한다고 생각했습니다.
호브

답변:


23

로그를 수신하는 호스트는 원격 로그를 청취하도록 구성된 일부 syslog 데몬을 실행해야합니다. 우분투에는 여러 가지 syslog 구현이 있지만 rsyslog일반적으로 권장되며 기본적으로 설치해야합니다. DD-WRT가 TCP 또는 UDP를 통해 로그를 전송하는 경우 게시 한 링크의 문서에서 알 수 없으므로 네트워크 액세스 가능한 수를 줄이는 것이 우려되는 경우 정확한 설정을 찾기 위해 약간의 실험이 필요할 수 있습니다. 호스트의 포트.

이를 활성화하는 두 가지 방법이 있습니다. 첫 번째 방법은 더 간단하지만 시스템을 업그레이드 할 때 재 통합이 필요할 수 있습니다. 두 번째는 약간 더 복잡하며 업데이트의 일부로 syslog 구성에 중대한 변경이있는 경우 혼란스러운 결과를 초래할 수 있습니다. 두 번째를 선택하지만 선호도가 다를 수 있습니다.

첫 번째는 편집 하고 다음 행에서 /etc/rsyslogd.conf이니셜 #을 제거하는 것입니다 .

# $ ModLoad imudp
# $ UDPServerRun 514

또는

# $ ModLoad imtcp
# $ InputTCPServerRun 514

두 번째는 아마도라는 이름의 새 파일을 만드는 것입니다 local-enable-tcp.conf에를 /etc/rsyslog.d/다음과 같은 내용으로, :

# TCP syslog 수신 활성화
$ ModLoad imtcp
$ InputTCPServerRun 514

별도의 파일 접근 방식을 사용하고 UDP가 필요한 경우 위의 UDP 스탠자와 일치하도록 컨텐츠를 변경하십시오. 특정 파일 이름은 중요하지 않지만이 네임 스페이스는 로컬 관리자 구성을 위해 예약되어 있으므로 "local-"로 시작하는 것이 좋습니다. 이와 같이 끝나는 파일 만 자동으로 포함되므로 ".conf"로 끝나야합니다. rsyslog 구성.

다른 syslog 구현을 사용하려면 해당 구현에 대한 구성 및 문서를 확인하십시오. syslog 데몬은 기본적으로 네트워크에서 수신 대기하지 않도록 구성 될 수 있지만이 일반적인 경우를 가능하게하는 구성 예는 명확하게 문서화되어야합니다.


1
기존의 다른 .conf 파일과 관련하여 순서를 정하기 위해 두 자리 숫자로 파일 이름을 시작하는 것이 좋습니다.
enzotib

어, 그것은 복잡 할 수 있습니다. 패키지 이름이 두 자리 숫자로 시작할 수없는 이유는 없으며 .d / $ {package}-. conf는 모두 패키지에 예약되어 있습니다 (예 : 72-local-myconf.conf와 충돌하지는 않지만) ). 둘째, 순서가 중요하지 않도록 구성 파일을 작성하는 것이 중요합니다. 예를 들어, 가상 "0access"패키지에서 0access.conf가 제공 한 구성 파일은 대부분의 구성 파일이 두 자리 숫자로 시작하기 전에 적용됩니다.
Emmet Hikory

1
또한 로그 파일의 소유권 sudo chown syslog:adm /var/log/syslog또는 로그 파일의 이름 을 변경해야 할 수도 있습니다.
호브

6

또 다른 옵션은 syslog-ng를 사용하고 사용하기 쉬우므로 지금 바로 사용할 수 있습니다!

sudo apt-get install syslog-ng

설치 후에는 /etc/syslog-ng/syslog-ng.conf에 conf 파일이 있습니다. 따라서이 .conf를 매개 변수로 편집하십시오. 그러나 그 전에 기본 구성 파일을 백업하면 나중에 유용 할 수 있습니다. 일부 매개 변수를 조정하고 싶습니다

sudo mv /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf.bak

이제 새로운 설정 파일을 생성하고 편집하십시오!

sudo touch /etc/syslog-ng/syslog-ng.conf
sudo nano /etc/syslog-ng/syslog-ng.conf

따라서이 기본 구성을 붙여 넣으면 작동합니다.

# Listening to incoming UDP Syslog connections
source mysource { udp(); };

#Add the syslog targets:

destination dest { file("/var/log/Cisco$YEAR$MONTH$R_DAY.log"); };
#destination dest_other_server { udp("1.2.3.4" port(514)); };
#Create the filters that will be used to determine what to do with the received syslog message

#filter filter { ( host("2.3.4.5") and level(notice) and match("username=.*@domain\.local" value("MESSAGE") flags("utf8" "ignore-case")) ); };
filter myfilter { ( level(notice) ); };
#And putting it all together:

log { source(mysource); filter(myfilter); destination(dest);  };

보시다시피 쉽게. 조심해!


-2

기본적으로 서버에서 dd-wrt 라우터가 로그를 게시 할 데몬 (syslogd)을 실행합니다.

튜토리얼-http: //www.techiecorner.com/1479/how-to-setup-syslog-server-in-ubuntu/


5
지침이 여전히 유효한지 확인하지 않고 이전 가이드의 주소를 게시하지 마십시오. 안내서에 이름이 지정된 파일은 더 이상 존재하지 않습니다. 우분투는 rsyslog를 사용합니다.
enzotib

@enzotib-품질이 떨어지고 링크를 피해야한다는 데 동의하지만 답변은 Ubuntu 8.04 서버에서 동일한 작업을 수행하는 데 필요한 것을 정확하게 제공 한 것으로 나타났습니다 . 프로덕션 시스템에서 여전히 사용되고있는 syslog의 세 가지 변형에 대한 세 가지 답변이 있습니다 . 이 답변은 유용했습니다. 그것은 나로부터 +1을 얻는다.
ghoti

사실이지만 이것은 기본적으로 링크 전용 답변입니다.
던컨 X 심슨
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.