[Linux] journalctl 로그 조회하는 방법

리눅스 시스템에서 문제가 생기거나 서비스가 정상 작동하지 않을 때
가장 먼저 확인해야 하는 건 로그(log)입니다.

시스템 로그를 효율적으로 조회할 수 있는 강력한 도구가 바로 journalctl입니다.
이 명령어는 systemd 기반 시스템에서 작동하며,
systemctl로 관리되는 서비스의 로그도 함께 확인할 수 있죠.


journalctl 기본 사용법
시간, 서비스, 부팅 단위로 로그 필터링
실시간 로그 확인 방법

 


journalctl 활용법 제대로 알아보기

1. journalctl 기본 사용법

journalctl

기본 명령어만 입력하면 시스템 전체의 로그를 시간순으로 보여줍니다.
하지만 로그가 너무 많아서 대부분은 필터링해서 사용하게 됩니다.

 

2. 최근 로그만 보기 (-r 옵션)

journalctl -r

최신 로그부터 거꾸로 출력합니다. 가장 최근 로그가 위에 나오기 때문에 빠르게 확인할 수 있어요.

 

3. 특정 서비스 로그만 보기 (-u 옵션)

journalctl -u nginx

특정 서비스(nginx)의 로그만 필터링해서 보여줍니다.

journalctl -u nginx --since "2024-06-20 08:00"

특정 시간 이후의 로그만 확인하고 싶을 때 사용하는 예시입니다.

 

4. 부팅 이후 로그만 보기 (-b 옵션)

journalctl -b

시스템이 마지막으로 부팅된 이후의 로그만 보여줍니다.

journalctl -b -1

이전 부팅 시의 로그를 보려면 숫자를 붙이면 됩니다.

 

5. 실시간 로그 스트리밍 (-f 옵션)

journalctl -u nginx -f

tail -f처럼 실시간으로 로그를 확인할 수 있습니다.

 

6. 시간 범위로 조회하기

journalctl --since "2024-06-20 00:00" --until "2024-06-20 08:00"

날짜와 시간을 직접 지정해서 원하는 시간대의 로그만 확인할 수 있어요.

 

7. 로그 결과를 파일로 저장

journalctl -u nginx --since today > nginx_log.txt

필요한 로그를 파일로 저장해서 다른 사람에게 전달하거나 백업할 수 있습니다.

 

 


journalctl은 로그 분석의 강력한 도구

journalctl은 systemd 환경에서 로그를 조회할 수 있는 매우 강력한 명령어입니다.

  • journalctl : 전체 로그 보기
  • -u : 특정 서비스 로그
  • -f : 실시간 로그 보기
  • --since, --until : 시간 범위 지정
  • -b : 부팅 기준 로그 보기
  • -r : 최신 로그부터 출력