CentOS 7 / rsyslog / 로그 서버 구축하는 방법

CentOS을 설치하면 로그 기록을 위한 rsyslog 패키지가 설치되고 실행됩니다. 로그는 로컬 컴퓨터에 저장되는데, 관리하는 컴퓨터가 여러 대인 경우 각각의 로그를 따로 모니터링하는 것이 불편할 수 있습니다. 그런 경우 하나의 컴퓨터를 로그를 수집하는 서버로 만들어서 그 서버에 로그가 쌓이게 하면, 좀 더 수월하게 로그를 관리할 수 있습니다.

rsyslog는 간단한 설정 변경으로 로그 서버와 클라이언트를 만들 수 있습니다. 서버와 클라이언트 모두 CentOS가 OS라고 가정하겠습니다. 혹시 rsyslog가 설치되어 있지 않다면 다음과 같이 명령하여 설치하세요.

yum install rsyslog

로그 서버 만들기

  • 텍스트 편집기로 설정 파일을 엽니다.
vi /etc/rsyslog.conf
  • 다음 두 줄을 찾아...
#$ModLoad imtcp
#$InputTCPServerRun 514
  • 주석을 지우고 저정합니다.
$ModLoad imtcp
$InputTCPServerRun 514
  • CentOS 8이라면 다음 두 줄을 찾아 주석을 제거합니다.
#module(load="imtcp") # needs to be done just once
#input(type="imtcp" port="514")
  • rsyslog를 다시 시작합니다.
systemctl restart rsyslog
  • 클라이언트와의 통신은 514 포트를 사용합니다. 방화벽에서 열어줍니다.
firewall-cmd --add-port=514/tcp --permanent
  • 방화벽을 다시 로드합니다.
firewall-cmd --reload

로그 클라이언트 만들기

  • 텍스트 편집기로 설정 파일을 엽니다.
vi /etc/rsyslog.conf
  • 제일 밑에 다음 코드를 추가합니다. 192.168.0.111은 로그 수집 서버의 IP로 변경하세요.
*.* @@192.168.0.111:514
  • rsyslog를 다시 시작합니다.
systemctl restart rsyslog

테스트 하기

  • 로그 수집 서버에서 다음과 같이 명령합니다.
  • 클라이언트를 재부팅하거나, 패키지를 설치하는 등 어떤 작업을 하면 로그가 쌓이는 걸 볼 수 있습니다.
tail -f /var/log/messages

로그를 데이터베이스에 저장하기

로그를 파일이 아닌 데이터베이스에 저장할 수 있습니다. CentOS 7 패키지에 포함된 MariaDB에 저장해보겠습니다.

  • MariaDB를 설치합니다.
yum install mariadb-server
  • 부팅 시 자동으로 시작되도록 합니다.
systemctl enable mariadb.service
  • MariaDB를 시작합니다.
systemctl start mariadb.service
  • root 비밀번호 등 몇가지를 설정합니다.
mysql_secure_installation
  • rsyslog-mysql 패키지를 설치합니다.
yum install rsyslog-mysql
  • 로그를 저장할 데이터베이스를 가져옵니다.
mysql -u root -p < /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql
  • MariaDB에 들어간 후...
mysql -u root -p
  • rsyslog 사용자를 만듭니다. 비밀번호를 1234로 한다면 다음과 같이 명령합니다.
create user 'rsyslog'@'localhost' identified by '1234';
  • 로그가 쌓이는 데이터베이스 이름은 Syslog입니다. rsyslog 사용자에게 권한을 부여합니다.
grant all privileges on Syslog.* to 'rsyslog'@'localhost';
  • rsyslog 설정 파일(/etc/rsyslog.conf)에 다음을 추가합니다.
$ModLoad ommysql
$ActionOmmysqlServerPort 3306
*.* :ommysql:127.0.0.1,Syslog,rsyslog,1234
같은 카테고리의 다른 글
CentOS 7 / hostname 확인하고 변경하는 방법

CentOS 7 / hostname 확인하고 변경하는 방법

명령어 이용하기 hostname 확인 다음과 같이 명령하면 hostname을 출력한다. hostname hostname 변경 다음과 같이 명령하면 hostname을 abc로 변경한다. hostnamectl set-hostname abc 설정 파일 이용하기 hostname 확인 hostname 설정 파일은 /etc/hostname이다. 그 파일을 열거나 다음과 같이 명령하여 설정 파일의 내용을 볼 수 있다. cat /etc/hostname hostname 변경 텍스트 편집기로 열면 한 줄의 코드가 있는데, 그것이 hostname이다. 그 코드를 바꾸고 저장하면 hostname이 변경된다. 변경 사항 ...

CentOS 7 / SSH / 포트 변경하는 방법

CentOS 7 / SSH / 포트 변경하는 방법

리눅스 서버에 SSH 접속을 하는 공격이 있습니다. SSH Brute Force라고 하는데, 여러 아이디와 비밀번호로 로그인을 시도하는 공격입니다. 이 공격을 방어하는 방법은 여러가지가 있습니다. root 계정으로 로그인 못하게 하기 암호를 복잡하게 만들기 접속 가능 IP를 정하기 SSH 포트 번호 바꾸기 이 중에서 SSH 포트 번호 바꾸는 방법을 정리해보겠습니다. CentOS 7 기준이며, 포트 번호를 1980으로 바꾼다고 가정하겠습니다. SSH 설정 파일 ...

CentOS 7 / 고정 IP 설정하는 방법

CentOS 7 / 고정 IP 설정하는 방법

CentOS를 설치할 때 네트워크를 설정할 수 있다. GUI 환경이므로 네트워크 설정을 알고 있다면 쉽게 고정 IP로 설정할 수 있다. 만약 DHCP로 설치했다면 다음과 같은 방법으로 고정 IP 설정을 할 수 있다. 네트워크 설정 파일 수정 네트워크 설정 파일은 /etc/sysconfig/network-scripts에 있다. 파일 이름은 ifcfg-enp0s3 처럼 생겼다. 텍스트 에디터로 열면 다음과 같이 설정되어 있다. TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="dhcp" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="enp0s3" UUID="91af51db-7cf0-4069-9433-77d356b31bca" DEVICE="enp0s3" ONBOOT="yes" CentOS 버전 ...

CentOS 8 / 언어 변경하는 방법

CentOS 8 / 언어 변경하는 방법

현재 언어 확인하기 # localectl System Locale: LANG=en_US.UTF-8 VC Keymap: us X11 Layout: us 사용 가능한 언어 확인하기 # localectl list-locales C.utf8 en_AG en_AU en_AU.utf8 en_BW en_BW.utf8 en_CA en_CA.utf8 en_DK en_DK.utf8 en_GB en_GB.iso885915 en_GB.utf8 en_HK en_HK.utf8 en_IE en_IE.utf8 en_IE@euro en_IL en_IN en_NG en_NZ en_NZ.utf8 en_PH en_PH.utf8 en_SC.utf8 en_SG en_SG.utf8 en_US en_US.iso885915 en_US.utf8 en_ZA en_ZA.utf8 en_ZM en_ZW en_ZW.utf8 ko_KR.euckr ko_KR.utf8 언어를 한글로 변경하기 # localectl set-locale LANG=ko_KR.utf8 # localectl System Locale: LANG=ko_KR.utf8 ...

CentOS / 버전 확인하는 방법

CentOS / 버전 확인하는 방법

cat /etc/redhat-release # cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) cat /etc/*release* # cat /etc/*release* CentOS Linux release 7.4.1708 (Core) Derived from Red Hat Enterprise Linux 7.4 (Source) NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7" CentOS Linux release 7.4.1708 (Core) CentOS Linux release 7.4.1708 (Core) cpe:/o:centos:centos:7

CentOS Stream 8 / 설치하기

CentOS Stream 8 / 설치하기

다운로드 CentOS Stream 페이지로 접속한다. 을 선택한다. 시스템에 맞는 링크를 클릭한다. 가까운 미러 리스트가 나오는데, 적당한 것을 클릭한다. 보통 네이버나 카카오가 빠르다. CentOS-Stream-8-x86_64-20210927-boot.iso 또는 CentOS-Stream-8-x86_64-20210927-dvd1.iso를 다운로드 한다. 설치 물리적 기기라면 부팅 가능한 USB를 만들어서, 가상 머신이라면 ISO 파일을 이용해서 부팅한다. Install CentOS Stream 8-stream을 선택하고 엔터키를 누른다. 언어를 선택하고 를 클릭한다. 빨간색 경고를 다 해결해야 설치가 진행된다. Network & Host Name을 ...

CentOS 8 / NAS의 공유 폴더 마운트하는 방법

CentOS 8 / NAS의 공유 폴더 마운트하는 방법

저장소로 또는 공유 목적으로 NAS를 사용합니다. 윈도우라면 네트워크 드라이브 연결로 NAS의 파일에 접근합니다. 리눅스라면 좀 번거로운 과정을 거칩니다. 아래는 CentOS 8에서 NAS의 공유 폴더에 접근하는 방법입니다. TUI cifs-utils 패키지를 설치합니다. dnf install cifs-utils 다음과 같이 마운트합니다. 192.168.0.101은 NAS의 IP, file은 공유 폴더 이름, /mnt/file는 마운트가 될 폴더, jb는 사용자 이름, 1234는 비밀번호입니다. 환경에 맞게 수정합니다. mount ...

CentOS 8 / 원격 데스크톱으로 연결하는 방법

CentOS 8 / 원격 데스크톱으로 연결하는 방법

서버용으로 CentOS를 사용하는 경우 보통 Minimal로 설치하고, 원격 접속은 SSH로 한다. 하지만 하드웨어 사양이 좋아지고 사용의 편리함으로 GUI(Graphical User Interface)를 설치하는 경우도 많아지고 있다. GUI가 설치되어 있다면 SSH보다는 원격 데스크톱으로 관리하는 게 편하다. CentOS에 원격 데스크톱으로 접속하는 방법을 알아본다. 패키지 설치 다음과 같이 명령하여 EPEL(Extra Packages of Enterprise Linux) 저장소를 추가한다. yum install ...

CentOS 7 / SELinux 끄는 방법

CentOS 7 / SELinux 끄는 방법

방법 1 다음과 같이 명령하면 SELinux가 꺼진다. 재부팅하면 다시 SELinux가 켜진다. setenforce 0 만약 다시 SELinux를 사용하고 싶다면 다음과 같이 명령한다. setenforce 1 방법 2 /etc/selinux/config에 다음과 같은 코드가 있다. SELINUX=enforcing 다음과 같이 바꾼다. SELINUX=disabled 시스템을 재부팅하면 적용된다. 방법 1과는 달리 재부팅해도 설정이 유지된다.

CentOS 7 / Samba / 설치하고 공유 폴더 만드는 방법

CentOS 7 / Samba / 설치하고 공유 폴더 만드는 방법

Samba 설치 Samba 패키지 이름은 samba입니다. yum install samba 방화벽 설정 Samba가 사용하는 포트를 열어줍니다. firewall-cmd --permanent --zone=public --add-service=samba 방화벽을 다시 로드합니다. firewall-cmd --reload 참고 : CentOS 7 / firewall-cmd 명령어로 방화벽 관리하기 SELinux SELinux를 적절히 설정하거나 끕니다. 참고 : CentOS 7 / SELinux 끄는 방법 Samba 사용자 추가 사용자가 Samba를 사용할 수 있도록 해줍니다. 만약 사용자계정이 user1이라면 다음과 같이 합니다. smbpasswd -a user1 Samba 설정 Samba 설정 ...