[Linux] journalctl 실전 활용하기

2025. 5. 17. 00:16·깐돌의 클라우드 도구함
728x90

systemd는 현대 리눅스 시스템에서 사용되는 서비스 매니저입니다. systemd-journald는 시스템 로그를 관리하는 핵심 서비스로, 바이너리 형식의 로그(journal)을 기록합니다. 본 글은 journalctl 명령어의 실전 활용과 journald 설정 관리를 중심으로 구성한 실무 가이드입니다.


1. systemd-journald 서비스 확인

시스템 로그를 처리하는 핵심 서비스인 systemd-journald의 상태는 아래 명령어로 확인할 수 있습니다.


systemctl status systemd-journald

● systemd-journald.service - Journal Service
   Loaded: loaded (/usr/lib/systemd/system/systemd-journald.service)
   Active: active (running)
   Status: "Processing requests..."
🔗 systemd-journald 공식 매뉴얼

2. 자주 사용하는 journalctl 명령어

📋 최근 로그 확인


journalctl -n 7

📡 실시간 로그 확인 (tail -f와 유사)


journalctl -f

🕒 날짜 필터 예시

특정 날짜 이후 로그 확인:


journalctl --since 2021-07-14

기간 지정 (2021-07-12 ~ 2021-07-13):


journalctl --since 2021-07-12 --until 2021-07-14

3. 바이너리 journal 로그 확인

journalctl 명령어는 바이너리 로그 파일을 읽기 위해 사용되며, vi나 cat 등 일반 텍스트 뷰어로는 열 수 없습니다.

📂 기본 경로


/run/log/journal/<machine-id>/

📄 특정 파일을 직접 조회


journalctl --file=/run/log/journal/9fbdfba9.../system.journal
🔗 journalctl 명령어 공식 매뉴얼

4. /var/log/journal 경로에 로그 저장 설정

기본적으로 /run/log/journal는 휘발성 경로이며, 시스템 재부팅 시 로그가 사라집니다. 영구적으로 로그를 보관하려면 /var/log/journal을 생성하고, journald를 재시작해야 합니다.

📁 디렉토리 생성


mkdir -p /var/log/journal
systemctl restart systemd-journald

📂 로그 저장 확인


ls /var/log/journal/<machine-id>/system.journal

기존 /run/log 에 저장되던 로그는 제거되며, /var/log/journal이 기본 경로로 변경됩니다.


5. 저장 크기 및 보관 주기 설정 방법

journal 로그는 /etc/systemd/journald.conf 파일에서 저장 용량과 기간을 제어할 수 있습니다.

📊 현재 디스크 사용량 확인


du -sh /var/log/journal

⚙️ 설정 변경


vi /etc/systemd/journald.conf

[Journal]
SystemMaxUse=250M
#MaxFileSec=1month   # 로그 보관 주기 설정

주석이 되어 있으면 반드시 해제한 후 설정하세요.

♻️ journald 재시작


systemctl restart systemd-journald

이후 systemctl status에서 max 용량 설정이 적용된 것을 확인할 수 있습니다.

🔗 journald.conf 설정 매뉴얼

✅ 실무 팁 요약

  • journalctl -f 는 실시간 로그 추적에 최적
  • --since, --until 옵션으로 정밀 분석 가능
  • /var/log/journal 경로 설정으로 재부팅 후에도 로그 보존 가능
  • journald.conf로 저장 용량 및 보관기간 유연하게 관리

journal은 바이너리 기반이라 일반 로그 시스템과 다르며, 분석과 추적에 강력한 도구입니다. 위 명령어와 설정을 익히면, 시스템 장애 원인 분석과 추적이 훨씬 쉬워집니다.


728x90
반응형

'깐돌의 클라우드 도구함' 카테고리의 다른 글

[가상화] qcow2 virt-customize 오류 해결 방법  (0) 2025.05.18
[Linux] 리눅스 패스워드 복잡성 무시(우회) 설정 방법  (0) 2025.05.18
[스토리지] Ceph Monitoring 명령어 정리 (2025년 기준)  (0) 2025.05.16
[스토리지] Ceph Dashboard 활성화 및 사용자 계정 생성 방법  (0) 2025.05.16
[모니터링] Grafana 시간대 설정 방법 (한국 시간 맞추기)  (0) 2025.05.16
'깐돌의 클라우드 도구함' 카테고리의 다른 글
  • [가상화] qcow2 virt-customize 오류 해결 방법
  • [Linux] 리눅스 패스워드 복잡성 무시(우회) 설정 방법
  • [스토리지] Ceph Monitoring 명령어 정리 (2025년 기준)
  • [스토리지] Ceph Dashboard 활성화 및 사용자 계정 생성 방법
깐돌씨
깐돌씨
하루하루를 기록하는 공간. 일상에서 얻은 영감, 좋아하는 취미, 그리고 클라우드 업무 팁까지 함께 나눕니다.
  • 깐돌씨
    조용한 깐돌이네
    깐돌씨
  • 전체
    오늘
    어제
    • 분류 전체보기 (69) N
      • 깐돌일기 (2) N
      • 취미탐험대 (13) N
      • 깐돌의 클라우드 도구함 (54)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    리눅스 서버
    오픈소스
    rhel
    컨테이너
    rhocp
    리눅스 가상화
    RHEL8
    kickstart
    노원 자연휴양림
    서버 관리
    Docker
    KVM
    수락산 자연휴양림 예약
    리눅스
    private registry
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
깐돌씨
[Linux] journalctl 실전 활용하기
상단으로

티스토리툴바