IT 기술 문서

2025.02.01 16:54

CentOS 7 유용한 명령어 시리즈 - ⑦ 로그 확인 및 모니터링

  • it2033 4일 전 2025.02.01 16:54
  • 4
    0

alt text


CentOS 7에서는 시스템 상태를 점검하고 문제를 해결하기 위해 다양한 로그 파일을 확인할 수 있습니다. 이 글에서는 로그를 조회하고 모니터링하는 유용한 명령어들을 정리하겠습니다.


시스템 로그 확인

1. 시스템 로그 기본 명령어

1.1. 최근 시스템 로그 확인

journalctl -xe
  • 최근 발생한 시스템 로그를 확인할 수 있습니다.

  • -xe 옵션을 사용하면 에러 메시지를 강조하여 표시합니다.

1.2. 특정 서비스의 로그 확인

journalctl -u service-name --no-pager
  • 특정 서비스(service-name)의 전체 로그를 출력합니다.

예제:

journalctl -u httpd --no-pager
  • httpd(Apache) 서비스의 로그를 확인합니다.

1.3. 특정 날짜 이후의 로그 확인

journalctl --since "2024-01-01 00:00:00"
  • 2024년 1월 1일 이후의 로그를 출력합니다.

1.4. 특정 날짜 범위의 로그 확인

journalctl --since "2024-01-01" --until "2024-01-31"
  • 2024년 1월 1일부터 1월 31일까지의 로그를 출력합니다.

1.5. 부팅 이후의 로그 확인

journalctl -b
  • 마지막 부팅 이후의 로그를 확인할 수 있습니다.

1.6. 특정 키워드가 포함된 로그 검색

journalctl | grep "error"
  • "error"라는 문자열이 포함된 로그를 검색합니다.


서비스 및 데몬 로그 확인

2. 주요 서비스 로그 파일

2.1. 시스템 로그 확인

tail -f /var/log/messages
  • 시스템의 주요 로그를 실시간으로 확인합니다.

2.2. 인증 관련 로그 확인

tail -f /var/log/secure
  • SSH 로그인 및 사용자 인증 관련 로그를 확인할 수 있습니다.

2.3. 커널 로그 확인

dmesg | tail -20
  • 최근 20개의 커널 메시지를 출력합니다.

2.4. 부팅 로그 확인

journalctl -b
  • 마지막 부팅 과정에서 발생한 로그를 확인할 수 있습니다.

2.5. 크론 작업 로그 확인

cat /var/log/cron
  • crontab에서 실행된 작업들의 로그를 확인할 수 있습니다.

2.6. 방화벽 로그 확인

cat /var/log/firewalld
  • firewalld의 방화벽 규칙 및 접근 기록을 확인할 수 있습니다.


웹 서버 로그 확인

3. Apache 로그 확인

3.1. Apache 접속 로그 확인

tail -f /var/log/httpd/access_log
  • 웹사이트 방문 기록을 실시간으로 확인할 수 있습니다.

3.2. Apache 에러 로그 확인

tail -f /var/log/httpd/error_log
  • 웹 서버에서 발생한 오류 메시지를 실시간으로 확인할 수 있습니다.


4. Nginx 로그 확인

4.1. Nginx 접속 로그 확인

tail -f /var/log/nginx/access.log
  • 웹사이트 접속 기록을 확인합니다.

4.2. Nginx 에러 로그 확인

tail -f /var/log/nginx/error.log
  • 웹 서버 오류 로그를 확인합니다.


로그 모니터링 및 실시간 감시

5. 실시간 로그 모니터링

5.1. 특정 로그 파일 실시간 감시

tail -f /var/log/messages
  • /var/log/messages의 마지막 10줄을 실시간으로 출력하며, 새로운 로그가 추가될 때 자동으로 갱신됩니다.

5.2. 특정 서비스의 실시간 로그 확인

journalctl -fu httpd
  • httpd(Apache) 서비스의 로그를 실시간으로 출력합니다.

5.3. 다중 로그 파일 실시간 감시

multitail /var/log/messages /var/log/secure
  • 여러 개의 로그 파일을 동시에 실시간으로 모니터링할 수 있습니다.

  • yum install multitail을 통해 설치해야 사용할 수 있습니다.


로그 파일 크기 및 정리

6. 로그 파일 크기 확인

du -sh /var/log
  • /var/log 디렉토리의 전체 크기를 확인합니다.

ls -lh /var/log
  • 각 로그 파일의 크기를 확인합니다.

7. 오래된 로그 파일 정리

7.1. 30일 이상 된 로그 삭제

find /var/log -type f -mtime +30 -exec rm -f {} \;
  • 30일 이상 된 로그 파일을 자동으로 삭제합니다.

7.2. 특정 로그 파일 비우기

> /var/log/messages
  • /var/log/messages 파일의 내용을 모두 삭제하지만, 파일 자체는 유지합니다.

7.3. logrotate를 이용한 자동 로그 정리

cat /etc/logrotate.conf
  • logrotate 설정을 확인하여 자동 로그 정리 정책을 적용할 수 있습니다.


정리

명령어

설명

journalctl -xe

최근 시스템 로그 확인

journalctl -u httpd --no-pager

특정 서비스 로그 확인

journalctl --since "2024-01-01"

특정 날짜 이후의 로그 확인

journalctl -b

부팅 이후의 로그 확인

tail -f /var/log/messages

시스템 로그 실시간 확인

tail -f /var/log/secure

인증 로그 실시간 확인

`dmesg

tail -20`

cat /var/log/cron

크론 작업 로그 확인

cat /var/log/firewalld

방화벽 로그 확인

tail -f /var/log/httpd/access_log

Apache 접속 로그 확인

tail -f /var/log/nginx/access.log

Nginx 접속 로그 확인

journalctl -fu httpd

특정 서비스 실시간 로그 확인

du -sh /var/log

로그 디렉토리 크기 확인

find /var/log -type f -mtime +30 -exec rm -f {} \;

30일 이상 된 로그 자동 삭제

이번에는 CentOS 7에서 로그 확인 및 모니터링에 유용한 명령어들을 정리했습니다. 다음 시리즈에서는 크론 작업(스케줄링) 명령어를 다루겠습니다.

  • 공유링크 복사