rsyslog 설치 구성

6234 단어
1, 준비 마스터:10.1.5.241slave01:10.1.5.242 서버 쪽과 클라이언트에 각각 rsyslog[root@master ~]# yum -y rsyslog[root@master ~]# rsyslogd -versionrsyslogd 5.8.10, compiled with:    FEATURE_REGEXP:                Yes    FEATURE_LARGEFILE:            No    GSSAPI Kerberos 5 support:        Yes    FEATURE_DEBUG (debug build, slow code):    No    32bit Atomic operations supported:    Yes    64bit Atomic operations supported:    Yes    Runtime Instrumentation (slow code):    NoSee http://www.rsyslog.com for more information.2. 구성 프로파일은 다음과 같습니다. [root@master ~]# egrep -v '^#|^$'/etc/rsyslog.conf$ModLoad imuxsock # provides support for local system logging(e.g. via logger command) $ModLoad imklog # provides kernel logging support (previously done by rklogd) $ModLoad immark # provides --MARK-message capability $Modad Loudp이 ucp 연결을 엽니다.ucp 로그 전송 $UDPServerRun 514$ModLoad imtcp를 통해 tcp 연결을 열고 tcp 로그 전송 $InputTCPServerRun 10514$ActionFileDefaultTemplate RSYSLOGTraditionalFileFormat$IncludeConfig/etc/rsyslog.d/*.conf*.info;mail.none;authpriv.none;cron.none               /var/log/messagesauthpriv.*                                             /var/log/securemail.*                                                  -/var/log/maillogcron.*                                                 /var/log/cron*.emerg                                                 *uucp,news.crit                                         /var/log/spoolerlocal7.*                                               /var/log/boot.log 예1, 간단한 설정: 모든 시스템 log를 서버 밑에 넣는/var/log/all.log 아래.구성:서버:/etc/rsyslog.conf 파일에 마지막으로 *.* 추가                                    /var/log/all.log[root@master ~]#/etc/init.d/rsyslog restart 클라이언트:/etc/rsyslog.conf 파일에 마지막으로 *.* 추가@@10.1.5.241:10514 tcp를 통해 전송[root@slave01 ~]#/etc/init.d/rsyslog restart 테스트:tail-f/var/log/all.log 예2, 사용자 정의 테스트, 설정: 서버:/etc/rsyslog.마지막 파일 추가:fromhost,isequal,"slave01〃/var/log/all.log #lave01에서 온 로그를 필터하여/var/log/all.log:fromhost,isequal,"slave01〃~[root@master ~]#/etc/init.d/rsyslog restart 클라이언트:*.*@10.1.5.241:514 #udp를 통해 패스 [root@slave01 ~]#/etc/init.d/rsyslog restart 테스트: [root@slave01 ~]# logger "hello world"           [root@master ~]# tail -f/var/log/all.log 예 3, 사용자 정의 테스트, 설정: 서버:/etc/rsyslog.conf 파일 마지막에 local5.* 추가       /var/log/all.log #local5레벨 로그를 필터하여/var/log/all에 넣습니다.loglocal5.*        ~[root@master ~]#/etc/init.d/rsyslog restart 클라이언트:local5.*@10.1.5.241:514 #udp를 통해 패스 [root@slave01 ~]#/etc/init.d/rsyslog restart 테스트: [root@slave01 ~]# logger -p local5.info "hello world"# local 5 레벨을 지정해야 합니다[root@master ~]# tail -f/var/log/all.log 예 4, 사용자 정의 테스트, 설정: 서버:/etc/rsyslog.conf 파일에 $template logfile, "/var/log/logfile%$year%%$month%$day%.log": msg,contains,"muyushan"?logfile[root@master ~]#/etc/init.d/rsyslog restart 클라이언트::msg, contains, "muyushan"@@@10.1.5.241:10514 # tdp를 통해 전송[root@slave01 ~]#/etc/init.d/rsyslog restart 테스트: [root@slave01~] # logger-t muyushan "hello world"# 로그 본문 줄마다 "muyushan"탭 추가[]root@master ~]# tail -f/var/log/all.log 예5,apache 로그 관리 설정: 서버: mkdir/data/apache/logs chown apache:apache/data/apache/logs/etc/rsyslog.conf 파일 마지막에 $template access 추가log, "%msg:2:$%"$template error_log, "%msg%"  # web1-access-log $template access_log_file_web1, "/data/apache/logs/%$NOW%/access-log/web1-access_log"# web1-error-log $template error_log_file_web1, "/data/apache/logs/%$NOW%/error-log/web1-error_log"  # web1-access-log if $syslogfacility-text == 'local6' and $syslogtag == 'http-access:' and $fromhost-ip == '10.1.5.241' then -?access_log_file_web1;access_log # web1-error-log if $syslogfacility-text == 'local6' and $syslogtag == 'http-error:' and $fromhost-ip == '10.1.5.241' then -?error_log_file_web1;error_log [root@master ~]#/etc/init.d/rsyslog restart 클라이언트:vim/etc/http/conf/httpd.conf에서 다음 옵션을 찾아 #CustomLog logs/accesslog combined ErrorLog logs/error_log는 이 두 가지 옵션에 각각 다음과 같은 CustomLog "|/usr/bin/logger -p local6. info -t http-access"combined ErrorLog "|/usr/bin/logger -p local6. info -t http-error"/etc/rsyslog를 추가합니다.conf 파일 마지막에 local5.* 추가       /var/log/all.log #local5레벨 로그를 필터하여/var/log/all에 넣습니다.loglocal5.*        ~[root@slave01 ~]#/etc/init.d/rsyslog restart 테스트: [root@master ~]# tail -f/data/apache/logs/%$NOW%/access-log/web1-access_log[root@master ~]# tail -f/data/apache/logs/%$NOW%/error-log/web1-error_log 부록:
  • 로그 장치(로그 유형으로 이해할 수 있음)
  • 로그 장치/유형
    설명
    auth
    – pam에서 생성된 로그
    authpriv
    - ssh, ftp 등 로그인 정보의 검증 정보
    cron
    – 시간 작업 관련
    kern
    – 코어
    lpr
    - 인쇄
    mail
    – 메일
    mark(syslog)
    -rsyslog 서비스 내부 정보, 시간 표식
    news
    – 뉴스그룹
    user
    – 사용자 프로그램에서 생성된 정보
    uucp
    -unix to unix copy, unix 호스트 간의 통신
    local 1~7
    – 사용자 지정 로그 장치
  • 로그 레벨
  • 위에서 아래로, 단계가 낮은 수준에서 높은 수준으로, 기록된 정보는 점점 적어지고, 자세한 설명서는 man 3 syslog
    등급
    설명
    레벨 값
    debug
    - 튜닝 정보가 있는 최대 로그 정보
    7
    info
    – 일반 정보의 로그, 가장 일반적인
    notice
    – 가장 중요한 일반적인 조건에 대한 정보
    warning
    – 경고 수준
    4
    err
    – 특정 기능이나 모듈이 제대로 작동하지 않도록 차단하는 오류 수준
    crit
    – 전체 시스템 또는 소프트웨어 전체가 제대로 작동하지 못하도록 차단하는 심각도 수준
    alert
    – 즉시 수정이 필요한 정보
    emerg
    – 커널 붕괴와 같은 심각한 정보
    none
    -아무것도 기록하지 않음
  • 연결 기호
  • 연결 기호
    설명
    .xxx
    xxx 레벨보다 큰 정보
    .=xxx
    xxx와 같은 수준의 정보를 나타낸다
    .!xxx
    xxx 이외의 등급을 나타내는 정보
    예:
     :msg,contains,"error"        #      error    
     :hostname,isequal, "host1"   #        host1    
     :msg,!regex,"fatal .* error" #                

    logger 사용
    logger는 셸 명령 인터페이스로 Syslog의 시스템 로그 모듈을 사용할 수 있으며 명령줄에서 시스템 로그 파일에 직접 한 줄의 정보를 쓸 수 있습니다.
    logger -it error  -p local5.info "hello world"
    -i 행마다 프로세스 ID 기록
    - t 로그의 줄마다 error 탭을 추가합니다
    -p 사용자 정의 로그 장치 및 구성 파일의 local5.* 지정대응, 프로필에 없습니다.info.
    자신이 쓴 프로그램이라면 로그를 만드는 코드에서logger 명령으로 시스템의 로그 인터페이스로 이동해야 한다는 설명이다.
    참조:
    사용 설명:http://w.gdu.me/wiki/Linux/rsyslog_logrotate.html
    구성 설명:http://blog.clanzx.net/2013/12/31/rsyslog.html
    http://www.cnblogs.com/blueswu/p/3564763.html
    http://www.tuicool.com/articles/Jv2eUvn

    좋은 웹페이지 즐겨찾기