소개
remote_syslog2는 로컬 로그 파일을 읽어 원격 syslog 서버로 전송하는 자체 포함 데몬입니다. Papertrail에서 개발 및 유지보수하며, 시스템 syslog 데몬에 의존하지 않고 독립적으로 동작합니다. 로그 수집이 필요한 서버 및 데몬, 시스템 로거 재구성이 불편한 경우, 데몬이 생성하지 않는 파일(예: 패키지 관리자 로그) 집계 등에 사용됩니다. MIT 라이선스로 배포되며, Windows를 포함한 여러 플랫폼용 사전 컴파일된 바이너리를 제공합니다.
상세정보
로그 파일 모니터링 및 전송
지정된 로그 파일을 실시간으로 감시하여 새로운 로그 항목이 발생하면 즉시 원격 syslog 서버로 전송합니다. 와일드카드(예: *.log)를 지원하여 여러 파일을 한 번에 모니터링할 수 있습니다.
다양한 전송 프로토콜 지원
기본적으로 UDP를 사용하지만, 긴 메시지 전송이 필요한 경우 TCP 또는 TLS를 사용할 수 있습니다. –tls 옵션을 통해 암호화된 연결을 설정할 수 있으며, 구성 파일에 protocol: tls를 추가하여 동일한 효과를 낼 수 있습니다.
로그 파일 이름 기반 태그 지정
전송되는 syslog 메시지의 태그(프로그램 이름)로 로그 파일의 기본 이름을 사용합니다. 예를 들어 /var/log/mysqld.log 파일은 ‘mysqld.log’라는 태그로 전송됩니다. 필요에 따라 구성 파일의 tag 옵션 또는 명령줄에서 직접 태그를 지정할 수 있습니다.
로그 로테이션 처리
logrotate와 같은 외부 로그 로테이션 도구와 호환되도록 설계되었습니다. 파일이 이동되거나 이름이 변경되어도 새로운 인덱스의 파일을 계속 추적하며, copytruncate 모드에서도 정상 동작합니다. 로그 파일이 잘려서 NUL 바이트로 채워진 경우 이를 감지하고 폐기한 후 실제 로그만 전송합니다.
다운로드·설치 방법
Windows용 사전 컴파일된 바이너리는 공식 릴리스 페이지에서 다운로드할 수 있습니다. 다운로드 후 압축을 해제하고 remote_syslog 실행 파일을 시스템 경로에 등록하거나 특정 폴더에 배치합니다. 압축 해제 시 포함된 example_config.yml 파일을 참조하여 구성을 시작할 수 있습니다.
기본 사용법/명령어
설치 후 명령줄에서 remote_syslog를 실행하여 로그 전송을 시작할 수 있습니다. 기본 구성 파일 경로는 /etc/log_files.yml이며, -c 옵션으로 다른 파일을 지정할 수 있습니다. 원격 syslog 서버의 호스트와 포트는 -d 및 -p 옵션으로 설정하며, TLS 사용 시 –tls 플래그를 추가합니다.
예를 들어, example_config.yml에 정의된 로그 파일과 추가로 /var/log/mysqld.log를 읽어 PID를 /tmp/remote_syslog.pid에 저장하고 포트 12345로 전송하려면 다음 명령을 사용합니다:
remote_syslog -c example_config.yml -p 12345 –pid-file=/tmp/remote_syslog.pid /var/log/mysqld.log
터미널에 붙어 있으면서 기존의 /etc/log_files.yml 파일을 사용하고 시설(local0)을 지정하여 a.example.com:514로 전송하려면 다음과 같이 실행합니다:
remote_syslog -D -d a.example.com -f local0 /var/log/mysqld.log
이런 경우에 유용합니다
내장 syslog 지원이 없는 애플리케이션이나 서비스의 로그를 중앙 서버로 수집해야 할 때 유용합니다. 예를 들어, 커스텀 애플리케이션 로그나 패키지 관리자 출력과 같이 표준 시스템 로거와 통합되지 않는 파일들을 모니터링할 수 있습니다. 또한 시스템 로거 재구성이 복잡하거나 제한된 환경에서 독립적인 로그 전송 에이전트로 활용할 수 있습니다.
지원 환경·시스템 요구사항
remote_syslog2는 Windows를 포함한 여러 운영 체제에서 실행됩니다. Windows용 바이너리는 공식 릴리스 페이지에서 제공되며, 압축 해제 후 바로 실행할 수 있습니다. 실행에는 별도의 런타임 의존성이 없으며, 네트워크 접근이 가능한 환경에서 원격 syslog 서버로 연결해야 합니다.
최신 버전·업데이트
현재 버전은 0.21이며, 공식 GitHub 저장소의 릴리스 페이지에서 최신 버전과 업데이트 내역을 확인할 수 있습니다. 버전 정보는 명령줄에서 -V 또는 –version 옵션을 사용하여 확인할 수 있습니다.
제한 사항·확인 사항
한 번에 하나의 원격 syslog 서버만 설정할 수 있습니다. 구성 파일과 명령줄 옵션이 동시에 제공될 경우 명령줄 옵션이 우선 적용됩니다. 로그 파일의 인코딩이나 언어에 대한 특별한 처리는 수행하지 않으며, 바이트 스트림 그대로 전송합니다.
FAQ
remote_syslog2는 무료로 사용할 수 있나요?
예, MIT 라이선스 하에 오픈소스로 제공되며, 비용 없이 다운로드하고 사용할 수 있습니다.
Windows에서 실행할 수 있나요?
예, Windows용 사전 컴파일된 바이너리가 공식 릴리스 페이지에서 제공됩니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


