14.3. TCP를 통한 원격 로깅을 위한 서버 구성


Rsyslog 애플리케이션을 사용하면 로깅 서버를 실행하고 개별 시스템을 구성하여 로그 파일을 로깅 서버로 보낼 수 있습니다. TCP를 통해 원격 로깅을 사용하려면 서버와 클라이언트를 둘 다 구성합니다. 서버는 하나 이상의 클라이언트 시스템에서 보낸 로그를 수집하고 분석합니다.

Rsyslog 애플리케이션을 사용하면 로그 메시지가 네트워크를 통해 서버로 전달되는 중앙 집중식 로깅 시스템을 유지 관리할 수 있습니다. 서버를 사용할 수 없을 때 메시지 손실을 방지하기 위해 전달 작업에 대한 작업 대기열을 구성할 수 있습니다. 이렇게 하면 보낼 수 없는 메시지는 서버에 다시 연결할 때까지 로컬에 저장됩니다. 이러한 큐는 UDP 프로토콜을 사용하여 연결에 대해 구성할 수 없습니다.

omfwd 플러그인은 UDP 또는 TCP를 통해 전달을 제공합니다. 기본 프로토콜은 UDP입니다. 플러그인이 내장되어 있으므로 로드할 필요가 없습니다.

기본적으로 rsyslog 는 포트 514 에서 TCP를 사용합니다.

사전 요구 사항

  • rsyslog가 서버 시스템에 설치되어 있습니다.
  • 서버에서 root 로 로그인했습니다.
  • policycoreutils-python-utils 패키지는 semanage 명령을 사용하여 선택적 단계에 대해 설치됩니다.
  • firewalld 서비스가 실행 중입니다.

절차

  1. 선택 사항: rsyslog 트래픽에 다른 포트를 사용하려면 포트 에 syslogd_port_t SELinux 유형을 추가합니다. 예를 들어 포트 30514 를 활성화합니다.

    # semanage port -a -t syslogd_port_t -p tcp 30514
  2. 선택 사항: rsyslog 트래픽에 다른 포트를 사용하려면 해당 포트에서 들어오는 rsyslog 트래픽을 허용하도록 firewalld 를 구성합니다. 예를 들어 포트 30514 에서 TCP 트래픽을 허용하십시오.

    # firewall-cmd --zone=<zone-name> --permanent --add-port=30514/tcp
    success
    # firewall-cmd --reload
  3. /etc/ECDHE.d/ 디렉토리에 라는 새 파일을 만듭니다(예: remotelog.conf ) 다음 콘텐츠를 삽입합니다.

    # Define templates before the rules that use them
    # Per-Host templates for remote systems
    template(name="TmplAuthpriv" type="list") {
        constant(value="/var/log/remote/auth/")
        property(name="hostname")
        constant(value="/")
        property(name="programname" SecurePath="replace")
        constant(value=".log")
        }
    
    template(name="TmplMsg" type="list") {
        constant(value="/var/log/remote/msg/")
        property(name="hostname")
        constant(value="/")
        property(name="programname" SecurePath="replace")
        constant(value=".log")
        }
    
    # Provides TCP syslog reception
    module(load="imtcp")
    
    # Adding this ruleset to process remote messages
    ruleset(name="remote1"){
         authpriv.*   action(type="omfile" DynaFile="TmplAuthpriv")
          *.info;mail.none;authpriv.none;cron.none
    action(type="omfile" DynaFile="TmplMsg")
    }
    
    input(type="imtcp" port="30514" ruleset="remote1")
  4. /etc/ECDHE.d/remotelog.conf 파일에 변경 사항을 저장합니다.
  5. /etc/ECDHE.conf 파일의 구문을 테스트합니다.

    # rsyslogd -N 1
    rsyslogd: version 8.1911.0-2.el8, config validation run...
    rsyslogd: End of config validation run. Bye.
  6. 로깅 서버에서 rsyslog 서비스가 실행 중이고 활성화되어 있는지 확인합니다.

    # systemctl status rsyslog
  7. rsyslog 서비스를 다시 시작합니다.

    # systemctl restart rsyslog
  8. 선택 사항: rsyslog 가 활성화되지 않은 경우 재부팅 후 rsyslog 서비스가 자동으로 시작되는지 확인합니다.

    # systemctl enable rsyslog

이제 로그 서버가 해당 환경의 다른 시스템에서 로그 파일을 수신하고 저장하도록 구성되어 있습니다.

추가 리소스

  • rsyslogd(8), rsyslog.conf(5), semanage(8)firewall-cmd(1) 매뉴얼 페이지.
  • /usr/share/doc/ECDHE/html/index.html 파일에 rsyslog-doc 패키지로 설치된 문서입니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.