>  기사  >  운영 및 유지보수  >  Linux 시스템에서 로그 관리 도구를 사용하는 방법

Linux 시스템에서 로그 관리 도구를 사용하는 방법

WBOY
WBOY원래의
2023-06-18 11:52:041172검색

Linux 운영 체제에서 로그 관리는 특히 시스템 관리자에게 매우 중요한 작업으로, 다양한 문제를 효과적으로 진단하고 해결하는 데 도움이 될 수 있습니다. 이 기사에서는 일반적으로 사용되는 로그 관리 도구와 이를 Linux 시스템에서 사용하는 방법을 소개합니다.

  1. Syslog-ng
    Syslog-ng는 사용자가 다양한 장치 및 애플리케이션에서 로그 데이터를 집계하여 원격 서버로 보내거나 필요에 따라 로컬로 저장하는 데 도움이 되는 강력하고 고도로 사용자 정의 가능한 로깅 엔진입니다.

Syslog-ng 설치:
Debian 또는 Ubuntu 시스템에서는 다음 명령을 사용하여 Syslog-ng를 설치할 수 있습니다.

sudo apt-get update
sudo apt-get install syslog-ng

CentOS 또는 RHEL 시스템에서는, 다음 명령을 사용하여 설치할 수 있습니다:

sudo yum install syslog-ng

Syslog-ng 구성:
Syslog-ng를 구성하기 전에 먼저 구성 파일을 생성해야 합니다. 이 파일에서는 다양한 장치 및 애플리케이션의 메시지를 처리하는 방법을 정의하고 이러한 메시지가 전송되는 원격 서버 또는 로컬 파일을 지정할 수 있습니다.

샘플 구성 파일은 다음과 같습니다.

@version: 3.27
@include "scl.conf"

Accept all log from 192.168.1.1

source s_network {
tcp(ip("192.168.1.1") port ( 514));
udp(ip("192.168.1.1") 포트(514));
};

로컬 로그 허용

source s_local {
system();
내부();
};

쓰기 로컬 파일에 대한 로그

destination d_local {
file("/var/log/messages" dir_perm(0750) create_dirs(yes) perm(0640) owner(root) group(adm));
};

will 원격 서버로 로그 보내기

destination d_remote {
udp("192.168.1.2" port(514));
};

s_network 및 s_local의 모든 로그를 d_local 및 d_remote로 보내기

log { source(s_network, s_local) ; Destination(d_local, d_remote); };

  1. Logrotate
    Logrotate는 사용자가 로그 파일을 자동으로 유지하고 관리하는 데 도움이 되는 일반적으로 사용되는 로그 관리 유틸리티입니다. 오래된 로그 파일을 주기적으로 보관하거나 삭제하고 새 로그 파일을 생성하는 방식으로 작동합니다.

Logrotate 설치:
Debian 또는 Ubuntu 시스템에서는 다음 명령을 사용하여 Logrotate를 설치할 수 있습니다.

sudo apt-get update
sudo apt-get install logrotate

CentOS 또는 RHEL 시스템에서는 다음을 사용할 수 있습니다. 설치 명령:

sudo yum install logrotate

Logrotate 구성:
Logrotate를 구성하기 전에 먼저 구성 파일을 생성해야 합니다. 이 파일에서 로그 파일을 관리하는 방법을 정의할 수 있습니다.

다음은 샘플 구성 파일입니다.

/var/log/messages {
회전 7 #7개의 이전 로그 파일 유지
매일 #하루에 한 번 실행
압축 #이전 로그 파일 압축
지연 압축 #압축하기 전에 최신 상태 유지 로그 파일 한 주기
missingok #로그 파일이 없어도 경고 메시지 없음
postrotate #로그 회전 후 명령 실행

/etc/init.d/syslog-ng reload > /dev/null

endscript
}

/var/log/nginx/*.log {
7회전
매일
압축
delaycompress
missingok
notifempty #로그 파일이 비어 있어도 회전
sharedscripts #회전 전후에 동일한 스크립트를 한 번 실행
postrotate

systemctl reload nginx > /dev/null

endscript
}

  1. Systemd Journal
    Systemd Journal은 로깅 서비스입니다. 사용자가 시스템 로그 파일을 투명하게 수집하고 관리할 수 있도록 도와줍니다. 바이너리 로그 형식을 사용하여 로그 데이터를 저장함으로써 로그 읽기 및 인덱싱의 효율성을 향상시킵니다.

Systemd Journal은 이미 최신 Linux 배포판에 통합되어 있으므로 설치 및 구성이 매우 간단합니다. 시스템 로그를 보려면 Journalctl 명령을 사용하면 됩니다.

journalctl -f #실시간 로그 보기
journalctl -u nginx #Nginx 관련 로그 보기
journalctl -n 10 #지난 10개 보기 로그 항목

Systemd Journal을 사용하기 전에 다음 사항에 유의하세요.

  • Systemd Journal은 기본적으로 /var/log/journal 디렉터리에 로그 파일을 저장하므로 로그 파일을 저장하려면 충분한 디스크 공간이 필요합니다.
  • Systemd Journal은 분석 및 백업을 위해 로그 데이터를 원격 서버로 보내는 것도 지원합니다.

요약
이 글에서는 Syslog-ng, Logrotate, Systemd Journal 등 Linux 시스템에서 일반적으로 사용되는 로그 관리 도구를 소개합니다. 이러한 도구는 사용자가 로그 파일을 더 잘 관리 및 유지하고 적시에 다양한 문제를 찾아서 해결하는 데 도움이 될 수 있습니다. 시스템 관리자의 경우 이러한 도구의 기본 사용법을 익히는 것이 중요합니다.

위 내용은 Linux 시스템에서 로그 관리 도구를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.