태그 보관물: Syslog

Syslog Server 설정

Server Side

  • CentOS(RHEL)의 경우 기본 경로는 /var/log/* 이며 필요시 아래와 같이 /logs/* 로 변경이 가능 합니다.
  • CentOS 7 설치
# vi /etc/rsyslog.conf
// 커널 로그 모듈 활성화
$ModLoad imklog
// 로그 저장 경로 변경 또는 추가
*.info;mail.none;authpriv.none;cron.none    /logs/messages
authpriv.*                                  /logs/secure
cron.*                                      /logs/cron
uucp,news.crit                              /logs/spooler
local7.*                                    /logs/boot.log

// Service 재시작
# systemctl restart rsyslog
  • CentOS 6 설치
# vi /etc/rsyslog.conf
// 커널 로그 모듈 활성화
$ModLoad imklog
// 로그 저장 경로 변경 또는 추가
*.info;mail.none;authpriv.none;cron.none    /logs/messages
authpriv.*                                  /logs/secure
cron.*                                      /logs/cron
uucp,news.crit                              /logs/spooler
local7.*                                    /logs/boot.log

// Service 재시작
# service rsyslog restart

Client Side

  • 리눅스의 경우 rsyslog.conf 또는 syslog.conf에 아래 행을 추가 하여 Syslog 서버로 로그를 전송할 수 있습니다.
  • CentOS 7 설치
# vi /etc/rsyslog.conf
// 커널 로그 모듈 활성화
$ModLoad imklog
// 로그 서버 IP(ex> 192.168.0.200) 또는 Hostname 추가
*.* @192.168.0.200

// Service 재시작
# systemctl restart rsyslog
  • CentOS 6 설치
# vi /etc/rsyslog.conf
// 커널 로그 모듈 활성화
$ModLoad imklog
// 로그 서버 IP(ex> 192.168.0.200) 또는 Hostname 추가
*.* @192.168.0.200

// Service 재시작
# service rsyslog restart
  • Windows 설치(eventlog-to-syslog)
  1. 윈도우 계열의 이벤트로그(eventlog)를 Syslog 서버로 전송
  2. App 다운 및 압축 해제(http://code.google.com/p/eventlog-to-syslog)
  3. 해당 파일을 C:\Windows\System32\ 로 복사
  4. evtsys 서비스 설치(아래 Prompt 또는 Powershell 실행)
  5. services.msc 실행 서비스 등록 확인 후 속성에서 시작 유형 ‘자동’ / 변경 후 서비스 시작
// 192.168.0.200의 Syslog 서버의 514 포트로 이벤트로그를 전송하는 서비스 설치
C:\Windows\System32> evtsys -i -h 192.168.0.200 -p 514
Usage: evtsys -i|-u|-d [-h host[;host2;…]] [-f facility] [-p port]
       [-t tag] [-s minutes] [-q bool] [-l level] [-n] [-a]
  -i           Install service
  -u           Uninstall service
  -d           Debug: run as console program
  -a           Use our IP address (or fqdn) in the syslog message
  -h hosts     Name of log host(s), separated by a ‘;’
  -f facility  Facility level of syslog message
  -l level     Minimum level to send to syslog
               0=All/Verbose, 1=Critical, 2=Error, 3=Warning, 4=Info
  -n           (**Win9x/Server 2003 Only**) Include only those events specified
               in the config file
  -p port      Port number of syslogd
  -q bool      Query the Dhcp server to obtain the syslog/port to log to
               (0/1 = disable/enable)
  -t tag       Include tag as program field in syslog message
  -s minutes   Optional interval between status messages. 0 = Disabled


Default port: 514
Default facility: daemon
Default status interval: 0
Host (-h) required if installing.
Command did not complete due to a failure
Evtsys Options

Rsyslog Log Analyzer Overview

rsyslog 데몬을 사용하여 리눅스, 윈도우, 네트워크 장비로 부터 수신 로그를  mariadb에 적재하게 되고 아파치로 간단한 통계로도 볼 수 있게 구축 해서 사용하고 있습니다.

나온지도 오래되었고 UI가 상당히 구식이지만 간단하게 보기에는 쓸만하여 종종 사용하는 편 입니다.

단점은 DB에 로그가 장기간 쌓이면 통계 페이지를 제대로 표시하지 못하는 경우도 있고 특정 호스트의 로그 발생 빈도가 높으면 통계 페이지를 보기 불편한 부분이 있었습니다. 저는 일정 기간 이전의 로그를 삭제하는 SQL스크립트를 crontab에 등록 하여 유지하고 있습니다.

그와 별개로 DB에 있는 로그 데이터를 elasticsearch등으로 시각화 시키는 것도 좋은 방법인 것 같습니다.

※ 테스트를 해보진 않았지만 Log Analyzer 최신 버전은 그래프 생성 관련 타임 아웃 현상을 해결 했다고 합니다.