시도 로그는 사고 후에 읽는 자료이자 매주 하는 건강 검진이야. 모든 줄을 다 읽는 게 목표가 아니라, 패턴이 한눈에 보이게 만드는 게 목표고.
display
최근 100줄, 최신이 위로, 성공과 실패는 색으로 구분. 그게 다야.
주시할 패턴
- 한 IP 에서 몰아치다가 조용해짐 — retry limit 에 걸려 blacklist 된 거야. 설계대로 돌아간 거지.
- 여러 IP 에서 꾸준히 조금씩 — 분산 스캐너야. WAF / fail2ban / 포트 변경을 알아봐.
- curl / python-requests / wget UA — 백이면 백 봇이야. 진짜 트래픽은 브라우저에서 와.
- 모르는 IP 에서 로그인 성공 — 대시보드 그만 보고 당장 TRACK 7 으로 가.
보존
SQLite 는 수백만 줄도 감당하는데, UI 는 100줄을 넘어가면 쓸모가 없어져. 줄은 DB 에 다 남겨두고 (싸게 얻는 forensic 이야), 기본으로는 최근 100줄만 보여주고, 더 파야 할 때를 위해 "500개 더 불러오기" 버튼을 둬.