Logo 리눅스

journalctl 깊은 활용 — 로그의 모든 것

야옹이 | 04.27 | 조회 76 | 좋아요 0

9차에서 기본 다뤘지만 journalctl은 「운영의 만능 도구」.

깊이 활용하면 디버깅 시간 크게 단축.



필터 조합.

journalctl -u nginx --since "1 hour ago" -p err — nginx 서비스의 1시간 내 에러만.

매우 정교한 필터링.

_PID·_UID·_COMM·_HOSTNAME 같은 필드로도.



JSON 출력.

journalctl -o json — 머신 친화.

-o json-pretty — 사람도 읽음.

jq와 결합 — journalctl -o json -u nginx | jq '.MESSAGE' — 메시지만 추출.

자동화·분석에.



통계.

journalctl --list-boots — 부팅 이력.

-b 0(현재 부팅)·-b -1(전 부팅) 같이 부팅 기준.

journalctl --disk-usage — 사용량.



활용 패턴.

1) 「갑자기 안 됨」 — journalctl -u service --since "5 min ago".

2) 「어제 무슨 일」 — journalctl --since yesterday --until today.

3) 「부팅 시 문제」 — journalctl -b 0 -p err.

4) 「특정 PID」 — journalctl _PID=1234.

5) 「커널 로그」 — journalctl -k.

거의 모든 로그 분석이 journalctl 한 명령으로.



영구 로그.

기본은 RAM(/run/log/journal) — 재부팅 시 사라짐.

/var/log/journal 디렉토리 만들면 디스크에 영구.

sudo mkdir -p /var/log/journal && sudo systemd-tmpfiles --create.

운영 서버는 영구 권장.




한 줄 요약


journalctl 깊이 — -u 서비스·--since 시간·-p 우선순위·-b 부팅·_PID·_COMM 필드 필터, -o json + jq로 분석.

/var/log/journal 만들면 영구.

운영의 만능 도구.




더 알아볼 것


- journalctl --grep 패턴

- 로그 외부 전송 — Vector·Promtail

- journald 설정 — Compress·MaxSize

공유하기
목록보기

목록보기
신고하기

신고 사유를 선택해 주세요.