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

공정위 광고 문구 Ver 3.0

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

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

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

리눅스 로그 파일은 텍스트 형식으로 각각의 파일명으로 저장됩니다. 각 로그 항목은 특정한 형식을 따릅니다. ‘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

  • SSH 명령어: 옵션 및 사용 방법

    리눅스에서 SSH(Secure Shell)는 네트워크를 통해 다른 시스템에 안전하게 접속할 수 있도록 해주는 프로토콜입니다. SSH는 원격 서버와 클라이언트 간의 통신을 암호화하여 보안성을 높이며, 주로 원격 접속, 파일 전송, 그리고 터널링 기능을 제공합니다. SSH 명령어를 사용하여 사용자는 원격 서버에 안전하게 접속한 뒤 다양한 작업을 수행할 수 있습니다. 터널링 기능: 한 네트워크에서 다른 네트워크로 데이터를 안전하게…

  • 리눅스 데몬이란? 독립형(Standalone) 방식과 슈퍼데몬 방식(xinetd)

    리눅스 데몬(Daemon)이란 사용자가 직접 제어하지 않고 백그라운드에서 실행되는 여러 작업을 하는 프로그램을 뜻 합니다. 뒤에 ‘d’로 끝나며 보통 프로세스로 실행됩니다. ✅ 리눅스 데몬의 2가지 방식 리눅스에서 데몬이 운영되는 방식은 독립형이란 뜻을 가진 Standalone 방식으로 단독으로 실행되는 데몬과 슈퍼 데몬 방식 xinetd 두 가지로 나뉘게 됩니다. 1. Standalone 방식 2. xinetd 방식 리눅스 커널…

  • 리눅스 디스크 마운트 | /etc/fstab으로 자동 마운트 설정

    리눅스에 추가 HDD 또는 SSD 등의 스토리지를 추가 후 사용하려면 먼저 포맷이 진행되어야 합니다. 리눅스 디스크 마운트 작업까지 진행해서 사용하기 전에 먼저 스토리지 포맷과 파일 시스템 구축을 진행하는 과정부터 진행 해 보겠습니다. ✅ 리눅스 디스크 마운트 하기 1. 파일 시스템 포맷 AWS 클라우드에서 EBS 볼륨을 연결했으며 장치 파일을 확인 후 mkfs 명령어로 파일…

  • 리눅스: RPM, YUM 차이

    RPM(Red Hat Package Manager)과 YUM(Yellowdog Updater, Modified)은 리눅스의 패키지를 설치하는 인스톨 프로그램입니다. 패키지 설치와 삭제, 업데이트를 관리하는 명령어입니다. RPM 리눅스를 초기에 설치 할 때는 tar, gzip 등의 확장자를 사용했습니다. 패키지 설치 시 사용자가 직접 컴파일을 하는 불편함이 있었습니다. Windows와 비교하면 Setup.exe와 비슷하게 프로그램을 설치하는 개념으로 생각할 수 있으며, *.rpm이라는 확장명을 가지게 됩니다. 불편함의…

  • 리눅스 dd 명령어

    리눅스 시스템에서 사용하는 명령어 중 하나인 dd 명령어는 디스크, 파티션의 복사, 이미지 파일 생성, 디스크 작업 등 주로 데이터를 복사하거나 변환하는데 사용되는 명령어입니다. ✅ dd 명령어 기본 사용 및 옵션 기본 사용 방법은 다음과 같습니다. 1. conv 옵션 ✅ dd 명령어 사용 예 1. 스왑 파일 생성 /dev/zero를 읽어서 /swapfile을 1MB 블록을 2천 개…

  • df 명령어

    df(Disk Free)는 마운트 된 장치 전체 용량, 사용 용량, 여유 용량을 확인할 수 있습니다. 파일 시스템(Filesystem), 디스크 크기(Size), 사용량(Used), 여유공간(Avail), 사용률(Use%), 마운트지점(Mounted on)을 순서로 확인할 수 있습니다. df 명령어 옵션 웹사이트 접속이 안되는 오류 발생 시 디스크 용량을 확인해서 서버 관리를 하는 것이 기본적인 활용법이며, 파티션 용량이 가득 찼을 경우 웹사이트가 접속 되지…

답글 남기기

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

Prove your humanity: 5   +   2   =