728x90
Ubuntu에서 시스템 로그 파일 분석하기
시스템 로그는 서버 운영 상태와 문제 원인을 빠르게 파악하는 핵심 자료입니다. Ubuntu에서는 journalctl과 /var/log 디렉토리의 로그 파일을 활용해 다양한 정보를 얻을 수 있습니다.
1. journalctl로 시스템 로그 조회
journalctl은 systemd 기반 시스템에서 중앙집중식 로그를 조회하는 도구입니다. 아래 예시로 부팅 이후 모든 로그를 확인하고, 특정 단어를 필터링할 수 있습니다.
sudo journalctl -b # 현재 부팅 세션 로그 전체
sudo journalctl -u nginx.service # nginx 서비스 로그만 필터링
sudo journalctl -p err # 오류(priority=err) 이상 로그만 출력
sudo journalctl --since "2025-05-10 00:00" --until "2025-05-10 12:00"
2. /var/log 디렉토리의 개별 로그 파일 활용
Ubuntu는 다양한 로그를 /var/log에 저장합니다. 대표적으로 syslog, auth.log, dmesg 등이 있으며, grep과 tail을 조합해 실시간 모니터링이 가능합니다.
sudo tail -f /var/log/syslog # 실시간 전체 시스템 로그
sudo grep "error" /var/log/syslog # 에러 키워드만 검색
sudo zgrep "segfault" /var/log/kern.log.*.gz # 압축된 커널 로그 검색
3. 로그 분석 자동화 및 시각화
로그량이 많을 경우 스크립트를 활용해 특정 패턴을 추출하거나, goaccess, ELK 스택과 연동해 시각화하면 패턴을 빠르게 파악할 수 있습니다. 간단한 예시는 아래와 같습니다.
# 에러 빈도 집계 스크립트 예시
sudo journalctl -p err --since "1 hour ago" | \\
awk '{print $3}' | sort | uniq -c | sort -nr
실무 팁
- 로그 파일 회전(logrotate) 설정을 검토해 오래된 로그가 자동으로 백업·압축되도록 관리하세요.
rsyslog.conf또는journald.conf에서 로그 보관 기간과 용량 제한을 조정해 디스크 공간 이슈를 예방하세요.- 주기적으로
cron이나systemd timer로 주요 로그 검색 스크립트를 실행해 알림 시스템과 연동해 두면 문제 발생 시 즉시 대응할 수 있습니다.

728x90
'OS > Ubuntu' 카테고리의 다른 글
| Ubuntu에서 시스템 스냅샷 및 백업 방법 (2) | 2025.07.26 |
|---|---|
| Ubuntu에서 시스템 시간 및 날짜 설정하기 (1) | 2025.07.25 |
| Ubuntu에서 시스템 리소스 모니터링 (htop, top, iostat) (0) | 2025.07.23 |
| Ubuntu에서 Python 환경 설정 및 패키지 설치 (pip) (2) | 2025.07.22 |
| Ubuntu에서 파일 및 디렉토리 권한 설정 (0) | 2025.07.21 |