15.4. RELP에서 로깅 RHEL 시스템 역할 사용


안정적인 이벤트 로깅 프로토콜(RELP)은 TCP 네트워크를 통한 데이터 및 메시지 로깅을 위한 네트워킹 프로토콜입니다. 이를 통해 이벤트 메시지를 안정적으로 전달할 수 있으며 메시지 손실을 허용하지 않는 환경에서 사용할 수 있습니다.

RELP 발신자는 명령 형태로 로그 항목을 전송하고 수신자는 해당 항목이 처리되면 이를 승인합니다. 일관성을 보장하기 위해 RELP는 모든 종류의 메시지 복구에 대해 전송된 각 명령에 트랜잭션 번호를 저장합니다.

RELP Client와 RELP 서버 간에 원격 로깅 시스템을 고려할 수 있습니다. RELP Client는 로그를 원격 로깅 시스템으로 전송하고 RELP 서버는 원격 로깅 시스템에서 보낸 모든 로그를 수신합니다. 이러한 사용 사례를 달성하기 위해 로깅 RHEL 시스템 역할을 사용하여 로그 항목을 안정적으로 전송하고 수신하도록 로깅 시스템을 구성할 수 있습니다.

15.4.1. RELP를 사용하여 클라이언트 로깅 구성

로깅 RHEL 시스템 역할을 사용하여 로컬에 저장된 로그 메시지를 RELP를 사용하여 원격 로깅 시스템으로 전송할 수 있습니다.

이 절차에서는 Ansible 인벤토리의 clients 그룹에 있는 모든 호스트에서 RELP를 구성합니다. RELP 구성은 TLS(Transport Layer Security)를 사용하여 네트워크를 통해 로그의 보안 전송을 위해 메시지 전송을 암호화합니다.

사전 요구 사항

절차

  1. 다음 콘텐츠를 사용하여 플레이북 파일(예: ~/playbook.yml )을 생성합니다.

    ---
    - name: Configure client-side of the remote logging solution using RELP
      hosts: managed-node-01.example.com
      tasks:
        - name: Deploy basic input and RELP output
          ansible.builtin.include_role:
            name: rhel-system-roles.logging
          vars:
            logging_inputs:
              - name: basic_input
                type: basics
            logging_outputs:
              - name: relp_client
                type: relp
                target: logging.server.com
                port: 20514
                tls: true
                ca_cert: /etc/pki/tls/certs/ca.pem
                cert: /etc/pki/tls/certs/client-cert.pem
                private_key: /etc/pki/tls/private/client-key.pem
                pki_authmode: name
                permitted_servers:
                  - '*.server.example.com'
            logging_flows:
              - name: example_flow
                inputs: [basic_input]
                outputs: [relp_client]

    예제 플레이북에 지정된 설정은 다음과 같습니다.

    대상
    이는 원격 로깅 시스템이 실행 중인 호스트 이름을 지정하는 필수 매개 변수입니다.
    port
    포트 번호 원격 로깅 시스템이 청취 중입니다.
    tls

    네트워크를 통해 로그의 보안 전송을 보장합니다. 보안 래퍼가 필요하지 않은 경우 tls 변수를 false 로 설정할 수 있습니다. 기본적으로 tls 매개변수는 RELP로 작업하는 동안 true로 설정되며 키/인증서 및 트립릿 {ca_cert,cert,private_key} 및/또는 {ca_cert_src,cert_src,private_key_src}가 필요합니다.

    • {ca_cert_src,cert_src,private_key_src} triplet가 설정되면 기본 위치 /etc/pki/tls/certs/etc/pki/tls/private 이 제어 노드에서 파일을 전송하는 대상으로 사용됩니다. 이 경우 파일 이름은 트립릿의 원래 이름과 동일합니다.
    • {ca_cert,cert,private_key} triplet가 설정되면 로깅 구성 전에 파일이 기본 경로에 있어야 합니다.
    • 두 트래블릿이 설정되어 있으면 파일이 로컬 경로에서 제어 노드에서 관리 노드의 특정 경로로 전송됩니다.
    ca_cert
    CA 인증서 경로를 나타냅니다. 기본 경로는 /etc/pki/tls/certs/ca.pem 이며 파일 이름은 사용자가 설정합니다.
    cert
    인증서 경로를 나타냅니다. 기본 경로는 /etc/pki/tls/certs/server-cert.pem 이며 파일 이름은 사용자가 설정합니다.
    private_key
    개인 키의 경로를 나타냅니다. 기본 경로는 /etc/pki/tls/private/server-key.pem 이며 파일 이름은 사용자가 설정합니다.
    ca_cert_src
    관리 노드에 복사되는 로컬 CA 인증서 파일 경로를 나타냅니다. ca_cert 를 지정하면 위치에 복사됩니다.
    cert_src
    관리 노드에 복사되는 로컬 인증서 파일 경로를 나타냅니다. cert 가 지정되면 해당 인증서가 위치에 복사됩니다.
    private_key_src
    관리 노드에 복사되는 로컬 키 파일 경로를 나타냅니다. private_key 가 지정되면 해당 키가 위치에 복사됩니다.
    pki_authmode
    인증 모드를 이름 또는 지문으로 허용합니다.
    permitted_servers
    로깅 클라이언트에서 TLS를 통해 로그를 연결하고 보낼 수 있는 서버 목록입니다.
    입력
    로깅 입력 사전 목록입니다.
    출력
    로깅 출력 사전 목록입니다.

    플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의 /usr/share/ansible/roles/rhel-system-roles.logging/README.md 파일을 참조하십시오.

  2. 플레이북 구문을 확인합니다.

    $ ansible-playbook --syntax-check ~/playbook.yml

    이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.

  3. 플레이북을 실행합니다.

    $ ansible-playbook ~/playbook.yml

추가 리소스

  • /usr/share/ansible/roles/rhel-system-roles.logging/README.md 파일
  • /usr/share/doc/rhel-system-roles/logging/ 디렉터리
  • rsyslog.conf(5)syslog Cryostat 매뉴얼 페이지

15.4.2. RELP를 사용하여 서버 로깅 구성

로깅 RHEL 시스템 역할을 사용하여 RELP를 사용하여 원격 로깅 시스템에서 로그 메시지를 수신하는 서버를 구성할 수 있습니다.

이 절차에서는 Ansible 인벤토리의 서버 그룹에 있는 모든 호스트에서 RELP를 구성합니다. RELP 구성은 TLS를 사용하여 네트워크를 통해 로그의 보안 전송을 위해 메시지 전송을 암호화합니다.

사전 요구 사항

절차

  1. 다음 콘텐츠를 사용하여 플레이북 파일(예: ~/playbook.yml )을 생성합니다.

    ---
    - name: Configure server-side of the remote logging solution using RELP
      hosts: managed-node-01.example.com
      tasks:
        - name: Deploying remote input and remote_files output
          ansible.builtin.include_role:
            name: rhel-system-roles.logging
          vars:
            logging_inputs:
              - name: relp_server
                type: relp
                port: 20514
                tls: true
                ca_cert: /etc/pki/tls/certs/ca.pem
                cert: /etc/pki/tls/certs/server-cert.pem
                private_key: /etc/pki/tls/private/server-key.pem
                pki_authmode: name
                permitted_clients:
                  - '*example.client.com'
            logging_outputs:
              - name: remote_files_output
                type: remote_files
            logging_flows:
              - name: example_flow
                inputs: relp_server
                outputs: remote_files_output

    예제 플레이북에 지정된 설정은 다음과 같습니다.

    port
    포트 번호 원격 로깅 시스템이 청취 중입니다.
    tls

    네트워크를 통해 로그의 보안 전송을 보장합니다. 보안 래퍼가 필요하지 않은 경우 tls 변수를 false 로 설정할 수 있습니다. 기본적으로 tls 매개변수는 RELP로 작업하는 동안 true로 설정되며 키/인증서 및 트립릿 {ca_cert,cert,private_key} 및/또는 {ca_cert_src,cert_src,private_key_src}가 필요합니다.

    • {ca_cert_src,cert_src,private_key_src} triplet가 설정되면 기본 위치 /etc/pki/tls/certs/etc/pki/tls/private 이 제어 노드에서 파일을 전송하는 대상으로 사용됩니다. 이 경우 파일 이름은 트립릿의 원래 이름과 동일합니다.
    • {ca_cert,cert,private_key} triplet가 설정되면 로깅 구성 전에 파일이 기본 경로에 있어야 합니다.
    • 두 트래블릿이 설정되어 있으면 파일이 로컬 경로에서 제어 노드에서 관리 노드의 특정 경로로 전송됩니다.
    ca_cert
    CA 인증서 경로를 나타냅니다. 기본 경로는 /etc/pki/tls/certs/ca.pem 이며 파일 이름은 사용자가 설정합니다.
    cert
    인증서의 경로를 나타냅니다. 기본 경로는 /etc/pki/tls/certs/server-cert.pem 이며 파일 이름은 사용자가 설정합니다.
    private_key
    개인 키의 경로를 나타냅니다. 기본 경로는 /etc/pki/tls/private/server-key.pem 이며 파일 이름은 사용자가 설정합니다.
    ca_cert_src
    관리 노드에 복사되는 로컬 CA 인증서 파일 경로를 나타냅니다. ca_cert 를 지정하면 위치에 복사됩니다.
    cert_src
    관리 노드에 복사되는 로컬 인증서 파일 경로를 나타냅니다. cert 가 지정되면 해당 인증서가 위치에 복사됩니다.
    private_key_src
    관리 노드에 복사되는 로컬 키 파일 경로를 나타냅니다. private_key 가 지정되면 해당 키가 위치에 복사됩니다.
    pki_authmode
    인증 모드를 이름 또는 지문으로 허용합니다.
    permitted_clients
    로깅 서버가 TLS를 통해 로그를 연결하고 보낼 수 있는 클라이언트 목록입니다.
    입력
    로깅 입력 사전 목록입니다.
    출력
    로깅 출력 사전 목록입니다.

    플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의 /usr/share/ansible/roles/rhel-system-roles.logging/README.md 파일을 참조하십시오.

  2. 플레이북 구문을 확인합니다.

    $ ansible-playbook --syntax-check ~/playbook.yml

    이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.

  3. 플레이북을 실행합니다.

    $ ansible-playbook ~/playbook.yml

추가 리소스

  • /usr/share/ansible/roles/rhel-system-roles.logging/README.md 파일
  • /usr/share/doc/rhel-system-roles/logging/ 디렉터리
  • rsyslog.conf(5)syslog Cryostat 매뉴얼 페이지
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.