Linux 로그를 실시간으로 모니터링합니다. 우분투 순서대로 로그 파일 리눅스 어디에 로그

작업 과정에서 시스템은 오류, 실패한 구성 등을 수정하고 디버그하기 위해 중요하거나 단순히 필요한 것으로 간주되는 일부 이벤트를 추적하고 특수 파일에 저장합니다. 이러한 이벤트가 저장되는 파일을 로그라고합니다. 파일 또는 등록 파일 . 로그 파일이 너무 많은 디스크 공간을 차지하는 것은 드문 일이 아닙니다. 이는 시스템 오작동, 구성 오류 또는 모든 것을 연속적으로 모니터링하고 수집하는 이벤트 로깅 데몬의 잘못된 구성을 나타낼 수 있습니다. 따라서 이벤트 등록 시스템 작업은 시스템 유지 관리의 품질과 결과적으로 안정성과 내구성이 전적으로 의존하는 시스템 관리자의 작업에서 중요한 구성 요소입니다.

이벤트 등록 시스템은 어떻게 구성되어 있습니까?

숙련된 시스템 관리자는 등록 로그(파일)를 정기적으로 주의 깊게 보고 분석해야 한다는 것을 알고 있습니다. 로그에 포함된 정보는 발생하는 문제를 신속하게 해결하거나 시스템 구성에서 숨겨진 문제를 드러내는 데 매우 자주 도움이 됩니다. 시스템에서 이벤트를 추적하고, 로그를 확인하고, 이러한 로그에서 정보를 기록, 저장, 보관 및 삭제하려면 시스템, 서버 및 네트워크를 운영 및/또는 유지 관리하는 조직에 대한 특별 규정을 개발하고 승인해야 합니다.

UNIX 및 Linu의 기본 이벤트 로깅 도구는 여전히 Syslog 시스템의 syslogd 데몬입니다. 그러나 오랫동안 다양한 UNIX 분기 및 Linux 버전으로 인해 많은 소프트웨어 패키지, 서비스 스크립트, 네트워크 데몬이 자체 로그를 사용하며 때로는 이국적인 형식이 다른 점을 명심해야 합니다.

일반적인 경우 Syslog 시스템(및 기타 특수 프로그램)은 모니터링되는 이벤트를 가로채서 로그 파일에 기록합니다. 등록된 이벤트 자체는 이벤트의 날짜/시간, 유형 및 중요도에 대한 데이터를 포함하는 텍스트 문자열입니다. 상황에 따라 다른 데이터도 이 세트에 포함될 수 있습니다. 등록된 이벤트 자체의 줄은 공백, 탭 및 지정된 구성 요소를 강조 표시하는 구두점과 같은 구분 문자로 나뉩니다.

로그는 일반 텍스트 파일이므로 쉽게 볼 수 있습니다. 로그를 효과적으로 사용하기 위해 배포 키트의 기본 배포에서 가장 표준적인 도구인 및 명령이 사용됩니다. 매우 크고 복잡한 로그를 "파기"해야 하는 경우 grep 유틸리티 대신 이러한 작업에서 훨씬 더 생산적이고 유연한 다른 도구인 유틸리티를 사용할 수 있습니다. Perl 텍스트 처리 언어도 여기에 매우 적합합니다.

일반적인 시스템 syslog 항목은 일반적으로 다음과 같습니다.

12월 18일 15:12:42 backup.main.superhosting.ru sbatchd: sbatchd/main: ls_info() 실패: LIM이 다운되었습니다. 나중에 시도하십시오. 시도 중 ... 12월 18일 15:14:28 system.main.superhosting.ru 팝 프록시: 186.115.198.84에서 연결 12월 18일 15:14:30 control.main.superhosting.ru pingem : office.main.superhosting.ru 42번 응답하지 않았습니다. 사용자 trent에 대해 "닫힘

이 경우 Syslog 로그 중 하나에 sbathd, pingem, pop-proxy 프로그램과 같은 여러 소스의 이벤트가 포함되어 있음을 알 수 있습니다. 또한 이 시스템과 상호 작용하는 백업, 시스템, 사무실 및 서비스와 같은 여러 호스트에 대해 이벤트가 기록되고 있음을 볼 수 있습니다.

로그 파일 및 Linux에서의 해당 위치

이미 언급한 바와 같이 UNIX 및 Linux 시스템에는 로그를 어디에 어떻게 저장해야 하는지에 대한 명확한 합의가 없습니다. 전체 파일 시스템에 분산될 수 있으므로 모든 관리자가 해당 로그 파일이 있는 위치와 패키지 및 데몬을 즉시 이해하는 것이 중요합니다. 그러나 로그 저장에 관한 명확한 공식 규정이 없음에도 불구하고 이러한 파일은 /var/log, /var/log/syslog 디렉토리 및 /var/adm에 있어야 한다는 전통적으로 확립된 규칙이 여전히 있습니다.

원칙적으로 지정된 디렉토리의 파일을 읽을 수 있는 액세스 권한은 수퍼유저에게만 부여되지만, 자주 보는 로그에 중요한 시스템 정보가 포함되어 있지 않은 경우 더 "민주적"으로 설정되어 있으면 걱정할 필요가 없습니다. 액세스 모드. 이 옵션은 일반적으로 /var/log/apache2 또는 /var/log/httpd에 있는 Apache 웹 서버와 같은 일부 로그를 자주 정기적으로 검사해야 할 때 편리하고 시간을 절약하기 위해 사용됩니다.

또한 (특히 실패한 구성에서) 로그 파일의 총 볼륨이 극적으로 증가하는 반면 시스템을 "중단"할 위험이 높은 경우가 있음을 기억할 가치가 있습니다. 저장 장치의 여유 공간을 편리하게 제어하고 안정성을 위해 /var 디렉토리는 별도의 파티션에 있는 별도의 파일 시스템으로 이동하는 경우가 많습니다.

일부 특수 로그 파일

다음 표에는 시스템 관리에 매우 유용한 일부 로그 파일이 나열되어 있습니다.

파일 프로그램 장소 빈도 시스템 목적
산성 산성 에프 64k RZ 전원 시스템 이벤트
auth.log sudo 및 기타 에스 권한 부여 정보
아파치2/* httpd 또는 아파치2 에프 Apache 웹 서버 로그
적절한* 적절한 에프 패키지 설치 프로그램
boot.log 시작 스크립트 에프 아르 자형 실행 스크립트 로그
boot.msg 핵심 안에 - 커널 메시지 버퍼 이미지
크론, 크론 에스 시간 cron 데몬 작업에 대한 로그 및 정보
컵/* 에프 시간 ZRU 인쇄 시스템과 관련된 메시지
daemon.log 여러 가지 잡다한 에스 시간 데몬 도구 메시지
디버그 여러 가지 잡다한 에스 디버깅 메시지
dmesg 핵심 안에 - KO 커널 메시지 버퍼 이미지
dpkg.log dpkg 에프 패키지 설치 프로그램
실패 로그 로그인 시간 시간 RZU 실패한 로그인 시도에 대한 정보
아파치2/* httpd 또는 아파치2 에프 아르 자형 /etc 디렉토리에 대한 Apache 웹 서버 로그
kern.log 로그인 안에 - RZ 모든 커널 도구 메시지
마지막 로그 로그인 안에 - RZ 각 사용자의 마지막 로그인 시간(이 파일은 바이너리임)
우편* 이메일 프로그램 에스 시간 모두 전자 수단의 메시지
메시지 여러 가지 잡다한 에스 시간 RZUS
rpmpkgs cron.daily 안에 아르 자형 설치된 RPM 패키지 목록
삼바/* smbd 및 기타 에프 시간 - Samba 서버의 작동 이해
안전한 sshd 및 기타 에스 아르 자형 기밀 인증 메시지
술록 에프 - SAH su 명령의 성공 및 실패 세부 정보
시스템 로그* 여러 가지 잡다한 에스 시간 메인 시스템 로그 파일
경고하다 wpar 에스 시간 시스템 경고/오류 수준 이벤트
wpars/* wpar 에프 - 부팅 파티션 이벤트 정보
중량 로그인 안에 모두 로그인 메시지(바이너리)
젠/* 에프 1m RZU Xen 가상 머신 모니터의 정보
xorg.n.log Xorg 에프 시간 RS X Windows 서버 오류 메시지
냠.로그 에프 아르 자형 패키지 제어 로그

다음 표기법이 이 테이블에 적용됩니다. S - Syslog, B - 기본 제공 이름, F - 구성 파일, D - 매일, N - 매주, M - 매월, NN - 킬로바이트 또는 메가바이트 크기, Z - SUSE, R - Red Hat 및 CentOS, S - Solaris, H - HP-UX, A - AIX. "빈도" 열은 시간 또는 파일 크기와 관련된 오래된 정보가 삭제되는 빈도를 나타냅니다. 프로그램 열은 파일을 만드는 프로그램을 나타냅니다.

또한 표에 제시된 파일에 대한 대부분의 메시지는 Syslog 시스템으로 전송된다는 점에 유의해야 합니다. 심각도 수준과 파일을 만드는 프로그램은 /etc/initlog.conf 구성 파일에 지정됩니다. - 이것이 Syslog 시스템이 작동하는 방식입니다. faillog 파일은 바이너리이므로 faillog 유틸리티에서 읽을 수 있습니다.

오류를 발견하면 텍스트를 강조 표시하고 클릭하십시오. Ctrl+엔터.

짐작하셨겠지만 로그 파일(로그 파일)은 Linux 운영 체제, 응용 프로그램 및 서비스에 대한 이벤트 기록을 유지합니다.

파일은 쉽게 읽을 수 있도록 일반 텍스트로 저장됩니다. 이 문서에서는 로그 파일을 찾을 수 있는 위치를 알려주고 몇 가지 기본 로그 파일의 예를 제공하며 이를 읽는 방법을 설명합니다.

Linux에서 로그 파일은 어디에 있습니까?

Linux 로그 파일은 일반적으로 /var/logs 폴더에 저장됩니다.

이 폴더에는 각 응용 프로그램에 대한 정보를 얻을 수 있는 많은 파일이 포함되어 있습니다.

예를 들어, 명령이 ls예를 들어 /var/logs 폴더에서 실행되며 사용 가능한 로그는 다음과 같습니다.

  • kern.log
  • auth.log
  • bootstrap.log
  • 대안.log
  • 삼바
  • 라이트디엠

이 목록의 마지막 세 개는 폴더이지만 로그 파일도 있습니다.

로그 파일은 텍스트 형식이므로 다음 명령을 입력하여 읽을 수 있습니다.

위의 명령은 nano 편집기에서 로그 파일을 엽니다. 로그 파일이 작다면 편집기에서 로그 파일을 여는 것보다 더 좋은 것은 없지만 로그 파일이 크면 로그의 끝 부분에만 관심이 있을 것입니다.

다음과 같이 -n 옵션을 사용하여 표시할 줄 수를 지정할 수 있습니다.

파일의 시작 부분을 보려면 head 명령을 사용할 수 있습니다.

기본 시스템 로그

다음 로그 파일은 Linux에서 필수적입니다.

  • 인증 로그
  • 악마 일지
  • 디버그 로그
  • 커널 로그
  • 시스템 로그

데몬 로그(daemon.log)는 백그라운드에서 실행되고 중요한 작업을 수행하는 서비스를 추적합니다. 데몬은 일반적으로 화면에 표시되지 않습니다.

디버그 로그는 애플리케이션에 대한 디버그 출력을 제공합니다.

커널 로그에는 Linux 커널에 대한 자세한 정보가 포함되어 있습니다.

syslog에는 시스템에 대한 대부분의 정보가 포함되어 있으며 응용 프로그램에 자체 로그가 없는 경우 이 로그 파일에 항목이 있을 수 있습니다.

로그 파일의 내용 구문 분석

위의 이미지는 syslog 파일에 있는 마지막 50개 파일의 내용을 보여줍니다.

각 로그 라인에는 다음 데이터가 포함됩니다.

  • 호스트 이름
  • 서비스/신청
  • 메시지

syslog 파일에 있는 라인 중 하나의 예:

1월 20일 12:28:56 gary-virtualbox systemd: 컵 스케줄러 시작

로그 회전

로그 파일은 너무 커지지 않도록 주기적으로 변경됩니다.

로그 회전 유틸리티는 로그 파일 회전을 담당합니다. 이름에 auth.log.1, auth.log.2와 같은 숫자가 포함되어 있기 때문에 로그가 교체되었음을 알 수 있습니다.

/etc/logrotate.conf 파일을 편집하여 로그 회전 빈도를 변경할 수 있습니다.

다음은 logrotate.conf 파일 항목의 예입니다.

#로그 파일 회전
주간

#4주간의 로그 파일 보관

회전 후 새 로그 파일 생성

보시다시피 이러한 로그 파일은 매주 변경되며 4주 분량의 로그 파일을 동시에 저장할 수 있습니다.

로그 파일이 교체되면 그 자리에 새 파일이 생성됩니다.

각 애플리케이션은 고유한 순환 정책을 가질 수 있습니다. 이는 syslog 파일이 cups 로그 파일보다 빠르게 증가하기 때문에 확실히 유용합니다.

순환 정책은 /etc/logrotate.d에 저장됩니다. 고유한 순환 정책이 필요한 각 응용 프로그램에는 응용 프로그램 폴더에 구성 파일이 저장되어 있습니다.

예를 들어 apt 도구에는 다음 콘텐츠가 포함된 logrotate.d 폴더의 파일이 포함되어 있습니다.

/var/log/apt/history.log(
12 회전
월간 간행물
압박 붕대
미싱곡
공고
}

기본적으로 이 로그는 다음을 알려줍니다. 로그는 12주 동안 로그 파일을 보관하며 매월(한 달에 한 번) 변경됩니다. 로그 파일이 압축됩니다. 로그에 메시지가 기록되지 않은 경우(즉, 비어 있음) 이는 정상입니다. 로그가 비어 있으면 새 로그로 교체되지 않습니다.

파일의 정책을 변경하려면 해당 설정을 원하는 것으로 변경한 후 다음 명령을 실행하십시오.

오타를 찾았습니까? 텍스트를 선택하고 Ctrl + Enter를 누릅니다.



로그 파일을 읽지 않은 서버의 사용자 및 관리자 또는 Linux 기반 워크스테이션을 상상하는 것은 불가능합니다. 운영 체제와 실행 중인 응용 프로그램은 다양한 로그 파일에 기록되는 다양한 유형의 메시지를 지속적으로 생성합니다. 올바른 로그 파일과 그 파일에서 무엇을 찾아야 하는지 알면 많은 시간을 절약하고 오류를 더 빨리 해결할 수 있습니다.

로깅은 시스템 작동 및 해당 오류에 대한 주요 정보 소스입니다. 이 간략한 가이드에서는 운영 체제 로깅, 디렉토리 구조, 로그 읽기 및 검토 프로그램의 주요 측면을 다룹니다.

기본 로그 파일

모든 로그 파일은 다음 범주 중 하나로 분류할 수 있습니다.

  • 응용 프로그램;
  • 이벤트;
  • 서비스;
  • 전신.

대부분의 로그 파일은 /var/log 디렉토리에 포함되어 있습니다.

  • /var/log/syslog또는 /var/log/메시지 Linux 커널, 다양한 서비스, 검색된 장치, 네트워크 인터페이스 등에서 시스템이 시작된 순간부터 메시지를 작성하는 글로벌 시스템 로그를 포함합니다.
  • /var/log/auth.log또는 /var/로그/보안- 성공적인 로그인 시도와 실패한 로그인 시도 및 관련된 인증 메커니즘을 포함한 사용자 권한 부여 정보.
  • /var/log/dmesg- 장치 드라이버. 같은 이름의 명령을 사용하면 파일 내용의 출력을 볼 수 있습니다. 로그 크기는 제한되어 있으며 파일이 한계에 도달하면 이전 메시지를 최신 메시지로 덮어씁니다. --level= 키를 설정하면 중요도별로 출력을 필터링할 수 있습니다.
지원되는 로깅 수준(우선순위): emerg - 시스템 미사용 경고 - 즉시 수행할 조치 crit - 위험 조건 err - 오류 조건 경고 - 경고 조건 알림 - 일반적이지만 중요한 조건 정보 - 정보 디버그 - 디버그 메시지(5:520)$ dmesg -l err usb 1-1.1: 2:1: ep 0x1에서 freq를 얻을 수 없음 usb 1-1.1: 1:1: ep 0x81에서 freq를 얻을 수 없음 usb 1-1.1: 1:1: ep 0x81에서 freq를 얻을 수 없음
  • /var/log/alternatives.log- 기본적으로 명령 또는 라이브러리에 대한 심볼릭 링크를 포함하는 update-alternatives 프로그램의 출력입니다.
  • /var/log/anaconda.log- 시스템 설치 시 등록된 항목입니다.
  • /var/로그/감사- 감사 감사 서비스에 의해 생성된 항목.
  • /var/log/boot.log- 운영 체제가 로드될 때 기록되는 정보입니다.
  • /var/로그/크론- 명령 자체에서 실행 가능한 명령 및 메시지에 대한 crond 서비스 보고서.
  • /var/로그/컵- 인쇄 및 프린터와 관련된 모든 것.
  • /var/log/faillog- 실패한 로그인 시도. 보안 위협, 해커 공격, 무차별 대입 공격을 확인할 때 매우 유용합니다. faillog 명령을 사용하여 내용을 읽을 수 있습니다.
  • 변수/로그/kern.log- 로그에는 커널의 메시지와 커널에 내장된 사용자 정의 모듈의 문제를 해결할 때 유용할 수 있는 경고가 포함되어 있습니다.
  • /var/로그/메일로그/또는 /var/log/mail.log- OS에서 사용되는 메일 서버의 로그입니다.
  • /var/log/pm-powersave.log- 배터리 절약 서비스 메시지.
  • /var/로그/삼바/- Windows 공유에 액세스하고 Windows 사용자에게 Linux 공유에 대한 액세스를 제공하는 데 사용되는 Samba 파일 서버 로그.
  • /var/로그/스풀러- 구식의 경우 USENET 메시지를 포함합니다. 대부분 비어 있고 버려집니다.
  • /var/log/Xorg.0.log- X 서버 로그. 대부분 쓸모가 없지만 EE로 시작하는 줄이 포함되어 있으면 주의를 기울여야 합니다.

각 배포에 대해 별도의 패키지 관리자 로그가 있습니다.

  • /var/log/yum.log- RedHat Linux에서 Yum과 함께 설치된 프로그램의 경우.
  • /var/log/emerge.log- Gentoo Linux에서 emerge를 사용하여 Portage에서 설치한 ebuild용.
  • /var/log/dpkg.log- Debian Linux 및 모든 관련 배포판에 dpkg와 함께 설치된 프로그램의 경우.

그리고 일부 바이너리 사용자 세션 로그.

  • /var/log/lastlog- 마지막 사용자 세션. 마지막 명령으로 읽을 수 있습니다.
  • /var/log/탈리로그- 실패한 로그인 시도를 감사합니다. pam_tally2 유틸리티를 사용한 화면 출력.
  • /var/로그/btmp- 실패한 로그인 시도의 모든 단일 로그. 해커 활동의 흔적을 찾을 위치를 아직 추측하지 못한 경우를 대비하여 이와 같습니다.
  • /var/로그/utmp- 현재 사용자 로그인 목록입니다.
  • /var/log/wtmp- 사용자 로그인에 대한 또 다른 로그 항목. utmpdump 명령으로 화면에 출력합니다.
(5:535)$ sudo utmpdump /var/log/wtmp [2015년 8월 11일 화요일 16:50:07] [~~ ] [2015년 8월 11일 화요일 16:50:08] [~~ ] [8월 11일 화요일 16: 50:57 2015] [2015년 8월 11일 화요일 16:50:57] [~~ ] [2015년 8월 11일 화요일 16:50:57]

그리고 다른 잡지들

운영 체제는 Linux만큼 훌륭하더라도 그 자체로 실질적인 이점을 제공하지 않기 때문에 데이터베이스, 웹 서버 및 다양한 응용 프로그램이 서버 또는 워크스테이션에서 실행될 가능성이 큽니다. 각 응용 프로그램 또는 서비스에는 고유한 이벤트 및 오류 로그 파일 또는 디렉터리가 있을 수 있습니다. 물론 모두 열거할 수는 없고 일부만 나열할 수 있다.

  • /var/로그/mysql/- MySQL 데이터베이스 로그.
  • /var/log/httpd/또는 /var/log/아파치2/- Apache 웹 서버 로그, 액세스 로그는 access_log에, 오류는 error_log에 있습니다.
  • /var/log/lighthttpd/- Lighttpd 웹 서버 로그.

사용자의 홈 디렉토리에는 그래픽 애플리케이션 로그인 DE가 포함될 수 있습니다.

  • ~/.xsession-오류- X11 그래픽 응용 프로그램의 stderr 출력.
"kcm_input" 초기화 중: "kcminit_mouse" 초기화 중 "kcm_access": "kcminit_access" 초기화 중 "kcm_kgamma": "kcminit_kgamma" QXcbConnection: XCB 오류: 3(BadWindow), 시퀀스: 181, 리소스 ID: 10486050, 주요 코드: 20(GetProperty) , 부 코드: 0 kf5.kcoreaddons.kaboutdata: Q*Application의 동등한 속성을 초기화할 수 없습니다. 인스턴스가 (아직) 존재하지 않습니다. QXcbConnection: XCB 오류: 3(BadWindow), 시퀀스: 181, 리소스 ID: 10486050, 주 코드: 20(GetProperty), 부 코드: 0 Qt: 세션 관리 오류: networkIdsList 인수가 NULL입니다.
  • ~/.xfce4-session.verbose-log- XFCE4 데스크톱 메시지.

무엇을 볼 것인가 - lnav

거의 모든 사람이 less 유틸리티와 tail -f 명령에 대해 알고 있습니다. 또한 이러한 목적을 위해 vim 편집기와 Midnight Commander 파일 관리자가 적합합니다. 모두 단점이 있습니다. less는 긴 줄이 있는 로그를 바이너리로 착각하여 잘 처리하지 못합니다. Midnight Commander는 복잡한 패턴을 검색할 필요가 없고 경기 사이에 앞뒤로 많이 이동할 필요가 없을 때 훑어보기에 적합합니다. vim 편집기는 다양한 형식의 구문을 이해하고 강조 표시하지만 로그가 자주 업데이트되는 경우 파일 변경 사항에 대한 방해 메시지가 나타납니다. 그러나 이것은 쉽게 무시할 수 있습니다.<:view /path/to/file> .


최근에 저는 또 다른 유용하고 유망하지만 여전히 조잡한 유용성을 발견했습니다. lnav, 로그 파일 탐색기의 암호 해독에서.




하나의 명령으로 평소와 같이 패키지를 설치합니다.


$ aptitude install lnav #Debian/Ubuntu/LinuxMint $ yum install lnav #RedHat/CentOS $ dnf install lnav #Fedora $ emerge -av lnav #Gentoo, package.accept_keywords에 추가 $ yaourt -S lnav #Arch

저널 네비게이터 lnav여러 파일 형식을 이해합니다.

  • 웹 서버의 Access_log입니다.
  • CUPS page_log
  • 시스템 로그
  • dpkg.log
  • strace
  • 타임스탬프가 있는 임의 레코드
  • gzip, bzip
  • VMWare ESXi/vCenter 로그

이 경우 파일 형식을 이해한다는 것은 무엇을 의미합니까? 초점은 lnav텍스트 파일을 보기 위한 유틸리티 그 이상입니다. 프로그램은 다른 작업을 수행할 수 있습니다. 한 번에 여러 파일을 열고 파일 간에 전환할 수 있습니다.


(5:471)$ sudo lnav /var/log/pm-powersave.log /var/log/pm-suspend.log

프로그램은 아카이브 파일을 직접 열 수 있습니다.


(5:471)$ lnav -r /var/log/Xorg.0.log.old.gz

키를 누를 때 정보 메시지, 경고 및 오류의 막대 그래프 표시 . 이것은 내 syslog에서 가져온 것입니다.


5월 2일 월요일 20:25:00 123 정상 3 오류 0 경고 0 마크 5월 2일 월요일 22:40:00 2 정상 0 오류 0 경고 0 마크 5월 2일 월요일 23:25:00 10 정상 0 오류 0 경고 0 마크 5월 화요일 03 07:25:00 96 정상 3 오류 0 경고 0 마크 5월 3일 화요일 23:50:00 10 정상 0 오류 0 경고 0 마크 5월 4일 수요일 07:40:00 96 정상 3 오류 0 경고 0 마크 5월 4일 수요일 08 :30:00 정상 2개 오류 0개 경고 0개 0점 5월 4일(수) 10:40:00 정상 10개 오류 0개 경고 0개 0점 5월 4일(수) 11:50:00 126 정상 오류 2개 경고 1개 0점

또한 구문 강조 표시, 금기 사항 추가 및 상태 표시줄의 다양한 유용성을 지원합니다. 단점은 행동의 불안정성과 정지를 포함합니다. 희망 lnav제 생각에는 매우 유용한 프로그램으로 활발히 개발될 것입니다.

소개

GNU/Linux를 훌륭한 운영 체제로 만드는 것 중 하나는 시스템에서 발생하는 거의 모든 것이 어떤 방식으로 기록될 수 있다는 것입니다. 이 정보는 정보에 입각한 방식으로 시스템을 사용하는 데 매우 중요하며 시스템 및 응용 프로그램 문제를 해결하는 데 사용하는 첫 번째 리소스 중 하나여야 합니다. 로그는 어디를 먼저 봐야할지 알고 있는 한 알아야 할 거의 모든 것을 알려줄 수 있습니다.

Ubuntu 시스템은 다양한 시스템 로그 파일을 사용하여 중요한 정보를 제공합니다. 이러한 로그 파일은 일반적으로 표준 로그 파일 형식의 일반 ASCII 텍스트이며 대부분 기존 시스템 로그 하위 디렉토리인 /var/log에 있습니다. 대부분은 시스템 로그 데몬, 시스템 및 특정 응용 프로그램을 대신하여 syslogd에 의해 생성되는 반면 일부 응용 프로그램은 /var/log 의 파일에 직접 기록하여 자체 로그를 생성합니다.

이 가이드에서는 이러한 시스템 로그 파일 중 몇 가지를 읽고 사용하는 방법, 시스템 로깅 데몬인 syslogd를 사용하고 구성하는 방법, 로그 회전이 작동하는 방법에 대해 설명합니다. 참조 자원추가 정보 섹션.

대상 고객

이 가이드는 콘솔을 사용하고 텍스트 편집기를 사용하여 텍스트 파일을 편집한 경험이 있는 경우 사용하기에 충분히 간단합니다. 상대적으로 명령줄을 처음 사용하는 경우 이러한 파일을 찾는 데 도움이 될 수 있는 몇 가지 필수 명령에 대해서는 이 문서의 끝 부분을 참조하십시오.

시스템 로그

시스템 로그는 주로 사용자가 추가한 추가 응용 프로그램이 아닌 Ubuntu 시스템의 기능을 처리합니다. 예를 들면 인증 메커니즘, 시스템 데몬, 시스템 메시지 및 모든 것을 포괄하는 시스템 로그 자체가 있습니다. 시스템 로그.

인증 로그

권한 부여 로그는 PAM(Pluggable Authentication Module) 시스템, sudo 명령, sshd에 대한 원격 로그인 등과 같이 사용자 암호를 묻는 사용자 권한 부여 메커니즘인 권한 부여 시스템의 사용을 추적합니다. 인증 로그 파일은 /var/log/auth.log 에서 액세스할 수 있습니다. 이 로그는 사용자 로그인 및 sudo 명령 사용에 대해 알아보는 데 유용합니다.

grep을 사용하여 볼륨을 줄입니다. 예를 들어 sshd 로그인과 관련된 인증 로그의 정보만 보려면 다음을 사용하십시오.

grep sshd /var/log/auth.log | 더 적은

데몬 로그

데몬은 일반적으로 사람의 개입 없이 백그라운드에서 실행되는 프로그램으로 시스템의 적절한 실행에 중요한 일부 작업을 수행합니다. /var/log/daemon.log의 데몬 로그에는 Gnome Display Manager 데몬 gdm , Bluetooth HCI 데몬 hcid 또는 MySQL 데이터베이스 데몬 mysqld 와 같은 실행 중인 시스템 및 응용 프로그램 데몬에 대한 정보가 포함되어 있습니다. 이렇게 하면 특정 데몬의 문제를 해결하는 데 도움이 될 수 있습니다.

다시 grep을 사용하여 관심 있는 데몬의 이름을 연결하여 특정 정보를 찾습니다.

디버그 로그

/var/log/debug에 있는 디버그 로그는 DEBUG 수준에서 syslogd에 기록하는 Ubuntu 시스템 및 애플리케이션의 자세한 디버그 메시지를 제공합니다.

커널 로그

/var/log/kern.log의 커널 로그는 Ubuntu Linux 커널의 자세한 메시지 로그를 제공합니다. 이러한 메시지는 예를 들어 새 커널 또는 사용자 정의 커널의 문제 해결에 유용할 수 있습니다.

커널 링 버퍼

커널 링 버퍼는 실제로 로그 파일 그 자체가 아니라 dmesg 유틸리티를 통해 커널 부팅 메시지를 쿼리할 수 있는 실행 중인 커널의 영역입니다. 메시지를 보려면 다음을 사용하십시오.

dmesg | 더 적은

또는 예를 들어 Plug & Play 시스템을 언급하는 행을 검색하려면 다음과 같이 grep을 사용하십시오.

dmesg | 그렙 pnp | 더 적은

기본적으로 시스템 초기화 스크립트 /etc/init.d/bootmisc.sh는 모든 부팅 메시지를 /var/log/dmesg 파일에도 보냅니다. 일반적인 방법으로 이 파일을 보고 검색할 수 있습니다.

시스템 로그

일반적으로 시스템 로그에는 기본적으로 Ubuntu 시스템에 대한 가장 많은 정보가 포함되어 있습니다. /var/log/syslog 에 있으며 다른 로그에는 없는 정보가 포함될 수 있습니다. 다른 로그에서 원하는 로그 정보를 찾을 수 없는 경우 시스템 로그를 참조하십시오. 또한 /var/log/messages에 있던 모든 항목이 포함되어 있습니다.

애플리케이션 로그

또한 많은 애플리케이션이 /var/log 에 로그를 생성합니다. /var/log 하위 디렉토리의 내용을 나열하면 Apache 2 웹 서버의 로그를 나타내는 /var/log/apache2 또는 삼바 서버. 가이드의 이 섹션에서는 애플리케이션 로그의 몇 가지 구체적인 예와 그 안에 포함된 정보를 소개합니다.

Apache HTTP 서버 로그

Ubuntu에서 Apache2의 기본 설치는 /var/log/apache2 로그 하위 디렉토리를 생성합니다. 이 하위 디렉토리에는 두 가지 목적이 있는 두 개의 로그 파일이 있습니다.

    /var/log/apache2/access.log - 제공되는 모든 페이지와 웹 서버가 로드하는 모든 파일의 기록.

    /var/log/apache2/error.log - HTTP 서버에서 보고한 모든 오류 조건의 기록

기본적으로 Apache가 파일이나 페이지에 액세스할 때마다 액세스 로그에는 IP 주소, 시간 및 날짜, 브라우저 식별 문자열, HTTP 결과 코드 및 실제 쿼리 텍스트(일반적으로 페이지 보기에 대한 GET)가 기록됩니다. 전체 설명은 Apache 설명서를 참조하십시오. 이 파일에서 많은 정보를 수집할 수 있으며 실제로 이러한 로그 분석을 수행하는 많은 통계 패키지가 존재합니다.

또한 오류가 발생할 때마다 Apache는 오류 로그에 한 줄을 추가합니다. 오류 및 경고 메시지가 비활성화된 상태에서 PHP를 실행하는 경우 이것이 버그를 식별하는 유일한 방법이 될 수 있습니다.

CUPS 인쇄 시스템 로그

CUPS(Common Unix Printing System)는 기본 로그 파일인 /var/log/cups/error_log를 사용하여 정보 및 오류 메시지를 저장합니다. Ubuntu에서 인쇄 문제를 해결해야 하는 경우 이 로그를 시작하는 것이 좋습니다.

루트킷 헌터 로그

Rootkit Hunter 유틸리티(rkhunter)는 시스템 손상의 징후인 백도어, 스니퍼 및 루트킷이 있는지 Ubuntu 시스템을 확인합니다. rkhunter가 사용하는 로그는 /var/log/rkhunter.log에 있습니다.

Samba SMB 서버 로그

SMB(Server Message Block Protocol) 서버인 Samba는 Ubuntu 컴퓨터와 SMB 프로토콜을 지원하는 다른 컴퓨터 간에 파일을 공유하는 데 널리 사용됩니다. Samba는 /var/log/samba 하위 디렉토리에 세 가지 유형의 로그를 보관합니다.

    log.nmbd - Samba의 NETBIOS over IP 기능(네트워크 항목)과 관련된 메시지

    log.smbd - Samba의 SMB/CIFS 기능(파일 및 인쇄 공유 항목)과 관련된 메시지

    통나무. - 로그 파일 이름에 포함된 IP 주소의 서비스 요청과 관련된 메시지(예: log.192.168.1.1 ).

X11 서버 로그

Ubuntu와 함께 사용되는 기본 X11 Windowing Server는 Xorg X11 서버이며 컴퓨터에 디스플레이가 하나만 정의되어 있다고 가정하면 /var/log/Xorg.0.log 파일에 로그 메시지를 저장합니다. 이 로그는 X11 환경의 문제를 진단하는 데 유용합니다.

사람이 읽을 수 없는 로그

/var/log 하위 디렉토리에 있는 일부 로그 파일은 사람이 아닌 응용 프로그램에서 읽을 수 있도록 설계되었습니다. /var/log에 나타나는 이러한 로그 파일의 몇 가지 예는 다음과 같습니다.

로그인 실패 로그

/var/log/faillog에 있는 로그인 실패 로그는 실제로 faillog 명령에 의해 구문 분석되고 표시되도록 설계되었습니다. 예를 들어 최근 로그인 실패를 인쇄하려면 다음을 사용하십시오.

실패 로그

마지막 로그인 로그

/var/log/lastlog에 있는 마지막 로그인 로그는 일반적으로 사람이 구문 분석하고 검사해서는 안 되며 lastlog 명령과 함께 사용해야 합니다. 예를 들어 lastlog 명령으로 로그인 목록을 보려면 less 명령으로 화면당 한 페이지씩 표시하려면 다음 명령을 사용하십시오.

마지막 로그 | 더 적은

로그인 기록 로그

/var/log/wtmp 파일에는 로그인 레코드가 포함되어 있지만 위의 /var/log/lastlog와 달리 /var/log/wtmp는 최근 로그인 목록을 표시하는 데 사용되지 않고 대신 who와 같은 다른 유틸리티에서 사용됩니다. 현재 로그인한 사용자 목록을 표시하는 명령입니다. 이 명령은 현재 컴퓨터에 로그인한 사용자를 표시합니다.

WHO

시스템 로깅 데몬(syslogd)

sysklogd 라고도 하는 시스템 로깅 데몬 syslogd 는 다양한 소스에서 로깅 메시지를 기다리고 해당 메시지를 적절한 파일 또는 네트워크 대상으로 라우팅합니다. syslogd에 기록된 메시지에는 일반적으로 특정 로그 정보 외에 시스템 호스트 이름 및 타임스탬프와 같은 공통 요소가 포함됩니다.

syslogd 구성

syslogd 데몬의 구성 파일은 /etc/syslog.conf 입니다. 이 파일의 각 항목은 선택기와 작업의 두 필드로 구성됩니다. 선택기 필드는 예를 들어 다음과 같이 기록할 기능을 지정합니다. 인증인증을 처리하는 시설 및 이러한 정보를 기록할 우선순위 수준(예: 정보, 또는 경고. 작업 필드는 표준 로그 파일(예: /var/log/syslog) 또는 로그 정보를 보낼 원격 컴퓨터의 호스트 이름과 같은 로그 정보의 대상으로 구성됩니다.

로거를 사용하여 syslogd에 메시지 에코하기

로거 도구에는 메시지를 시스템 로그(예: /var/log/syslog)에 임의로 배치할 수 있는 깔끔한 유틸리티가 있습니다. 예를 들어 사용자 이름이 buddha 라고 가정하고 특히 맛있는 피자에 대한 메시지를 syslog에 입력하려면 터미널 프롬프트에서 다음과 같은 명령을 사용할 수 있습니다.

logger Vinnys Gourmet Rocks의 이 피자

그러면 /var/log/syslog 파일에 다음과 같은 줄이 생깁니다.

1월 12일 23:34:45 localhost buddha: Vinnys Gourmet Rocks의 이 피자

메시지가 오는 태그를 지정하고 출력 표준 오류도 리디렉션할 수 있습니다.

# # 샘플 로거 오류 jive # logmsg="/usr/bin/logger -s -t MyScript " # 로그에 이 스크립트가 무엇인지 알리기 $logmsg "Directory Checker FooScript Jive 1.0" # Fred의 존재 여부 테스트" 이 머신의 홈 디렉토리 if [ -d /home/fred ]; then $logmsg "I. Fred의 홈 디렉토리를 찾았습니다." else $logmsg "E. Fred의 홈 디렉토리를 찾을 수 없습니다. 부후." 1번출구 fi

이 스크립트를 chkdir.sh로 실행하면 Fred의 홈 디렉토리인 /home/fred가 없는 버터 시스템에서 다음과 같은 결과를 얻을 수 있습니다.

[이메일 보호]:~$./chkdir.sh MyScript: 디렉터리 검사기 FooScript Jive 1.0 MyScript: E. Fred의 홈 디렉터리를 찾을 수 없습니다. [이메일 보호]:~$tail -n 2 /var/log/syslog Jan 12 23:23:11 localhost MyScript: 디렉터리 검사기 FooScript Jive 1.0 Jan 12 23:23:11 localhost MyScript: E. Fred의 홈 디렉터리를 찾을 수 없습니다.

보시다시피 터미널 프롬프트에서 표준 오류를 통해 메시지를 받았고 syslog에도 나타납니다.

로그 회전

/var/log 또는 그 하위 디렉토리에서 디렉토리 목록을 볼 때 daemon.log.0 , daemon.log.1.gz 등과 같은 이름을 가진 로그 파일을 볼 수 있습니다. 이 로그 파일은 무엇입니까? "회전된" 로그 파일입니다. 즉, 미리 정의된 시간 프레임 후에 자동으로 이름이 바뀌었고 새로운 원본 로그가 시작되었습니다. 훨씬 더 많은 시간이 지나면 daemon.log.1.gz 예제의 경우와 같이 gzip 유틸리티로 로그 파일이 압축됩니다. 로그 회전의 목적은 오래된 로그를 보관하고 압축하여 디스크 공간을 덜 사용하면서도 필요에 따라 계속 검사할 수 있도록 하는 것입니다. 이 기능을 처리하는 것은 무엇입니까? 물론 logrotate 명령입니다! 일반적으로 logrotate는 시스템 전체 cron 스크립트 /etc/cron.daily/logrotate에서 호출되며 구성 파일 /etc/logrotate.conf에서 추가로 정의됩니다. 개별 구성 파일은 /etc/logrotate.d(예: apache2 및 mysql 구성이 저장되는 위치)에 추가할 수 있습니다.

이 가이드는 Ubuntu 시스템에서 로그 파일의 자동 회전을 처리하도록 logrotate를 구성할 수 있는 수많은 방법을 다루지 않습니다. 자세한 내용은 자원이 안내서의 섹션.

메모: logrotate를 사용하는 대신 cron.daily 스크립트 /etc/cron.daily/sysklogd를 통해 시스템 로그 파일을 순환할 수도 있습니다. 실제로 유틸리티 savelog는 logrotate 구성이 영향을 미치지 않는 것처럼 보이는 로그 회전에 대해 예기치 않은 결과를 생성할 수 있습니다. 이러한 경우에는 /etc/cron.daily/sysklogd에서 cron.daily sysklogd 스크립트를 확인하고 savelog 매뉴얼 페이지를 읽어서 savelog가 실제로 지정하지 않은 방식으로 회전을 수행하고 있지 않은지 확인해야 합니다. logrotate.

필수 명령

콘솔과 Linux 명령줄을 처음 사용하는 경우 이러한 명령을 통해 기본 수준에서 로그 파일을 사용할 수 있는 지점까지 시작할 수 있습니다.

시작하기

대부분의 이러한 파일이 있는 로그 디렉토리로 변경하려면 cd 명령을 사용하십시오. 이렇게 하면 모든 후속 명령에 대해 전체 경로 이름을 입력할 필요가 없습니다.

cd /var/로그

파일 편집

각각 Ubuntu 및 Kubuntu와 함께 제공되는 간단한 텍스트 편집기인 GEdit 또는 Kate에서 파일을 보고 편집할 수 있지만 파일을 보거나 간단한 변경만 수행하려는 경우 과도할 수 있습니다. 콘솔에서 사용하기 가장 쉬운 편집기는 nano로, vim이나 emacs보다 덜 강력하지만 덜 복잡합니다. nano를 사용하여 특정 로그 파일 /var/log/example.log를 편집하는 명령은 다음과 같습니다.

나노 example.log

Ctrl+X를 눌러 종료합니다. 종료할 때 변경 사항을 저장할지 묻는 메시지가 표시되지만 sudo 명령으로 실행하지 않으면 파일을 쓸 수 없습니다. 일반적으로 변경 사항을 로그 파일에 저장하고 싶지 않을 것입니다.

파일 보기

단순히 파일을 보기에는 편집기가 과합니다. 한 번에 한 화면씩 파일을 살펴보는 less 명령을 사용하십시오.

적은 example.log

파일을 보기 위해 sudo가 필요하지 않습니다. 도움말을 보려면 h를 누르고 종료하려면 q를 누르십시오. 커서 키와 페이지 위로/아래로 키가 예상대로 작동하고 슬래시 키("/")가 케이스를 수행합니다. 민감한 검색; n 키는 마지막 검색을 반복합니다.

파일 시작 부분 보기

파일의 처음 10줄을 보려면 head 명령을 사용하십시오.

헤드 example.log

파일 시작 부분에서 다른 줄 수를 보려면 다음과 같이 -n 스위치를 추가하십시오.

헤드 -n 20 example.log

파일 끝 보기

파일의 마지막 10줄을 보려면 유사한 명령이 tail입니다.

꼬리 example.log

다시 말하지만 -n 스위치를 사용하면 표시되는 줄 수를 제어할 수 있습니다.

꼬리 -n 20 example.log

변화하는 파일 보기

또한 -f("follow") 스위치는 tail을 루프에 넣고 표시하는 파일에 대한 새로운 추가를 지속적으로 기다립니다. 이것은 실시간으로 업데이트되는 파일을 모니터링하는 데 유용합니다.

꼬리 -f example.log

Ctrl+C를 눌러 루프를 종료합니다.

파일 검색

로그 파일은 크고 다루기 힘들 수 있으므로 집중할 수 있도록 도와줍니다. grep 명령을 사용하면 관심 있는 콘텐츠만 제거할 수 있습니다. 예를 들어 "system"이라는 단어가 포함된 파일의 모든 행을 찾으려면 다음을 사용하십시오.

grep "시스템" example.log

줄 시작 부분에 "system"이 포함된 모든 줄을 찾으려면 다음을 사용합니다.

grep "^시스템" example.log

줄의 시작 부분에만 일치하는 정규식인 캐럿 기호에 유의하십시오. 이것은 항상 날짜와 시간으로 시작하는 표준 로그 파일에는 덜 유용하지만 다른 경우에는 편리할 수 있습니다. 모든 파일에 표준 형식이 있는 것은 아닙니다.

grep의 결과가 여전히 너무 길면 언제든지 less를 통해 파이프할 수 있습니다.

grep "시스템" example.log | 더 적은

자원

시스템 및 애플리케이션 로그와 syslogd에 대한 추가 정보는 다음 리소스를 통해 제공됩니다.

로컬 시스템 리소스

dmesg 커널 링 버퍼 유틸리티의 시스템 매뉴얼 페이지

faillog 명령에 대한 시스템 매뉴얼 페이지(및 man 5 faillog를 통한 faillog 구성 파일)

grep 패턴 검색 유틸리티의 시스템 매뉴얼 페이지

헤드 유틸리티의 시스템 매뉴얼 페이지

커널 로그 데몬(klogd)의 시스템 매뉴얼 페이지

마지막으로 로그인한 사용자를 표시하는 마지막 명령에 대한 시스템 설명서

less paging 유틸리티의 시스템 매뉴얼 페이지

syslog 유틸리티에 대한 로거 명령줄 인터페이스의 시스템 매뉴얼 페이지

logrotate 유틸리티의 시스템 매뉴얼 페이지

savelog 로그 파일 저장 유틸리티의 시스템 매뉴얼 페이지

시스템 로그 데몬(syslogd)의 시스템 매뉴얼 페이지

syslogd 구성 파일의 시스템 매뉴얼 페이지

tail 유틸리티의 시스템 매뉴얼 페이지


Linux에서 로그 파일(로그 파일)을 볼 때 로그의 새 항목을 실시간으로 모니터링해야 하는 경우가 있습니다. 즉, 실시간으로 이 파일의 새 항목을 보고 모니터링할 로그 파일을 지정합니다.

tail 명령으로 로그 파일 모니터링

명령을 실행하면 꼬리 파일 이름추가 인수가 없으면 파일의 마지막 10줄이 인쇄되고 명령이 종료됩니다.

tail 명령이 파일의 최신 항목을 계속 표시하려면, 즉 파일에 새 항목이 나타난 경우 화면의 정보가 업데이트된 경우 -f 옵션을 사용하십시오.
꼬리 -f LogFileName

tail -f 명령을 실행하여 /var/log/syslog 로그 파일을 표시합니다.

꼬리 -f /var/log/syslog

옵션을 사용하기 때문에 -f , tail 명령은 종료되지 않지만 로그 파일에 새 항목이 나타날 때까지 기다립니다. 새 항목이 로그 파일에 추가되는 즉시 터미널에 즉시 표시됩니다.

명령을 중단하려면 Ctrl+C를 누릅니다.

tailf 명령

Tail -f 명령은 tailf 명령과 유사합니다.

용법:

테일프 /var/log/mylogfile.log

tailf와 tail -f의 중요한 차이점은 tailf는 파일이 수정되지 않을 때 파일에 액세스하지 않는다는 것입니다. 결과적으로 파일 액세스 시간이 업데이트되지 않고 파일이 업데이트되지 않을 때 시스템에서 파일을 디스크에 영구적으로 플러시하지 않습니다.

tailf 명령에 대한 설명은 랩톱에서 로그 파일을 모니터링하는 데 유용함을 나타냅니다. 불필요하게 디스크에 대한 액세스가 없기 때문에 배터리 수명이 보존됩니다.

꼬리 F. 파일 이름이 변경되었거나 삭제된 경우

일반적으로 Linux에서는 로그 파일이 무기한으로 작성되지 않습니다. 그렇지 않으면 이러한 파일이 향후 사용하기에 매우 불편할 것입니다. 대신 소위 파일 회전이 사용됩니다. 로그 파일이 커지면 삭제되거나 이름이 바뀌고(파일의 백업 복사본이 생성됨) 추가 메시지가 비어 있는 새 파일에 기록됩니다.

tail 명령에는 -f 및 -F의 두 가지 옵션이 있습니다.

  • 사용하는 경우 -f 옵션추적된 파일의 이름이 바뀌면 tail 명령은 이미 이름이 바뀐 파일을 계속 추적합니다. 팀 꼬리이 경우 파일의 식별자(inode)에 바인딩됩니다.
  • 사용하는 경우 옵션 -F추적된 파일의 이름이 바뀌면 tail 명령이 이를 결정하고 새 로그 파일이 생성되자마자(tail 명령에 지정한 이름 사용) 꼬리), 팀 꼬리이 새 파일을 추적하기 시작합니다.

예를 들어 보겠습니다.

로그 파일 /var/log/apache2/error.log 를 모니터링합니다. -F 옵션과 함께 tail 명령 실행

테일 -F /var/log/apache2/error.log

시스템이 error.log 파일을 error.log.1 파일로 이동(이름 변경)하고 새 error.log 파일을 생성하면 tail 명령은 이미 새로운 error.log 파일을 계속 모니터링합니다.

이 예에서 옵션을 사용한다면 -f ,그런 다음 tail 명령은 실시간으로 로그를 볼 때 더 이상 관련이 없는 error.log.1 파일을 계속 모니터링합니다.

동시에 여러 로그 파일 추적

tail 명령은 동시에 여러 파일 추적을 지원합니다. 이렇게 하려면 파일 이름을 공백으로 구분하여 지정해야 합니다.

테일 -f /var/log/apache2/error.log /var/log/apache2/access.log

파일이 변경되는 즉시 이 파일의 이름과 새 항목이 화면에 표시됩니다.

동시에 여러 로그 파일을 추적하기 위해 매우 편리한 multitail 유틸리티가 있습니다.

단순히 데이터를 표시하는 것이 아니라 파일별로 자체 창(영역)을 만들어 이 창에 데이터를 표시합니다. 도움을 받으면 한 번에 많은 로그 파일을 추적하고 하나의 터미널 창에서 볼 수 있어 매우 편리합니다.

multitail 유틸리티는 배포판의 일반 리포지토리에서 설치할 수 있습니다. 설치하려면 다음 명령을 실행합니다(배포에 적합한 명령 선택).

sudo apt 설치 multitail sudo yum 설치 multitail sudo dnf 설치 multitail

용법:

Multitail /var/log/apache2/access.log /var/log/apache2/error.log

q 키를 눌러 유틸리티를 종료합니다.



질문이 있으신가요?

오타 신고

편집자에게 보낼 텍스트: