기본 설정을 사용하면 내 로그는 다음과 같습니다.
2020-12-01T18:34:06+02:00 10.132.90.194 {"wfd_successful_hits_sec": "0", "sql_hits_sec_max": "0", "timestamp": "2020/12/01 18:34:01", "connection_sec_max": "1922", "http_hits_sec_max": "1106", "http_hits_sec": "106", "wfd_successful_hits_sec_max": "0", "sql_hits_sec": "0", "sql_audit_phase2_events_sec_max": "0", "hdfs_hits_sec": "0", "connection_sec": "26"}
하지만 메시지만 쓰려고 하면 실패합니다.
시작 부분이 잘린 메시지를 나에게 제공합니다.
"0", "timestamp": "2020/12/01 18:34:01", "connection_sec_max": "1922", "http_hits_sec_max": "1106", "http_hits_sec": "106", "wfd_successful_hits_sec_max": "0", "sql_hits_sec": "0", "sql_audit_phase2_events_sec_max": "0", "hdfs_hits_sec": "0", "connection_sec": "26"}
내 Rsyslog 구성:
$template OnlyMsg,"%msg:2:2048%\n"
$template CustomLog,"/logs/host-%fromhost%-%$year%-%$month%.log"
local5.* ?CustomLog;OnlyMsg
답변1
입력 행은 실제로 syslog에 대해 표준화되어 있지 않으므로 예를 들어 문자열이 {"wfd_successful_hits_sec":
태그로 잘못 인식될 수 있으며 msg 필드는 이 뒤에 있습니다.
전체 입력 줄(우선 순위 뒤)이 포함되어 있으므로 rawmsg
대신 속성을 간단히 사용할 수도 있습니다 . msg
타임스탬프와 IP 주소를 설명하기 위해 약 40자의 시작 오프셋을 사용해 보세요. 길이가 다른 IP 주소가 있는 경우 대신 정규 표현식을 사용하여 시작 부분을 일치시킬 수 있습니다.