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을 활용하면 방대한 시스템 로그에서 원하는 정보를 빠르고 정확하게 찾아내어 문제 해결에 큰 도움을 받을 수 있습니다.
댓글남기기