본문 바로가기
  • ▒ 네모의 쉽게 배우는 네트워크 | 개발 ▒
네트워크 운영도구 개발/모니터링 시스템 개발

zabbix 서버에서 syslog 수집하기 -2 : Rsyslog 설정

by 너l모 2022. 3. 24.
반응형

※ 업무하면서 습득한 내용들을 정리해 놓은 포스팅입니다 :P 추가로 궁금하신 점은 댓글로 남겨주시고 필요한 자료 있으면 요청주세요! 잘못된 내용이 있으면 고쳐주시면 감사하겠습니다. 자료 퍼가실 때는 출처 남겨주세요!


 ο 목차

     


    ※ 코드 보는 방법 참고

    ㅇ 달러 기호($)가 있는 경우 -> 리눅스 터미널에서 CLI 명령어 입력

    ㅇ "=#" 기호가 있는 경우 -> psql 쉘에서 명령어 입력

    ㅇ 꺽쇠가 하나 있는 경우(>) -> 윈도우 명령 프롬프트(cmd)에서 명령어 입력

    ㅇ 꺽쇠가 세개 있는 경우(>>>) -> python 쉘에서 명령어 입력


    지난 포스팅에 이어 zabbix 서버에서 syslog 수집을 위한 Rsyslog 설정 방법에 대해 포스팅 하겠습니다. 

     

    ※ 지난 포스팅이 궁금하신 분은 아래 링크 클릭 ↓

    zabbix 서버에서 syslog 수집하기 -1 (tistory.com)

     

    ※ 아래 가이드는 Centos7 기준으로 작성된 내용으로, 우분투나 기타 OS를 사용하는 분들은 상세 명령어를 제외한 작업 흐름 정도만 참고 부탁드립니다. ※

     

    1. Rsyslog 설치

    1) Rsyslog 설치 확인

    (1) yum으로 확인

    $ sudo yum list installed | grep rsyslog

    (2) find로 확인

    $ sudo find / -name "*rsyslog*"

     

     2) Rsyslog 설치

    (1) Rsyslog 설치 명령어

    $ sudo yum update
    $ sudo yum install rsyslog

     

    2. Rsyslog 서비스 활성화

    1) Rsyslog 서비스 상태 확인

     - 아래 명령어로 서비스 상태 확인

    $ sudo systemctl status rsyslog.service

    - 아래 빨간 박스의 enabled 여부와 active 여부 확인

    - enabled 상태가 아닌 경우 "3) Rsyslog 서비스 등록하기" 수행

    - active 상태가 아닌 경우 "2) Rsyslog 서비스 시작하기" 수행

    2) Rsyslog 서비스 시작하기

    - 아래 명령어로 Rsyslog 서비스 시작 후 1)로 돌아가 상태 확인

    $ sudo systemctl start rsyslog.service

    3) Rsyslog 서비스 등록하기

    - 아래 명령어로 Rsyslog 서비스 등록 후 1)로 돌아가 상태 확인

    $ sudo systemctl enable rsyslog.service

    ※ 서비스 등록(enabled) 된 경우 서버 재부팅시 자동으로 서비스 시작. disabled 된 경우는 재부팅 시 자동으로 시작되지 않으므로 수동으로 서비스를 시작해줘야함. 

     

    3. Rsyslog 설정 변경

    1) rsyslog.conf 파일 편집

    - 편집기로 rsyslog.conf 파일 열기

    $ sudo vi /etc/rsyslog.conf

     - rsyslog.conf 파일에 아래 내용 추가하기

    ※ rsyslog에서 udp 패킷을 수신할 수 있도록 설정

    #### MODULES ####
    $ModLoad imudp
    
    #### Templates ####
    $template RemoteHost, "/var/syslog/remote_syslog.log"
    
    # Remote Logging
    $RuleSet remote
    *.* ?RemoteHost
    
    *.* @@W.X.Y.Z:514
    
    #### Listeners ####
    # bind ruleset to tcp listener
    $InputUDPServerBindRuleset remote
    
    # and activate it:
    $UDPServerRun 514

     

    - 외부에서 모니터링 서버로 보낸 udp 로그 패킷은 설정에 따라 "/var/syslog/remote_syslog.log"에 저장됨

     

    4. 방화벽 설정(firewall-cmd)

    - udp 로그 패킷을 수신할 수 있도록 514 포트 허용

    $ sudo firewall-cmd --permanent --add-port=514/udp

    - 정책 reload 하여 변경한 내용 적용

    $ sudo firewall-cmd --reload

    - 설정된 정책 내용 확인

    $ sudo firewall-cmd --list-all

     

     

    여기까지 작업하면 Rsyslog에서 외부 로그 udp 패킷을 받아서 서버에 저장할 수 있습니다.

    마지막으로 아래 링크를 타고 Syslog 통합 도구 설정 작업 완료하면 Zabbix에서 syslog를 수집할 수 있습니당.  

     

    ㅇ zabbix 서버에서 syslog 수집하기 -3 : Zabbix syslog intergration 설정

    zabbix 서버에서 syslog 수집하기 -3 : Zabbix syslog intergration 설정 (tistory.com)

     

    zabbix 서버에서 syslog 수집하기 -3 : Zabbix syslog intergration 설정

    ※ 업무하면서 습득한 내용들을 정리해 놓은 포스팅입니다 :P 추가로 궁금하신 점은 댓글로 남겨주시고 필요한 자료 있으면 요청주세요! 잘못된 내용이 있으면 고쳐주시면 감사하겠습니다. 자

    nem0.tistory.com

     


    ※ 좋아요와 구독은 큰 힘이 됩니다. 감사합니다. 

     

    반응형

    댓글