cat 말고 less, tail -f, journalctl 로그 읽는 진짜 실무 패턴 정리

Views: 0

로그 파일을 단순히 cat /var/log/…처럼 열면 전체 내용이 한꺼번에 출력되어 가독성이 떨어지고, 과거 내용 탐색이나 실시간 감시가 어렵다. 반면 less, tail -f, journalctl은 상황에 따라 매우 유연하게 로그를 분석할 수 있다.

less

less 파일명으로 파일을 페이지 단위로 탐색할 수 있으며, 위아래 스크롤과 검색 기능이 가능하다. 대형 로그 파일을 다룰 때 가장 기본적인 선택지다.
예: less /var/log/syslog

tail -f

최신 로그가 추가되는 것을 실시간으로 확인할 때 유용하다.
예: tail -f /var/log/nginx/error.log
서버 운영 중 오류나 이벤트가 발생할 때 로그 흐름을 놓치지 않고 지켜볼 수 있다.

journalctl

systemd 기반 시스템에서 로그를 통합 관리하는 도구로, 커널, 서비스, 부트 로그 등을 한 번에 조회할 수 있다. 일반 텍스트 파일이 아니라 저널 형식으로 저장되기 때문에 journalctl 명령을 통해서만 조회 가능하다.

실무 패턴 1: 구조화된 탐색 with less

기본 사용법

less /var/log/messages

내용을 아래위로 탐색할 수 있고, /검색어로 특정 문자열을 찾을 수 있다.

자주 쓰는 단축키

  • g : 파일 맨 위로 이동
  • G : 파일 맨 아래로 이동
  • /오류, n : 다음 검색 결과로 이동
  • q : 종료

사용 시점

  • 오래된 로그를 탐색해야 할 때
  • 특정 키워드 중심으로 과거 이벤트를 분석할 때
  • 실시간 로그 추가보다 기존 파일 탐색이 중요할 때

실무 패턴 2: 최신 로그 감시 with tail -f

기본 사용법

tail -f /var/log/application.log

로그가 추가될 때마다 실시간으로 화면에 출력된다.

응용 패턴

tail -n 100 -f /var/log/application.log

최근 100줄을 보고 이후 추가 로그를 모니터링한다.

활용 상황

  • 애플리케이션 실행 중 오류 발생 여부 확인
  • 실시간 대응이 필요한 로그 모니터링
  • 서비스 재시작, 배포 직후 상태 확인

실무 패턴 3: 서비스·시스템 로그 집중 조회 with journalctl

기본 조회

journalctl

전체 저널 로그가 출력된다. 양이 많으므로 필터링 옵션을 활용해야 한다.

주요 옵션

  • -u 서비스명 : 특정 서비스 로그 조회 (예: journalctl -u nginx.service)
  • -k : 커널 메시지만 조회
  • -n 숫자 : 최근 N행 출력
  • --since, --until : 시간 범위 지정 (예: journalctl --since "2 hours ago")
  • -f : 실시간 로그 출력 (예: journalctl -u myservice --follow)
  • --no-pager : 페이징 없이 전체 출력

실무 활용 예시

배포 후 서비스 기동 확인 시:

journalctl -u myapp.service -n 50 --follow

최근 50줄을 확인하면서 이후 추가 로그를 실시간 모니터링한다.

장점

  • 서비스 단위로 로그를 필터링할 수 있다.
  • 커널, 부팅, 서비스 로그를 통합 조회 가능하다.
  • 실시간 추적과 과거 분석이 모두 가능해 문제 대응 속도를 높인다.

실전 조합 활용

다양한 도구를 조합해 로그를 효율적으로 다룰 수 있다.

  1. 배포 후 서비스 기동 확인
    • journalctl -u myapp.service -n 20 --follow : 최신 로그와 실시간 모니터링
  2. 오류 발생 시
    • tail -f /var/log/myapp/error.log : 애플리케이션 로그 감시
    • journalctl -u myapp.service -n 100 : 시스템 레벨 로그 확인
  3. 시스템 문제 진단 시
    • journalctl -k --since "1 hour ago" : 최근 커널 로그 점검
    • less /var/log/syslog : 시스템 로그 파일 탐색

이런 조합을 활용하면 로그의 겉과 속, 서비스부터 시스템까지 모두 파악할 수 있다.

마무리

이제 단순히 cat으로 로그를 보는 단계를 넘어, less, tail -f, journalctl을 상황에 맞게 활용할 수 있다. 로그의 흐름을 놓치지 않으면서도 구조적으로 접근하는 습관을 들이면 문제 대응 속도와 정확성이 크게 향상된다.
실무에서는 이 세 가지 도구를 자연스럽게 조합하는 것이 진정한 로그 분석의 기본기이자 실무자의 역량을 가르는 차이가 된다.