Rsyslog 분류 약식 메시지 키워드 수집 프로그램 로그

1965 단어 rsyslog
요구 사항:
기존 Toc production 로그를 log 서버에 수집하기;Toc production 로그에서 facility를 LOCAL0으로 정의합니다.수집된 로그는 한 시간에 한 번씩 절단하기;로그 헤더는 TC: 의 로그이고, 저장 경로는:/data-nfs/syslog/TC-production/log입니다.year-month-day-hour, 원래 로그 줄 바꾸기 형식을 보존하고 로그의 첫 글자'TC:'를 제거하고 나머지 부분의 로그 메시지를 저장합니다.
로그 헤더는 TCBeta:의 로그이고 저장 경로는/data-nfs/syslog/TC-beta/log입니다.year-month-day-hour, 원래 로그 줄 바꾸기 형식을 보존하고 로그의 첫 글자인'TCBeta:'를 제거하고 나머지 부분의 로그 메시지를 저장합니다.
구성 파일 수정
#vi /etc/rsyslog.conf
$EscapeControlCharactersOnReceive off      #  rsyslog    ASCII<32       ,      
$template tc_pro_log,"/data-nfs/syslog/TC-production/log.%$year%-%$month%-%$day%-%$hour%"       #  TC:      
$template tc_beta_log,"/data-nfs/syslog/TC-beta/log.%$year%-%$month%-%$day%-%$hour%"            #  TCBeta:      
$template tocFormat,"%msg%
"                  # toc format :rawmsg,contains,"TC:"  -?tc_pro_log;tocFormat                 # TC: , tocFormat :rawmsg,contains,"TCBeta:"      -?tc_beta_log;tocFormat        # TCBeta: , tocFormat

rsyslog 서비스 다시 시작
#/etc/init.d/rsyslog restart

수집된 로그에 "#12"오류 프롬프트가 표시되며 로그가 로컬로 보내져도 다음과 같은 현상이 나타나지 않습니다.
Mar 28 20:11:59 telemachos root: ERROR 'EXCEPTION'#012Traceback (most recent call last):#012  File "./test.py", line 22, in <module>#012    foo()#012  File "./test.py", line 13, in foo#012    bar()#012  File "./test.py", line 16, in bar#012    bla()#012  File "./test.py", line 19, in bla#012    raise Exception("EXCEPTION!")#012Exception: EXCEPTION!

원인: 기본적으로rsyslog는 모든 괴이한 문자 (ASCII<32) 를 번역합니다. 줄 바꾸기와 탭 바꾸기 등 해결 방법은rsyslog입니다.conf 구성 파일에서 다음을 추가합니다.
$EscapeControlCharactersOnReceive off

참조:http://stackoverflow.com/questions/5463992/multiline-log-records-in-syslog
이 문서는 "DBQ Blog"블로그에서 작성자에게 문의하십시오.

좋은 웹페이지 즐겨찾기