syslog, rsyslog 및 syslog-ng의 차이점은 무엇입니까?


61

syslog, rsyslog 및 syslog-ng에서 약간 혼란 스럽습니다.

어디에서 소스 코드를 얻을 수 syslog()있습니까?

rsyslog와 rsyslogd간에 차이점이 있습니까?


D 문자가있는 rsyslogd는 rsyslogd 데몬입니다
c4f4t0r

3
완벽을 기하기 위해, 나는 당신에게 영향을 줄 수도 영향을 줄 한 가지 차이점을 추가 할 것입니다. syslog-ng는 fopen을 사용하고 rsyslog는 fappend를 사용합니다. 이것은 chattr +asyslog 파일의 경우 중요 합니다. 대부분의 사람들은 이것을하지 않고, 단지 특별한 유스 케이스를 가지고 있었고 이것이 내가 알게 된 방법입니다. 방금 많은 사람들이 울부 짖었습니다.
Aaron

답변:


52

기본적으로 중앙 리포지토리의 서로 다른 유형의 시스템에서 데이터를 기록 할 수있는 방식으로 모두 동일합니다.

그러나 이들은 서로 다른 세 가지 프로젝트이며, 각 프로젝트는 이전 프로젝트를 더 많은 안정성과 기능으로 개선하려고합니다.

Syslog프로젝트는 최초의 프로젝트였습니다. 그것은 1980 년에 시작되었습니다. 그것은 Syslog프로토콜 의 루트 프로젝트 입니다. 현재 Syslog는 매우 간단한 프로토콜입니다. 처음에는 전송을 위해 UDP 만 지원하므로 메시지 전달을 보장하지 않습니다.

다음은 syslog-ng1998 년에 나왔습니다 . 다음 syslog과 같은 새로운 기능 으로 기본 프로토콜을 확장 합니다.

  • 컨텐츠 기반 필터링
  • 데이터베이스에 직접 로그인
  • 전송을위한 TCP
  • TLS 암호화

다음은 Rsyslog2004 년에 나왔습니다 . 다음 syslog과 같은 새로운 기능 으로 프로토콜을 확장 합니다

  • RELP 프로토콜 지원
  • 버퍼링 된 작업 지원

오늘날이 프로젝트는 버전별로 개별적으로 성장했지만 이웃의 활동과 관련하여 동시에 성장한 3 개의 동시 프로젝트라고 가정 해 봅시다.

개인적으로 오늘날 syslog-ng은 쉽고 포괄적 인 설정 및 구성 외에도 필요한 주요 기능을 제공하는 가장 성숙한 프로젝트이므로 대부분의 경우 참조가 될 것이라고 생각 합니다.


1
기록을 위해 OpenBSD의 syslog는 TCP 및 TLS (및 UDP)를 수행 할 수 있습니다
Neil McGuigan

32

이들은 3 가지 종류의 로그 관리자입니다. 시스템에서 필터를 수집하고 로그를 전송 / 저장할 수 있습니다.

  • Syslog(데몬이라고도 함 sysklogd)은 일반적인 Linux 배포판의 기본 LM입니다. 가볍지 만 매우 유연하지는 않지만 시설 및 심각도별로 정렬 된 로그 플럭스를 파일 및 네트워크 (TCP, UDP)로 리디렉션 할 수 있습니다.
  • rsyslogsysklogd구성 파일이 동일하게 유지 되는 "고급"버전입니다 ( syslog.conf파일을 직접 복사하여 rsyslog.conf작동 할 수 있음). 그러나 당신은 그것과 함께 새로운 멋진 물건을 많이 가지고 있습니다 :

    • 제한 사항 (포트, 소스 IP)을 사용하여 TCP / UDP / ... 연결을들을 수 있습니다
    • 많은 모듈을로드 할 수 있습니다
    • 프로그램, 소스, 메시지, pid 등으로 로그 필터링을 구별 할 수 있습니다 (예 : 메시지 "connexion closed"로 태그가 지정된 각 메시지는 closed.log 파일에 표시됨)
    • 하나 이상의 규칙 후에 메시지를 버릴 수 있습니다. http://www.rsyslog.com 을 방문 하십시오.
  • Syslog-ng는 "Next-Gen"입니다. 로그를 관리하는 가장 좋은 방법이라고 생각합니다. 모든 것이 객체 (소스, 대상, 필터 및 전달 규칙)이며 구문이 명확합니다. 그 기능면에서 의심 rsyslogsyslog-ng다릅니다.


8
나는 syslog-ng와 rsyslog가 모두 '차세대'이거나 적어도 오래된 syslog의 새로운 대체품이라고 주장합니다. 둘 다 기능면에서 비교할 수 있지만 구문은 매우 다릅니다. syslog-ng에는 고유 한 구문이 있지만 rsyslog의 구문은 이전 syslog 구문과 비슷합니다.
Stefan Lasiewski

9
그리고 거기에 journalctl/journald
Mausy5043

9

syslog ()의 소스 코드는 어디서 얻을 수 있습니까?

이것은 다른 Unix 버전의 glibc 또는 libc 구현에 의해 제공됩니다 . 이 호출은 기본적으로 메시지를 syslog 유닉스 도메인 소켓 / dev / log에 제출합니다. 이 소켓은 일반적으로 시스템 로거 (예 : rsyslog, syslog-ng, nxlog 등)에 의해 작성됩니다.


3

rsyslog 및 syslog-ng는 (대부분 유지 관리되지 않은) 기존 syslogd를 더 빠르고 기능이 풍부한 대체 제품인 모든 syslog 데몬입니다. syslog-ng는 처음부터 (구성 형식이 다름) 처음부터 시작되었지만 rsyslog는 원래 syslogd의 포크로 구문을 지원하고 확장했습니다. 최근 몇 년 동안 rsyslog는 새로운 구성 형식도 지원하기 시작했습니다. 지금까지 두 가지를 구체적으로 설명하고 화염 전쟁을 시작하지 않고 두 가지를 비교하는 것은 정말 어렵습니다.

Syslog는 일반적으로 여러 가지 일 수 있으므로 혼란 스럽습니다. 나는 명확하게 여기에서 총을 맞았다 : https://sematext.com/blog/2017/01/30/what-is-syslog-daemons-message-formats-and-protocols/

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.