리눅스 시스템 로그 정의 및 분류

리눅스 시스템 로그는 시스템에서 발생하는 다양한 이벤트를 기록하며, 시스템의 상태를 모니터링하고 문제를 진단하는 데 중요한 역할을 합니다.

로그 파일은 시스템의 동작, 오류, 보안 관련 이벤트 등을 기록하고, 관리자는 이를 통해 시스템의 상태를 점검하며 성능을 모니터링할 수 있습니다. 이를 통해 시스템의 원활한 운영을 보장하고, 트러블슈팅 시 중요한 정보를 제공합니다.

Ⅰ. 리눅스 시스템 로그의 정의

리눅스 로그 파일은 텍스트 형식으로 각각의 파일명으로 저장됩니다. 각 로그 항목은 특정한 형식을 따릅니다. ‘Log’는 영단어에서 첫 번째 뜻으로 ‘통나무’가 나오고 두 번째로 ‘(항해일지를) 기록하다’의 뜻을 가지고 있습니다. 항해일지(Logbook)와 같이, 과거에는 항해 중 발생한 사건들을 기록한 일지의 의미로 사용되었습니다.

이 의미가 확장되어 오늘날에는 시스템이나 프로그램에서 발생한 사건, 상태, 오류 등을 기록하는 로그라는 개념으로 발전하였습니다.

Ⅱ. 사용 목적에 따른 단순 분류

사용 목적에 따라 분류할 경우 다음과 같습니다.

시스템 기준 분류

설명

대표 경로

syslog 기반

시스템, 보안, 인증 등 전반적인 메시지 관리

/var/log/syslog(데비안) /var/log/messages(레드헷) /var/log/secure, /var/log/auth.log

커널 로그

커널, 드라이버, 하드웨어 관련 메시지

/var/log/kern.log
(실시간 커널 메시지 확인 명령어: dmesg)

서비스 로그

웹서버, 데이터베이스 등 서비스 별 독립 로그

/var/log/nginx/, /var/log/mysql/

패키지/업데이트 로그

소프트웨어 설치 및 업데이트 기록

/var/log/yum.log, /var/log/apt/

사용자 활동 로그

로그인, 명령어 사용 기록(계정 로그)

/var/log/wtmp, /var/log/lastlog

사용자가 시스템에서 수행한 활동을 추적하는 관점에서 사용자 활동 로그로 볼 수 있으며, 로그인, 로그아웃, 시스템 셧다운과 같은 사용자 계정 관련 활동 기록 관점에서 ‘계정 로그’로도 볼 수 있으며, kernel 데몬을 사용하기 때문에 커널로 분류할 수 있습니다.

리눅스Linux(회색 배경의 나무 큐브)

Ⅲ. 시스템 로그 분류표(종류)

리눅스 시스템 로그의 분류표입니다.

분류

로그 파일 경로

관련 데몬

설명

부팅

/var/log/messages

rsyslogd

부팅 시 메시지를 포함한 시스템 전반의 로그 기록

보안

var/log/secure

rsyslogd

인증 및 보안 관련 로그 기록

크론

/var/log/cron

rsyslogd, crond

crond 작업 스케줄 로그 기록

메일

/var/log/maillog

rsyslogd, Sendmail, Dovecot 등

메일 송수신 관련 로그 기록

커널 로그

/var/log/dmesg

kernel

부팅 시 출력된 커널 메시지 기록, CentOS 6까지 제공하며, CentOS 7부터는 명령어로 확인, 실시간 출력 명령어이며 실제 로그는 아님.

커널 로그

/var/log/kern.log

kernel

Debian/Ubuntu 계열

계정 로그

/var/log/btmp

kernel

5회 이상 실패한 로그인 시도 기록

계정 로그

/var/log/wtmp

kernel

전체 사용자 로그인/로그아웃, 부팅/셧다운 기록 (바이너리)

계정 로그

/var/run/utmp

kernel

현재 로그인한 사용자들의 상태 기록 (바이너리)

계정 로그

/var/log/lastlog

kernel

모든 사용자의 마지막 로그인 기록

FTP 로그

/var/log/xferlog

ftpd

FTP 파일 전송 기록 저장

서비스 로그

/var/log/ftp.log

vsftpd

FTP 서버의 요청 및 에러 로그

서비스 로그

/var/log/httpd/access_log

httpd

웹 서버(Apache)의 접속 로그

서비스 로그

/var/log/xferlog

httpd

웹 서버(Apache)의 에러 로그

서비스 로그

/var/log/mysql/mysql.log

ftpd

MySQL 서버의 쿼리 및 에러 로그

서비스 로그

/var/log/nginx/error.log

ftpd

웹 서버(Nginx)의 접속 로그

서비스 로그

/var/log/nginx/error.log

ftpd

웹 서버(Nginx)의 에러 로그

🔲 리눅스 시스템 로그 트리맵

/var/log/
├── apache2/
├── access.log
├── error.log
├── other_vhosts_access.log
├── mysql/
├── error.log
├── slow-query.log
├── mysqld.log
├── nginx/
├── access.log
├── error.log
├── syslog
├── auth.log
├── dmesg
├── cron
├── dpkg.log
├── boot.log
├── messages
├── user.log
└── wtmp

/var/lib/mysql/
├── aria_log.00000001
├── aria_log_control
├── ddl_recovery.log
├── ddl_recovery-backup.log
├── ib_logfile0
├── undo001
├── undo002
├── undo003
├── tc.log

🔲 로그 파일 위치는 설정에 따라 다름

대부분의 리눅스 시스템 로그, 웹 서버 로그, 데이터베이스 로그 등이 /var/log/ 디렉터리에 저장됩니다. 이 경로는 표준 위치로 사용되지만, 실제 운영 환경에서는 서버 설정이나 보안 정책, 저장 공간 관리 등의 이유로 로그 파일의 위치가 변경될 수 있습니다.

예를 들어, MySQL 데이터베이스의 에러 로그나 슬로우 쿼리 로그는 기본적으로 /var/log/mysql/ 디렉터리에 생성되지만, my.cnf 설정 파일을 통해 다른 디렉터리로 경로를 변경할 수 있습니다.

마찬가지로 Apache, Nginx 등의 웹 서버 역시 설정 파일(httpd.conf, nginx.conf)에서 로그 저장 경로를 별도로 지정할 수 있습니다. 이 외에도 일부 시스템 로그는 /var/log 하위가 아닌 별도의 전용 디렉터리나 외부 스토리지로 저장되기도 합니다.

따라서 로그 파일을 확인하거나 문제를 점검할 때는, 단순히 기본 경로만 보는 것이 아니라 해당 서비스나 애플리케이션의 설정 파일을 함께 확인하는 것이 중요합니다. 또한, 환경에 따라 로그가 실시간으로 다른 경로로 이동 되거나 아카이빙(압축 보관)되는 경우도 있으니, 전체적인 로그 관리 정책까지 고려해야 정확한 로그 분석과 모니터링이 가능합니다.

find /var/ -maxdepth 4 -name "*_log"
/var/log/httpd/access_log
/var/log/httpd/error_log
/var/log/httpd/ssl_access_log
/var/log/httpd/ssl_error_log
/var/log/httpd/ssl_request_log

find /var -name "*.log"
/var/lib/mysql/ddl_recovery.log
/var/lib/mysql/tc.log
/var/lib/mysql/ddl_recovery-backup.log
/var/log/audit/audit.log
/var/log/cloud-init.log
/var/log/cloud-init-output.log
/var/log/tuned/tuned.log
/var/log/amazon/ssm/amazon-ssm-agent.log
/var/log/amazon/ssm/errors.log
/var/log/dnf.rpm.log
/var/log/php-fpm/error.log
/var/log/php-fpm/www-error.log
/var/log/letsencrypt/letsencrypt.log
/var/log/dnf.librepo.log
/var/log/redis/redis.log
/var/log/hawkey.log
/var/log/dnf.log
/var/log/log_cleanup.log
리눅스 시스템 로그(모든 로그의 TOP 페이지)

Similar Posts

  • cp 명령어 옵션 및 실행 시 일괄 덮어쓰기 설정 | yes, \(역슬래쉬) 2가지 설정

    cp 명령어는 Copy의 약자로 파일 및 디렉토리를 복사합니다. 기본 사용법은 간단하게 복사할 대상과 새로운 이름 등을 설정하여 사용할 수 있습니다. cp 명령어를 실행할 때 같은 이름의 대상 파일이 있을 때는 사용자에게 묻지 않고 덮어쓰기가 되는데, 이를 방지하기 위해 alias “cp=’cp -i”로 설정되어 있습니다. 목차Ⅰ. 리눅스 시스템 로그의 정의Ⅱ. 사용 목적에 따른 단순 분류Ⅲ….

  • 리눅스 FirewallD 설치 및 데몬 설정

    리눅스 FirewallD는 iptables의 체인과 정책이라는 규칙 대신 Zone과 Service를 대신 사용합니다. Firewalld를 사용하는 이유는 iptables의 규칙이 복잡하기 때문에 iptables 대신 사용할 수 있도록 하기 위함입니다. 목차Ⅰ. 리눅스 시스템 로그의 정의Ⅱ. 사용 목적에 따른 단순 분류Ⅲ. 시스템 로그 분류표(종류)🔲 리눅스 시스템 로그 트리맵🔲 로그 파일 위치는 설정에 따라 다름✅ 리눅스 FirewallD 설치하기 리눅스 서버에…

  • 리눅스 트러블 슈팅(Trouble Shooting).INDEX

    리눅스 서버를 공부 할 때 트러블 슈팅(Trouble Shooting)이란 단어를 접하게 되는데 서버 엔지니어와 개발자가 서버를 운영하면서 듣게 되는 단어로 말 그대로 ‘문제 해결’을 뜻 한다. 리눅스에서 Trouble Shooting은 문제가 발생한 시점에서 시스템, 소프트웨어 및 하드웨어, 네트워크 등에서 문제를 진단하고 해결하는 과정이다. 목차Ⅰ. 리눅스 시스템 로그의 정의Ⅱ. 사용 목적에 따른 단순 분류Ⅲ. 시스템 로그…

  • 로그 파일 삭제 쉘 스크립트 만들기(날짜 20xx, 용량)

    httpd.conf 파일에 access_log 및 error_log를 설정 했을 때 logrotate 설정이 아닌 경우 로그 파일 삭제 쉘 스크립트가 필요할 때가 있습니다. 목차Ⅰ. 리눅스 시스템 로그의 정의Ⅱ. 사용 목적에 따른 단순 분류Ⅲ. 시스템 로그 분류표(종류)🔲 리눅스 시스템 로그 트리맵🔲 로그 파일 위치는 설정에 따라 다름✅ 로그 파일 삭제 쉘 스크립트 ✅ crontab 설정하기 크론탭 설정을 진행…

  • clear 명령어

    목차Ⅰ. 리눅스 시스템 로그의 정의Ⅱ. 사용 목적에 따른 단순 분류Ⅲ. 시스템 로그 분류표(종류)🔲 리눅스 시스템 로그 트리맵🔲 로그 파일 위치는 설정에 따라 다름■ clear 명령어 – 기타명령어 clear 명령어는 리눅스에서 출력 된 터미널 화면을 지우는 명령어이다. clear 명령어는 도스의 cls 명령어와 동일한 뜻과 기능을 가지고 있다. 리눅스 터미널 화면을 지워주고 커서는 화면 상단에…

  • Varnish Cache란 무엇인가? | Varnish 설치 및 기본 설정하기

    Varnish Cache는 동적 웹사이트와 API에 적합한 HTTP 가속기입니다. 이는 스퀴드와 같은 클라이언트 사이드 캐시 역할을 하는 다른 웹 가속기와 달리 Nginx, 아파치와 같은 원본 서버 대신 HTTP 가속기로 설계 되었습니다. 또한, Varnish는 HTTP에 특화되어 있어 FTP, SMTP 및 다른 통신 프로토콜을 지원하는 프록시 서버와는 다릅니다. 목차Ⅰ. 리눅스 시스템 로그의 정의Ⅱ. 사용 목적에 따른…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 9   +   8   =