문제
prod Alloy는 JSON 로그의 @timestamp를 로그 시각으로 쓰고, 값이 없거나 해석되지 않으면 Docker 기록 시각을
유지한다. 두 시각이 다른 실제 로그로는 아직 검증하지 않았다. local 파일 수집은 별도 경로를 사용하며 시각 정책을 정하지 않았다.
파싱되지 않은 레벨은 UNKNOWN으로 분류되지만, 로그를 내지 않은 서비스와 수집이 끊긴 서비스를
구분하는 신호는 없다. 정상 로그의 표시만으로 누락이나 파싱 실패를 확인할 수 없다.
할 일
- local 입력에 application timestamp와 기록 시각의 선택 정책을 적용한다.
- 누락·plain text·잘못된 JSON을 식별할 지표와 조회를 마련한다.
- local 파일 수집을 유지할지 stdout으로 통일할지 결정하고 경로·mount·권한을 맞춘다.
검증
- 발생 시각과 Docker 기록 시각이 다른 로그로 선택한 시각 정책과 조회 순서를 확인한다.
- 레벨이 없는 정상 로그와 파싱 실패, 로그가 없는 서비스와 수집이 끊긴 서비스를 구분할 수 있는지 확인한다.
- 재기동·로그 회전 뒤 수집 재개와 민감 정보의 로그·label 포함 여부를 수동 확인한다.
완료 조건
- 로그의 시각 의미와 파싱 실패·수집 누락을 확인할 수 있다.
- local·prod 수집 경로가 정한 시각·필드 정책을 따른다.