Skip to main content

시스템 로그 정보

관리자가 활동 및 오류를 이해할 수 있도록 GitHub Enterprise Server는 시스템 로그를 저장합니다.

GitHub Enterprise Server에 대한 시스템 로그 정보

GitHub Enterprise Server 인스턴스에서 활동 및 예외를 추적, 검토, 해결하려면 시스템 로그를 검토하세요. 인스턴스는 다음과 같은 두 가지 유형의 시스템 로그를 저장합니다.

  • syslog 또는 특정 서비스에 의해 저장된 디스크의 일반 텍스트 로그 파일
  • journald에서 저장된 이진 로그 파일

기본적으로 GitHub Enterprise Server는 시스템 로그를 24시간마다 자동으로 회전시키고 7일 동안 유지합니다. 시스템 로그에는 시스템 수준 이벤트, 애플리케이션 로그, Git 이벤트 데이터가 포함됩니다. 로그 파일은 자주 작성되며 크기가 클 수 있으므로 GitHub Enterprise Server 인스턴스와 별도의 호스트에서 로그 항목을 추출하고 구문 분석하는 것이 좋습니다.

GitHub Enterprise Server 인스턴스에 대한 관리 SSH 액세스 권한을 가진 사용자는 시스템 로그에 액세스하고 읽을 수 있습니다. 자세한 내용은 관리 셸(SSH)에 액세스을(를) 참조하세요.

시스템 로그 및 감사 로그를 외부 시스템으로 전달하여 분석하거나 더 오래 보존할 수 있습니다. 자세한 내용은 로그 전달엔터프라이즈에 대한 감사 로그 스트리밍을(를) 참조하세요.

시스템 로그를 검토하는 것 외에도 다른 방법으로 인스턴스의 활동을 모니터링할 수 있습니다. 예를 들어 감사 로그 및 푸시 로그를 검토하거나 전역 웹후크를 구성할 수 있습니다. 자세한 내용은 엔터프라이즈의 작업 모니터링을(를) 참조하세요.

Note

다음 로그 목록은 포괄적이지 않습니다.

시스템 로그 파일

GitHub Enterprise Server는 인스턴스의 디스크에 여러 범주의 시스템 로그를 일반 텍스트로 씁니다. 인스턴스에 대한 관리 SSH 액세스 권한을 가진 사용자는 cat, tail, head, less, more와 같은 Linux 명령줄 도구를 사용하여 이러한 파일을 구문 분석할 수 있습니다.

데이터베이스에 대한 로그 파일

다음 로그 파일은 인스턴스의 데이터베이스 서비스에서 발생한 이벤트를 기록합니다.

Path설명
/var/log/mysql/mysql.log
인스턴스의 MySQL 데이터베이스와 관련된 이벤트를 기록합니다.
/var/log/mysql/mysql.err
인스턴스의 MySQL 데이터베이스와 관련된 오류를 기록합니다.
/data/user/mssql/log/errorlog
인스턴스의 MSSQL 데이터베이스와 관련된 오류를 기록합니다. 다른 이벤트는 이 문서의 뒷부분에 있는 데이터베이스에 대한 저널 로그를 참조하세요.

GitHub 애플리케이션에 대한 로그 파일

다음 로그 파일은 인스턴스의 GitHub 애플리케이션에서 발생한 이벤트를 기록합니다.

Path설명
/var/log/github/audit.log
인스턴스에서 GitHub 애플리케이션의 활동에 대한 사용자, 리포지토리, 시스템 이벤트를 기록합니다. github_audit 키워드를 사용하여 로그의 항목을 필터링할 수 있습니다.
/var/log/github/exceptions.log
GitHub 애플리케이션에서 발생하는 예외를 기록합니다.
/var/log/github/gitauth.log
HTTPS 또는 SSH를 사용하여 Git 인증 요청을 기록합니다. babeld 서비스는 모든 Git 인증 요청과 활동을 처리합니다.
/var/log/github/production.log
GitHub 애플리케이션에 대한 내부 이벤트를 기록합니다. 웹 사이트에 대한 요청의 경우 응답한 컨트롤러의 작업이 포함됩니다. 작업 또는 요청의 원본에 따라 다른 구조의 항목을 포함할 수 있습니다.

HTTP 서버에 대한 로그 파일

다음 로그 파일은 인스턴스의 HTTP 서버에서 발생한 이벤트를 기록합니다.

Path설명
/var/log/nginx/error.log*
웹 요청에 대한 오류를 기록합니다.
/var/log/nginx/gist.log
gist와 관련된 HTTP 요청을 기록합니다. 자세한 내용은 gists 만들기을(를) 참조하세요.
/var/log/nginx/gist.error.log
gist에 대한 HTTP 요청과 관련된 오류를 기록합니다.
/var/log/nginx/github.log
GitHub 애플리케이션에 대한 HTTP 요청을 기록합니다.
/var/log/nginx/github.error.log
HTTP 요청과 관련된 오류를 기록합니다.
/var/log/nginx/pages.log
GitHub Pages와 관련된 HTTP 요청을 기록합니다. 자세한 내용은 GitHub Pages 정보을(를) 참조하세요.
/var/log/nginx/pages.error.log
GitHub Pages에 대한 HTTP 요청과 관련된 오류를 기록합니다.

관리 콘솔에 대한 로그 파일

다음 로그 파일에는 인스턴스의 관리 콘솔에서 발생한 이벤트가 포함되어 있습니다. 자세한 내용은 관리 콘솔 정보을(를) 참조하세요.

Path설명
/var/log/enterprise-manage/audit.log
인스턴스의 관리 콘솔에 활동을 기록합니다.
/var/log/enterprise-manage/unicorn.log
관리자가 웹 UI 또는 REST API를 사용하여 관리 콘솔에서 수행하는 HTTP 및 HTTPS 작업을 기록합니다.

인스턴스 구성에 대한 로그 파일

다음 로그 파일에는 인스턴스 구성과 관련된 이벤트가 포함되어 있습니다.

Path설명
/data/user/common/ghe-config.log
최신 구성 실행과 관련된 이벤트를 기록합니다. 구성 실행이 실패하면 로그에 대한 출력이 중지됩니다. 이 로그는 인스턴스의 소프트웨어를 업그레이드하는 동안 실행되는 마이그레이션에 대한 정보도 기록합니다. 자세한 내용은 명령줄 유틸리티을(를) 참조하세요.
/data/user/config-apply/logs/YYYYMMDD/*
이전 구성 실행에 대한 로그 파일을 저장합니다. 인스턴스는 날짜를 반영하는 디렉터리에 파일을 저장하고 각 파일 이름은 실행의 노드 및 ID를 반영합니다.

다음 로그 파일에는 인스턴스에 대한 검색 기능을 제공하는 서비스의 이벤트가 포함되어 있습니다.

Path설명
/var/log/elasticsearch/github-enterprise.log
인스턴스가 검색 서비스를 제공하는 데 사용하는 Elasticsearch 서비스와 관련된 이벤트를 기록합니다.

시스템 서비스에 대한 로그 파일

다음 로그에는 인스턴스의 시스템 서비스에서 발생한 이벤트가 포함됩니다.

Path설명
/var/log/coredumps.log
예기치 않게 종료되는 시스템 프로세스에 대한 정보를 기록합니다.
/var/log/boot.log
인스턴스의 부팅 프로세스에 대한 정보를 기록합니다.
/var/log/chrony/
이 디렉터리에는 NTP(네트워크 시간 프로토콜) 동기화 및 인스턴스의 시스템 클록과 관련된 로그가 포함됩니다. 자세한 내용은 시간 동기화 구성을(를) 참조하세요.
/var/log/haproxy.log
인스턴스에 대한 모든 웹 및 API 요청을 기록합니다. HTTP 연결의 경우 항목에는 클라이언트가 요청한 URL과 요청에 대한 HTTP 메서드가 포함됩니다.
/var/log/ssh-console-audit.log
관리자가 SSH(관리 셸)를 사용하여 실행하는 명령을 기록합니다. 자세한 내용은 관리 셸(SSH)에 액세스을(를) 참조하세요.
/var/log/mail-replies/metroplex.log
인스턴스가 받는 메일에 대한 정보를 기록합니다. 자세한 내용은 알림에 대한 메일 구성을(를) 참조하세요.

systemd 저널의 시스템 로그

babeld 서비스와 같은 여러 GitHub Enterprise Server 서비스가 컨테이너화됩니다. GitHub Enterprise Server는 이러한 서비스에 대한 시스템 로그를 systemd 저널에 이진 형식으로 씁니다.

인스턴스에 대한 관리 SSH 액세스 권한을 가진 사용자는 journalctl 명령을 사용하여 이러한 로그를 구문 분석할 수 있습니다. 자세한 내용은 온라인 Linux 매뉴얼 페이지의 journalctl(1)을 참조하세요.

systemd 저널의 로그를 보려면 다음 명령을 실행하여 다음 로그 목록에서 SERVICE-NAME을 서비스 이름으로 바꿉니다. 다른 모든 컨테이너화된 서비스의 로그를 보려면 nomad job status를 실행하고 ID를 SERVICE-NAME으로 사용합니다.

journalctl -t SERVICE-NAME

GitHub 애플리케이션에 대한 저널 로그

다음 로그에서는 인스턴스의 GitHub 애플리케이션에서 발생한 이벤트를 기록합니다.

서비스 이름설명
github-resqued
백그라운드 작업과 관련된 이벤트를 기록합니다. 작업에 기본 제공 또는 외부 인증이 포함된 경우 이 로그에는 요청에 대한 정보가 포함됩니다.

인스턴스에서 LDAP 인증을 사용하고 LDAP 동기화를 사용하는 경우 LDAP 동기화에 대한 이벤트가 이 로그에 표시됩니다. 자세한 내용은 LDAP 사용을(를) 참조하세요.
github-unicorn
인스턴스의 웹 UI 또는 API를 통해 사용자가 수행하는 HTTP 및 HTTPS 작업을 기록합니다. 작동에 기본 제공 또는 외부 인증이 포함된 경우 이 로그에는 요청에 대한 정보가 포함됩니다.

LDAP 또는 SAML 인증에 디버그 로깅을 사용하도록 설정하면 인증된 요청에 대한 디버그 수준 정보가 이 로그에 표시됩니다. 자세한 내용은 LDAP 사용 또는 SAML 인증 문제 해결을(를) 참조하세요.

Git에 대한 저널 로그

다음 로그에는 인스턴스의 Git 활동과 관련된 이벤트가 포함됩니다.

서비스 이름설명
babeld
리포지토리에 액세스하기 위한 인증을 포함하여 인스턴스의 모든 Git 활동에 대한 이벤트를 기록합니다.
codeload
인스턴스의 리포지토리에 대한 코드 보관 파일 생성 또는 검색과 관련된 활동에 대한 이벤트를 기록합니다.
gpgverify
커밋 서명 검증과 관련된 이벤트를 기록합니다. 자세한 내용은 커밋 서명 확인 정보을(를) 참조하세요.

스토리지에 대한 저널 로그

다음 로그에는 인스턴스에서 데이터를 저장하거나 검색하는 서비스의 이벤트가 포함됩니다.

서비스 이름설명
alambic
Git LFS 개체, 아바타 이미지, 웹 UI의 주석에서 파일 첨부 파일, 릴리스 보관 파일과 같은 파일의 스토리지 및 검색과 관련된 이벤트를 기록합니다.

데이터베이스에 대한 저널 로그

다음 로그에는 인스턴스의 데이터베이스 서비스와 관련된 이벤트가 포함되어 있습니다.

서비스 이름설명
mysql
인스턴스의 MySQL 데이터베이스와 관련된 이벤트를 기록합니다.
mssql
인스턴스의 MSSQL 데이터베이스와 관련된 이벤트를 기록합니다.

웹후크에 대한 저널 로그

다음 로그 파일에는 인스턴스가 보내는 웹후크와 관련된 이벤트가 포함되어 있습니다.

서비스 이름설명
hookshot-go
트리거된 웹후크, 전송 및 실패를 포함하여 인스턴스의 모든 웹후크 활동에 대한 이벤트를 기록합니다.

지원 번들의 시스템 로그 정보

지원 번들을 생성하면 파일에 시스템 로그가 포함됩니다. 자세한 내용은 GitHub 지원에 데이터 제공을(를) 참조하세요.