우분투에 기본적으로 설치되어 있는지는 모르겠지만, 저는 설치가 되어 있어서 설정 부분만 안내합니다.

개인적으로는 syslog는 UDP Port 514로 로그를 수집하는 상황으로 설정합니다.

 

/etc/rsyslog.conf 설정하기

  • module(load="imudp") 라인의 주석 제거
  • input(type="imudp" port="514") 라인의 주석 제거
# /etc/rsyslog.conf configuration file for rsyslog
#
# For more information install rsyslog-doc and see
# /usr/share/doc/rsyslog-doc/html/configuration/index.html
#
# Default logging rules can be found in /etc/rsyslog.d/50-default.conf


#################
#### MODULES ####
#################

module(load="imuxsock") # provides support for local system logging
#module(load="immark")  # provides --MARK-- message capability

# provides UDP syslog reception
module(load="imudp") # 주석 제거
input(type="imudp" port="514") # 주석 제거

# provides TCP syslog reception
#module(load="imtcp")
#input(type="imtcp" port="514")

# provides kernel logging support and enable non-kernel klog messages
module(load="imklog" permitnonkernelfacility="on")

###########################
#### GLOBAL DIRECTIVES ####
###########################

#
# Use traditional timestamp format.
# To enable high precision timestamps, comment out the following line.
#
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

# Filter duplicated messages
$RepeatedMsgReduction on

#
# Set the default permissions for all log files.
#
$FileOwner syslog
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$PrivDropToUser syslog
$PrivDropToGroup syslog

#
# Where to place spool and state files
#
$WorkDirectory /var/spool/rsyslog

#
# Include all config files in /etc/rsyslog.d/
#
$IncludeConfig /etc/rsyslog.d/*.conf

 

/etc/rsyslog.d/ 폴더에 원하는 conf 파일 생성

  • 저는 원격으로 syslog를 수집하기 때문에 10-remote.conf로 생성하였습니다.
logmgmt@syslogserver:/etc/rsyslog.d$ ls -al
total 28
drwxr-xr-x   2 root root  4096 12월  1 18:48 .
drwxr-xr-x 131 root root 12288 12월  1 18:46 ..
-rw-r--r--   1 root root   130 12월  1 18:48 10-remote.conf
-rw-r--r--   1 root root   314  9월 19  2021 20-ufw.conf
-rw-r--r--   1 root root  1122 12월  1 18:47 50-default.conf
logmgmt@syslogserver:/etc/rsyslog.d$

 

/etc/rsyslog.d/10-remote.conf

logmgmt@syslogserver:cat /etc/rsyslog.d$ cat 10-remote.conf
# syslog 수신 시 저장할 위치 및 파일 설정 템플릿
$template Remote,"/var/log/rsyslog/%fromhost-ip%/%$YEAR%-%$MONTH%-%$DAY%.log"

# syslog 수신 시 fromhost-ip가 127.0.0.1이 아닌 경우 템플릿 Remote 정책을 적용
:fromhost-ip, !isequal, "127.0.0.1" ?Remote

# 템플릿 Remote로 수신한 경우 로그 처리 중지
# 중지하지 않을 경우, OS에서 수집하는 syslog나 message에도 로그가 수집 됨 (중복 수집)
& stop
logmgmt@syslogserver:/etc/rsyslog.d$

'기술 노트 > ubuntu' 카테고리의 다른 글

logstash 설정하기  (1) 2023.12.04
elasticsearch 설정하기  (0) 2023.12.04
우분투에서 IP 주소 확인하기  (1) 2023.12.04
disk mount 하기  (0) 2023.12.01
kibana 설치하기  (0) 2023.12.01

+ Recent posts