journalctl로 시스템 로그 분석하기
journalctl
은 systemd
의 journald
서비스가 수집한 시스템 로그를 확인하는 명령어입니다. 기존의 /var/log/
디렉토리의 텍스트 로그와 달리 구조화된 바이너리 형식으로 로그를 저장하여 강력한 필터링 기능을 제공합니다.
1. 기본 로그 조회
- 전체 로그 조회 (오래된 로그부터)
journalctl
- 부팅 이후의 모든 로그 조회
journalctl -b
- 실시간 로그 확인 (
tail -f
와 유사)journalctl -f
2. 특정 조건으로 로그 필터링
- 특정 유닛(서비스)의 로그만 확인
journalctl -u nginx.service
- 특정 시간 이후의 로그 확인
journalctl --since "2025-08-22 10:00:00" journalctl --since "1 hour ago"
- 특정 기간의 로그 확인
journalctl --since "2025-08-21" --until "2025-08-22 09:00"
- 커널 메시지만 확인
journalctl -k
- 에러(err) 수준 이상의 로그만 확인
journalctl -p err
(로그 레벨:
emerg
,alert
,crit
,err
,warning
,notice
,info
,debug
)
3. 로그 저장 공간 관리
- 현재 로그가 차지하는 디스크 공간 확인
journalctl --disk-usage
- 오래된 로그 삭제 (크기 기준)
sudo journalctl --vacuum-size=100M
- 오래된 로그 삭제 (시간 기준)
sudo journalctl --vacuum-time=2weeks
journalctl
을 활용하면 방대한 시스템 로그에서 원하는 정보를 빠르고 정확하게 찾아내어 문제 해결에 큰 도움을 받을 수 있습니다.
댓글남기기