본문 바로가기
설치 및 기술 자료/Linux

[Linux] Rsyslog 의 템플릿 설정 및 MariaDB 연동 구성

by 주식회사 서버몬 2023. 4. 14.

안녕하세요. 주식회사 서버몬 입니다.

지난번 Rsyslog 의 기본편에 이어서 이번 포스팅에서는 Rsyslog 의 템플릿을 설정하는 방법 및

MariaDB와 연동하는 방법에 대해서 알아보도록 하겠습니다.

 

https://servermon.tistory.com/535

 

[Linux] 원격 시스템 로그 Rsyslog 구성

안녕하세요. 주식회사 서버몬 입니다. 금번 포스팅은 Rsyslog를 사용한 원격 로깅 시스템에 대한 이해와 구축을 진행 하도록 하겠습니다. 로그란? 로그는 모든 소프트웨어 및 운영체제에 중요한

servermon.tistory.com

 

템플릿 설정은 여러 원격지에서 다수 서버에게 로그를 전송 받을 때에 이를 구분해서 저장하는 용도 및

원하는 부분만 저장할 수 있는 기능 입니다.

 

MariaDB 로의 연동은 로그파일에 대해 보관만이 목적이라면 파일단위, 폴더단위로 보관하는 것이

관리측면에서도 용이하지만, 장기간 쌓인 로그에서 특정 문자열, 패턴 등을 검색할 경우에는 파일단위로

검색이 어렵기 때문에 사용하게 됩니다. 

 

또한, 특정 로그 등을 수집하여 관제하는 모니터링 시스템과의 연동에도 필요한 부분이기 때문에

시스템 상태를 모니터링 하기에 적합 합니다.

 

그럼, 먼저 템플릿을 설정하는 방법과 내용에 대해서 알아보고 이를 기반한 데이터를 DB와 연동하여

구축하는 방법에 대해서 알아보도록 하겠습니다.

 

※ 로그 수집 서버는 Rocky 8.6 버전을 기준으로 만들어졌습니다.

 

 

템플릿의 설정 및 활용

  1. 먼저 원격지 서버에서 로그를 받을 때 호스트 네임을 구분하기 위해서 /etc/hosts 에 등록 합니다.

      (등록하지 않으면 IP로 구분되어 저장 됩니다.)

    - 2대 서버를 각각 hosts 에 등록해 주었습니다.

 

  2. 원격지 서버에서의 로그를 로컬 서버에 쓰기가 가능하도록 SELINUX 설정을 disabled 로 변경

      서버를 재 부팅 합니다. (변경하지 않으면 원격지 서버의 로그를 특정 영역에만 쓸 수 있습니다.)

 

  3. /etc/rsyslog.conf 파일을 편집하여 원격지 서버의 로그를 받도록 설정 및 기록할 규칙을 생성 합니다.

    - # RULES 하단에 기록 하였으며, 각각 메세지의 규칙을 설정 합니다. 

    1) $template SysMsg,  "/data/%fromhost%/messages-%$YEAE%-%$MONTH%-%$DAY%.log"

        부분은 해당 메세지에 대해 어느 경로에 어떤 규칙을 주어 기록할 것인가를 설정 합니다.

        (/data/호스트명/파일명-년-월-일.log 방식으로 저장 됩니다.)

    2) *.info;mail.none;authpriv.none;cron.none  ?SysMsg 부분은 특정 규칙의 메세지를 기록할

        파일을 설정 합니다. (info 레벨의 메세지를 SysMsg 에 기록 합니다.)

 

    - 로그를 받을 모듈 (tcp 또는 utp) 을 선택하여 사용할 수 있도록 주석을 해제 합니다.

      또한 외부에서 514 포트를 사용하여 접속할 수 있도록 주석을 해제 합니다.

      (이 과정에서 OS방화벽 또는 물리 방화벽이 있는 경우 꼭 연결상태를 확인 하도록 합니다.)

 

  4. 위와같이 설정 후 service rsyslog restart 를 통해 서비스를 재 시작하면 아래와 같이 로그 파일이

      각 폴더마다 생성되는 것을 확인할 수 있습니다.

 

 

MariaDB 와의 연동 설정 및 사용

  1. MariaDB 설치를 위해 아래 명령어를 입력하여 repo 를 설정하고 설치 합니다.

      (Rocky 8 버전은 MariaDB 를 설치 하는 방법이 다릅니다.)

    1) curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.8 (repo 에 MariaDB 10.8 버전을 등록 합니다.)

 

    2) sudo dnf install mariadb-server maiadb (설정되어 있는 repo 에서 해당 프로그램을 다운받아 설치 합니다.)

 

  2. Rsyslog 로그를 DB에 기록하기 위해 rsyslog-mysql 모듈을 설치 합니다.

    - yum install rsyslog-mysql 명령어로 설치가 가능 합니다.

 

  3. rsyslog-mysql 이 설치되면 DB를 생성할 수 있도록 쿼리문이 특정 경로에 생깁니다.

    1) /usr/share/doc/rsyslog 경로로 이동 후 vim mysql-createDB.sql 쿼리문을 편집으로 들어 갑니다.

 

    2) 상단 부분의 Database 명을 수정이 가능 합니다. 기본값으로 사용해도 무방 합니다.

 

    3) 수정된 쿼리문을 통하여 로그를 저장할 테이블을 생성 합니다.

      - mysql -uroot -p < mysql-createDB.sql  명령어로 생성이 가능합니다.

 

    4) MariaDB 에 접속하여 만들어진 Database 를 사용할 계정을 생성하고 권한을 부여 합니다.

      - create user 'testuser(사용자명)'@'localhost(접속허용범위)' identified by '패스워드';

      - grant all privileges on Smon_Syslog(Database명).* to 'testuser(사용자명)'@'localhost(접속허용범위)';

      - flush privileges; (권한 적용)

 

    5) vim /etc/rsyslog.conf 로 설정 파일을 편집하여 Database에 Insert 되는 값들을 설정 합니다.

      - $ModLoad ommysql

        $ActionOmmysqlServerPort 3306  (DB 모듈 연결을 확인합니다.)

      - template 란을 통해 DB에 Insert 될 값의 규칙과 속성값을 설정 합니다.

      - *.*(전송할 데이터 종류)  :ommysql:127.0.0.1(접속할DB주소),Smon_Syslog(Database명), 

        testuser(사용자명), 1234qwer(패스워드)

 

    6) 설정을 마치고 rsyslog 서비스를 재 시작 한 다음 DB로 접속 합니다.

      - service rsyslog restart 명령어를 통해 rsyslog 서비스를 재 시작 합니다.

      - mysql -uroot -p (후 패스워드 입력) 을 통해 MariaDB 로 접속 합니다.

      - use Smon_Syslog; (생성한 Database명) 을 통해 Database 로 이동 합니다.

 

    7) 접속이 완료되면 select 구문을 통해 데이터를 조회 합니다.

      - 로그 데이터들이 계속 쌓이면 양이 많아지기 때문에 메시지의 특정 항목, 기간의 설정, 발생한 서버 등을

        구문으로 조합하여 조회가 가능 합니다.       

 

 

마치며.

  - Rsyslog 는 다양한 소스에서 데이터를 받아 여러형식으로 관리가 가능하고 성능이 좋은 오픈소스 기반

  로그처리 시스템으로, 시스템의 상태를 체크하여 알림을 주는 서비스 들과 연동이 많이 되어 사용하는

  경우가 많이 있습니다.

  

  - 다음편에는 아래와 같이 직접 웹 소스로 확인할 수 있도록 LOG ANALYZER 과 추가 연동을 하는 방법에 

    대해서 알아볼 예정 입니다.

 

감사합니다.

 

# 참고한 페이지

  - https://tech.osci.kr/2022/07/25/%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EB%A1%9C%EA%B7%B8-2%ED%8E%B8-%EC%83%81%ED%99%A9%EC%97%90-%EB%A7%9E%EA%B2%8C-%EA%B4%80%EB%A6%AC%ED%95%B4%EB%B3%B4%EC%9E%90/

 

  - https://www.sierracloud.kro.kr/rsyslog-mysql-log-analyzer-%EC%84%A4%EC%B9%98/

 

 

 

 

 

HPE, 레노버, 델 서버, 워크스테이션, 기업용 노트북 등 IT 제품은 서버몬에서 견적받아보세요~

제품에 대한 상담을 희망하시면, 02-2026-5062 or sales@servermon.co.kr로 문의 주세요.

서버몬에서 운영하는 IT 쇼핑몰을 구경하시려면, 하단의 로고를 클릭해주세요.

 

1u서버 / APC / DB / defog / DEFOG랙 / dell5820 / dell5820t / dell7920 / dellpoweredge / dellr240 / dellr340 / dellr350 / dellr450 / dellr540 / dellr630 / dellr640 / dellr740 / dellr750 / dellserver / dellt40 / dellt440 / dellt5820 / dell서버 / DELL서버CPU / DELL서버RAID컨트롤러 / DELL서버SAS하드디스크 / DELL서버가격비교 / DELL서버가격비교견적 / DELL서버견적 / DELL서버구매 / DELL서버디스크교체 / DELL서버메모리 / DELL서버펌웨어 / DELL서버하드디스크구매 / dell워크스테이션 / dl20 / dl20gen10 / dl360 / dl360gen10 / dl380 / dl380g10 / dl380gen10 / ECC메모리 / EDFOG랙가격 / ESTSOFT / FIRMWARE / gpu서버 / gpu타워형서버 / HA솔루션 / hpdl20 / hpdl360 / hpdl360gen10 / hpdl380 / hpdl380g10 / HPE / HPE Service Pack for Proliant / HPE SPP / hpedl20 / hpedl20gen10 / hpedl360gen10 / hpe서버 / HPE서버CPU / HPE서버RAID컨트롤러 / HPE서버SAS하드디스크 / HPE서버가격비교 / HPE서버가격비교견적 / HPE서버견적 / HPE서버구매 / HPE서버드라이버설치 / HPE서버디스크교체 / HPE서버메모리 / HPE서버비용 / HPE서버펌웨어 / HPE서버하드디스크구매 / hpgen10 / hpml30 / hpserver / hpz2 / hpz4 / hpz420 / hpz440 / hpz4g4 / hpz640 / hpz6g4 / hpz8g4 / hp마이크로서버 / hp서버 / hp서버800 / hp서버800w / hp서버cto / hp서버pc / HP서버메모리 / hp서버컴퓨터 / HP서버펌웨어 / HP서버하드디스크 / hp워크스테이션 / hp프로라이언트 / HYPER BACKUP / ibm서버 / Intelligent Provisioning / KVM / KVM 기술지원비(비용) / KVM 설치비 / L2스위치 / L3스위치 / LENONO서버SAS하드디스크 / lenovop620 / lenovor650 / LENOVO서버 / LENOVO서버CPU / LENOVO서버RAID컨트롤러 / LENOVO서버가격비교 / LENOVO서버가격비교견적 / LENOVO서버견적 / LENOVO서버구매 / LENOVO서버디스크교체 / LENOVO서버메모리 / LENOVO서버하드디스크구매 / LENOVO펌웨어업데이트 / Linux / ML30 / ml30gen10 / ML350GEN10 / ML360 / MSSQL / MSSQL 기술지원비(비용) / MSSQL 설치비 / MYSQL / MySQL 기술지원비(비용) / MySQL 설치비 / OS설치 / p17079-b21 / poweredger740 / poweredger750 / precision5820 / QUADRO / QUADRO그래픽카드 / r240 / r340 / r440 / r740 / RHEL설치 / RMS랙 / server / serverpc / SOPHOS / SPP / sr250 / sr650 / SYNOLOGY / SYNOLOGY나스 / UPS / UPS기술지원 / UPS납품 / UPS설치 / V3 / Windows서버설치 / z420 / z620 / z840 / z8g4 / 기술지원비(비용) / 나스기술지원 / 나스설치지원 / 네트워크스위치 / 네트워크장비 / 더블테이크 / 데이터베이스 / 델5820 / 델서버 / 델서버비용 / 델서버펌웨어업데이트 / 델워크스테이션 / 델컴퓨터워크스테이션 / 디포그 / 디포그랙 / 디포그랙가격 / 딥러닝pc / 딥러닝서버 / 랙 / 랙(RACK) 기술지원비(비용) / 랙(RACK) 설치비 / 랙납품설치 / 랙설치 / 레노버p620 / 레노버서버 / 레노버워크스테이션 / 레노보서버 / 레노보서버펌웨어 / 레드헷설치 / 리눅스 기술지원비(비용) / 리눅스 설치비 / 리눅스서버 / 리눅스서버설치 / 리눅스서버트러블슈팅 / 리눅스트러블슈팅 / 리욱스 / 미니서버 / 미니서버랙 / 방화벽 / 방화벽 기술지원비(비용) / 방화벽 설치비 / 방화벽엔지니어 / 백업 / 보안솔루션 / 보안솔루션구매 / 보안솔루션설치 / 서버 / 서버 기술지원비(비용) / 서버 랙마운트비용 / 서버 설치비 / 서버 장애조치비용 / 서버CPU / 서버MEMORY / 서버OS설치 / 서버pc / 서버가격 / 서버구매 / 서버기술지원 / 서버납품 / 서버디스크장애처리 / 서버랙 / 서버렉마운트 / 서버메모리 / 서버몬 / 서버몬기술지원 / 서버백업 / 서버보안 / 서버엔지니어 / 서버용pc / 서버용그래픽카드 / 서버용메모리 / 서버용컴퓨터 / 서버용하드디스크 / 서버컴 / 서버컴퓨터 / 서버트러블슈팅 / 서버호스팅 / 소포스 / 스위치 / 스위치 기술지원비(비용) / 스위치 설치비 / 스토리지 / 스토리지 기술지원비(비용) / 스토리지 랙마운트비용 / 스토리지 설치비 / 스토리지 장애조치비용 / 스토리지납품설치 / 스토리지서버 / 시놀로지DS918 / 시놀로지HyperBackup / 시놀로지나스 / 시놀로지나스백업 / 시놀로지하이퍼백업 / 시큐어디스크 / 안랩 / 알약 / 왼도우서버설치 / 우분투설치 / 워크스테이션 / 워크스테이션pc / 워크스테이션컴퓨터 / 윈도우서버 / 윈도우서버2016 / 윈도우서버2019 / 윈도우서버트러블슈팅 / 윈도우즈 기술지원비(비용) / 윈도우즈 설치비 / 이스트소프트 / 이중화솔루션 / 이중화솔루션구매 / 이중화솔루션설치 / 인터넷디스크 / 작업장컴퓨터 / 제온서버 / 젠서버 / 중고서버 / 중고워크스테이션 / 카보나이트 / 카스퍼스키 / 컴퓨터서버 / 쿼드로P400 / 타워형서버 / 페도라설치 / 프로라이언트 / GPU서버 / 미니서버렉 / 서버용PC / 젠서버 / AI서버 / 제온서버 / 서버가격 / 1U서버 / HPDL20Gen10 / HP서버8SFF800W / 가상서버 / 타워형서버 / HPDL360 / HPDL380Gen10 / 컴퓨터서버 / 미디어서버 / 타워서버 / DB서버 / HP서버580 / HP서버파워 / HPDL360Gen10 / 윈도우서버컴퓨터 / XEON서버 / 881457-B21

댓글