본문으로 건너뛰기

일반 설치

리눅스 환경의 Go 애플리케이션에 WhaTap 모니터링 에이전트를 설치하려면 다음 단계를 진행하세요.

설치를 시작하기 전에 다음 정보를 준비하세요.

  • WhaTap 프로젝트 액세스 키 ([프로젝트 메뉴] > [관리] > [에이전트 설치]에서 확인)
  • WhaTap 수집 서버 IP 주소

Go 라이브러리 적용하기

모니터링 대상 애플리케이션에 WhaTap Go Library를 추가하는 방법은 다음과 같습니다. 자동 적용 방식을 권장합니다.

라이브러리 설정 방식

구분설정 방식설명비고
자동 적용whatap-go-inst 사용whatap-go-inst 도구로 코드 자동 삽입권장
수동 적용go-api 직접 사용API를 직접 코드에 추가세밀한 제어 필요 시

자동 적용 (권장)

whatap-go-inst 도구를 사용하여 소스코드에 모니터링 코드를 자동으로 삽입합니다.

1. whatap-go-inst 설치하기

Go Version설치 방법
Go 1.21+ (권장)go install 이용
Go 1.18~1.20바이너리 다운로드
  • Go 1.21+ (권장)

    go install github.com/whatap/go-api-inst/cmd/whatap-go-inst@latest
  • Go 1.18~1.20

    미리 빌드된 바이너리를 다운로드하세요.

    Linux x86_64:

    wget https://github.com/whatap/go-api-inst/releases/latest/download/whatap-go-inst_linux_amd64.tar.gz
    tar -xvzf whatap-go-inst_linux_amd64.tar.gz
    sudo mv whatap-go-inst /usr/local/bin/

    Linux ARM64:

    wget https://github.com/whatap/go-api-inst/releases/latest/download/whatap-go-inst_linux_arm64.tar.gz
    tar -xvzf whatap-go-inst_linux_arm64.tar.gz
    sudo mv whatap-go-inst /usr/local/bin/

2. 프로젝트 초기화 및 빌드

아래 명령어는 go.mod가 있는 프로젝트 루트 디렉토리에서 실행하세요.

처음 설치하는 경우

whatap-go-inst를 처음 설치했다면, 먼저 PATH 환경 변수를 설정해야 합니다.

# 환경 변수 추가 (처음 설치 시에만 필요)
export PATH=$PATH:$(go env GOPATH)/bin

# 프로젝트 초기화
whatap-go-inst init

# go-api 패키지 다운로드 및 설치
go get github.com/whatap/go-api@latest
go mod tidy

# 빌드 (모니터링 코드 자동 삽입)
whatap-go-inst go build -o myapp .
노트

자세한 사용법은 자동 적용 가이드를 참고하세요.

수동 적용

go-api를 직접 다운로드한 후 소스코드에 모니터링 코드를 수동으로 삽입합니다.

1. go-api 다운로드

go get github.com/whatap/go-api

2. 모니터링 코드 추가

import "github.com/whatap/go-api/trace"

func main(){
trace.Init(nil)
defer trace.Shutdown()

ctx, _ := trace.Start(context.Background(), "Start Tx")
...
trace.End(ctx, err)
}
노트

자세한 API 사용법은 수동 적용 가이드를 참고하세요.

모니터링 환경 변수 설정하기

모니터링 환경 변수는 whatap.conf 파일에서 설정합니다.

whatap.conf애플리케이션이 실행되는 작업 디렉토리(working directory)에 생성해야 합니다.

주요 설정

환경 변수설명
license프로젝트 액세스 키
whatap.server.hostWhaTap 수집 서버 주소
app_name애플리케이션 이름

실행 방식에 따른 whatap.conf 위치

실행 방법Working Directorywhatap.conf 위치
./myapp현재 디렉토리./whatap.conf
/home/user/app/myapp/home/user/app/home/user/app/whatap.conf
절대 경로로 실행/ (루트)WHATAP_HOME 설정 필요

설정 방법

기본 실행

echo "license={액세스 키}" >> ./whatap.conf
echo "whatap.server.host={수집 서버 IP 주소}" >> ./whatap.conf
echo "app_name={애플리케이션 이름}" >> ./whatap.conf
./app

WHATAP_HOME 환경 변수 설정

mkdir ./whatap_home
echo "license={액세스 키}" >> ./whatap_home/whatap.conf
echo "whatap.server.host={수집 서버 IP 주소}" >> ./whatap_home/whatap.conf
echo "app_name={애플리케이션 이름}" >> ./whatap_home/whatap.conf
WHATAP_HOME=./whatap_home ./app

프로세스별 에이전트 이름 설정

2개 이상의 프로세스로 실행되는 애플리케이션은 프로세스별로 각각의 whatap.conf 파일 설정을 권장합니다.

# 애플리케이션 1
mkdir ./whatap_home
echo "license={액세스 키}" >> ./whatap_home/whatap.conf
echo "whatap.server.host={수집 서버 IP 주소}" >> ./whatap_home/whatap.conf
echo "app_name={애플리케이션 이름-1}" >> ./whatap_home/whatap.conf
WHATAP_HOME=./whatap_home ./app

# 애플리케이션 2
mkdir ./whatap_home1
echo "license={액세스 키}" >> ./whatap_home1/whatap.conf
echo "whatap.server.host={수집 서버 IP 주소}" >> ./whatap_home1/whatap.conf
echo "app_name={애플리케이션 이름-2}" >> ./whatap_home1/whatap.conf
WHATAP_HOME=./whatap_home1 ./app
노트

app_name은 에이전트 이름을 결정하기 위한 구성 요소입니다. 자세한 내용은 다음 문서를 참조하세요.

데이터 중계용 에이전트 설치하기

액세스 키를 발급 받으면 다음 명령어를 이용해 에이전트를 다운로드하세요.

SH
## 패키지 리포지토리 등록
$ sudo rpm -Uvh https://repo.whatap.io/centos/5/noarch/whatap-repo-1.0-1.noarch.rpm

## 패키지 설치
$ sudo yum install whatap-agent

모니터링 시작하기

애플리케이션 서버를 다시 시작하면 에이전트가 정보 수집을 시작합니다.