시스템 관리 · 4 min read · Nov 10, 2025

우분투 24.04에 GoAccess 로그 분석기 설치하는 방법

GoAccess는 우분투를 포함한 유닉스 계열 시스템을 위한 실시간 웹 로그 분석기입니다. Apache, Nginx 및 Amazon S3 로그와 같은 다양한 형식을 지원하며, 웹 서버 로그를 시각화하고 분석하는 효율적이고 사용자 친화적인 방법을 제공합니다. GoAccess는 터미널에서 실행하거나 웹 기반 인터페이스로 사용할 수 있으며, 방문자 수, 요청 세부정보, 지리적 위치 및 참조 사이트와 같은 필수 메트릭을 포함한 동적 보고서를 제공합니다. 속도, 상호작용성 및 포괄적인 통찰력으로 인해 시스템 관리자와 개발자들이 우분투 시스템에서 웹 서버 성능을 모니터링하고 최적화하는 데 유용한 도구로 평가받고 있습니다.

이 가이드에서는 우분투 24.04 서버에 GoAccess 로그 분석기를 설치하는 방법을 배웁니다.

전제 조건

시작하기 전에 다음 사항을 확인하세요:

  • 우분투 24.04 서버.
  • 관리자 권한이 있는 비루트 사용자.
  • Apache/Nginx 웹 서버가 설치되어 있어야 합니다.

APT를 사용한 GoAccess 설치

GoAccess 로그 분석기는 패키지 관리자와 소스 코드를 통해 수동으로 설치하는 두 가지 방법으로 설치할 수 있습니다. 이 섹션에서는 APT 패키지 관리자를 사용하여 우분투에 GoAccess를 설치하는 방법을 배웁니다.

먼저, GoAccess 저장소의 GPG 키를 추가하기 위해 다음 명령을 실행합니다.

wget -O - https://deb.goaccess.io/gnugpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/goaccess.gpg >/dev/null

다음 명령을 사용하여 우분투/데비안 기반 배포를 위한 GoAccess 저장소를 추가합니다.

echo "deb [signed-by=/usr/share/keyrings/goaccess.gpg arch=$(dpkg --print-architecture)] https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/goaccess.list

다음으로, 다음 ‘apt’ 명령을 실행하여 우분투 패키지 인덱스를 업데이트하고 ‘ goaccess ‘를 설치합니다. 설치를 확인하려면 ‘ Y ‘를 입력합니다.

sudo apt update && sudo apt install goaccess

add repo update instakk

설치가 완료되면 ‘ goaccess ‘ 바이너리 파일을 찾고 다음 명령으로 ‘ goaccess ‘ 버전을 확인합니다.

which goaccess  
goaccess --version

아래와 같이 GoAccess 1.9.3가 ‘ /usr/bin/goaccess ‘에 설치되어 있는 것을 확인할 수 있습니다.

check goaccess

소스 코드에서 GoAccess 설치하기

소스 코드에서 GoAccess를 수동으로 빌드하려면 다음 단계를 사용할 수 있습니다:

GoAccess를 컴파일하기 전에 패키지 종속성을 설치하기 위해 다음 ‘apt’ 명령을 실행합니다.

sudo apt install libncursesw5-dev libgeoip-dev libtokyocabinet-dev build-essential

install deps

GoAccess 다운로드 페이지를 방문하여 최신 버전의 링크를 가져온 후, GoAccess 소스 코드를 다운로드하고 아래의 ‘tar’ 명령으로 압축을 풉니다.

wget https://tar.goaccess.io/goaccess-1.9.3.tar.gz  
tar -xzvf goaccess-1.9.3.tar.gz

goaccess- ‘ 디렉토리로 이동하고 다음 명령으로 설치를 구성합니다. 이 예제에서는 ‘ mmdb* ‘ 데이터베이스 파일을 통해 GeoIP 지원을 활성화합니다.

cd goaccess-*/  
./configure --enable-utf8 --enable-geoip=mmdb

configure build

이제 아래 명령을 실행하여 GoAccess를 컴파일하고 시스템에 설치합니다. 실행 후 GoAccess는 ‘ /usr/local/bin/goaccess ‘에 설치되며 기본 구성 디렉토리는 ‘ /usr/local/etc/goaccess ‘입니다.

sudo make && sudo make install

compile install

이제 아래 명령을 실행하여 GoAccess 버전을 확인합니다. 아래에서 GoAccess 1.9.3이 /usr/local/bin/goaccess에 설치된 것을 확인할 수 있습니다.

which goaccess  
goaccess --version

check version

GeoIP 데이터베이스와 GoAccess 통합하기

GoAccess 로그 분석기는 GeoIP 통합을 지원합니다. 이를 통해 방문자의 출신 국가를 표시할 수 있습니다. 이 섹션에서는 GoAccess를 구성하고 GeoIP 데이터베이스 파일과 통합하는 방법을 배웁니다.

먼저, https://db-ip.com/db/lite.php를 방문하여 GeoIP 데이터베이스 파일의 링크를 가져오고 아래의 ‘ wget ‘ 명령을 사용하여 다운로드합니다.

wget https://download.db-ip.com/free/dbip-country-lite-2024-07.mmdb.gz

GeoIP 데이터베이스 파일을 /opt/geoip 디렉토리에 다음과 같이 압축을 풉니다.

gunzip dbip-country-lite-2024-07.mmdb.gz /opt/geoip/

다음으로, 아래의 ‘ goaccess ‘ 명령을 실행하여 기본 구성 디렉토리를 찾습니다. APT를 통해 설치한 경우 GoAccess 디렉토리는 ‘/etc/goaccess’에 위치합니다. 소스 코드에서 컴파일한 경우 GoAccess 디렉토리는 ‘ /usr/local/etc/goaccess ‘에 위치합니다.

goaccess --dcf

이제 다음 ‘ nano ‘ 편집기 명령으로 GoAccess 구성 파일 ‘ /usr/local/etc/goaccess/goaccess.conf ‘를 엽니다.

sudo nano /usr/local/etc/goaccess/goaccess.conf

다음과 같이 ‘time-format’ 및 ‘ date-format ‘ 줄의 주석을 제거합니다:

# 다음 시간 형식은 모든  
# Apache/NGINX의 로그 형식과 함께 작동합니다.  
#  
time-format %H:%M:%S  
  
# 다음 날짜 형식은 모든  
# Apache/NGINX의 로그 형식과 함께 작동합니다.  
#  
date-format %d/%b/%Y

‘log-format’ 옵션에서 일반 Nginx/Apache 로그를 위해 ‘ COMBINED ‘로 변경합니다.

log-format COMBINED  
  
or  
log-format VCOMBINED  
log-format %v:%^ %h %^[%d:%t %^] "%r" %s %b "%R" "%u"

geoip ‘ 옵션의 주석을 제거하고 GeoIP 데이터베이스 파일의 경로를 추가합니다.

geoip-database /home/geoip/dbip-country-lite-2021-10.mmdb

완료되면 파일을 저장하고 편집기를 종료합니다.

GoAccess로 Apache/Nginx 로그 분석하기

이제 GoAccess를 구성하고 GeoIP와 통합했으므로, 다음 단계에서는 GoAccess로 로그 파일을 분석하는 방법을 배웁니다.

GoAccess로 로그를 분석하려면 아래의 ‘ goaccess ‘ 명령을 실행합니다.

goaccess access.log

다음과 같은 출력을 볼 수 있습니다:

  • 일일 고유 방문자: 일일 고유 방문자 목록.
  • 요청된 파일 (URL): 가장 많이 요청된 파일 - 비정적 파일에 대해.
  • 정적 요청: 이미지, CSS 및 JavaScript와 같은 정적 파일에 대한 요청 목록.
  • 찾을 수 없는 URL (404): 404 페이지를 찾을 수 없는 오류.
  • 방문자 호스트 이름 및 IP: 방문자 호스트 이름 및 IP 주소 목록. 국가, 도시 및 rDNS와 같은 정보를 얻기 위해 확장할 수 있습니다.
  • 운영 체제: 방문자 운영 체제를 표시합니다.
  • 브라우저: 방문자의 웹 브라우저를 표시합니다.
  • 시간 분포: 고유 방문자 수, 히트 수 및 소비된 대역폭에 대한 시간별 보고서를 표시합니다.
  • 가상 호스트: 가상 호스트 로그를 표시합니다. ‘log-format’ 옵션에서 VCOMBINED 또는 ‘%s’를 활성화할 때만 활성화됩니다.
  • 참조 URL: 방문자의 참조자를 표시합니다.

다음 키를 사용하여 GoAccess를 탐색할 수도 있습니다:

  • TAB: 섹션 간 앞으로 이동하거나 SHIFT+TAB: 뒤로 이동.
  • F5: goaccess 대시보드를 새로 고침.
  • j: 아래로 스크롤하고 k: 위로 스크롤.
  • /: 패턴 검색 후 n을 입력하여 이동.
  • q: 대시보드 종료.
  • F1 또는 h: 도움말 표시.

아래에서 기본 GoAccess 대시보드를 확인할 수 있습니다:

check logs

GeoIP 통합을 통해 다음과 같은 ‘ Geo Location ‘ 섹션을 볼 수 있습니다:

geoip

GoAccess로 보고서 생성하기

이 섹션에서는 GoAccess 로그 분석기를 사용하여 HTML, JSON 및 CSV 형식으로 로그 보고서를 생성합니다. 또한 실시간 로그 분석기를 설정합니다.

GoAccess의 HTML 보고서를 생성하려면 ‘-o’ 옵션을 포함하고 ‘filename.html’을 다음과 같이 지정합니다:

goaccess access.log -o access-log.html

이제 웹 브라우저를 사용하여 ‘ access-log.html ‘ 파일로 이동하면 다음과 같은 GoAccess 보고서를 볼 수 있습니다:

exported

또한 JSON 및 CSV 형식으로 로그 보고서를 생성할 수 있습니다. 아래의 ‘goaccess’ 명령을 사용합니다.

goaccess access.log -a -d -o access.json  
goaccess access.log --no-csv-summary -o access.csv

다음으로, 아래의 ‘ goaccess ‘ 명령으로 실시간 로그 모니터링을 설정할 수 있습니다.

goaccess access.log -o /var/www/html/reports.html --real-time-html

이제 웹 브라우저를 사용하여 ‘reports.html’ 페이지로 이동하면 GoAccess에 의해 생성된 실시간 보고서를 볼 수 있습니다.

real time via websocket

결론

축하합니다! 우분투 24.04 서버에 GoAccess 로그 분석기를 설치하는 과정을 완료했습니다. APT와 소스 코드로 GoAccess를 설치하는 방법을 배웠고, GoAccess로 로그 파일을 분석하고 HTML, JSON 및 CSV와 같은 여러 형식으로 로그 보고서를 생성하는 방법을 배웠습니다. 마지막으로 GoAccess로 실시간 로그 분석기를 수행했습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.