본문으로 건너뛰기

에이전트 설치

모니터링 대상 애플리케이션 서버에서 TCP 통신으로 데이터를 전달하고, 와탭 수집 서버로 데이터를 전송하려면 같은 서버에 에이전트를 설치해야 합니다. 설치 방식은 패키지 설치로 가능합니다.

노트

에이전트는 기본 127.0.0.1:6600 TCP 서버로 작동합니다. Go 애플리케이션에서 데이터를 수신해서 와탭 수집 서버로 Outbound 6600 포트로 전달합니다.

  1. 와탭 저장소(Repository)를 설치하세요.

  2. whatap-agent 리눅스 패키지(yum, apt-get)를 설치하세요.

  3. whatap-agent 서비스를 실행하세요.

Go Monitoring

와탭 모니터링 서비스를 사용하기 위해서는 회원 가입 후 프로젝트를 생성하고 대상 서버에 에이전트를 설치해야 합니다.

프로젝트 생성하기

에이전트를 설치하기 전에 먼저 프로젝트를 생성하세요.

  1. 와탭 모니터링 서비스로 이동한 다음 로그인하세요.

  2. 프로젝트를 생성하려면 화면 왼쪽 사이드 메뉴에서 전체 프로젝트 > + 프로젝트 버튼을 선택하세요.

  3. 상품 선택 화면에서 프로젝트에 설치할 상품을 선택하세요.

  4. 프로젝트 이름, 데이터 서버 지역, 타임 존 등의 항목을 차례로 설정하세요.

  5. 모든 설정을 완료한 다음에는 프로젝트 생성하기 버튼을 선택하세요.

노트
  • 데이터 서버 지역은 리전(클라우드 서비스를 제공하기 위해 설치한 데이터 센터의 묶음)을 의미합니다. 특정 리전을 선택하면 해당 리전에 속한 데이터 센터에 사용자의 데이터를 저장합니다.

  • 타임 존은 알림, 보고서를 생성하는 기준 시간입니다.

  • 여러 개의 프로젝트를 그룹으로 묶어 관리하려면 프로젝트 그룹에서 그룹을 선택하거나 그룹을 추가하세요. 그룹에 대한 자세한 설명은 다음 문서를 참조하세요.

  • 조직을 선택한 상태에서 프로젝트를 추가할 경우 조직 하위 그룹을 필수로 설정해야 합니다.

액세스 키 확인

액세스 키는 와탭 서비스 활성화를 위한 고유 ID입니다.

설치 안내 섹션에서 프로젝트 액세스 키 발급받기 버튼을 선택하세요. 액세스 키를 자동으로 발급받은 후 다음 단계를 진행합니다.

노트

프로젝트를 생성한 다음에는 자동으로 에이전트 설치 페이지로 이동합니다. 에이전트 설치 페이지로 이동하지 않는다면 화면 왼쪽 메뉴에서 관리 > 에이전트 설치를 선택하세요.

에이전트 다운로드

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

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

## 패키지 설치
$ sudo yum install whatap-agent
에이전트 구성 파일

모니터링 정보를 수집하기 위한 트레이서, 수집한 정보를 서버에 전송하기 위한 에이전트, 트레이서와 에이전트를 서버에 동적으로 적용하기 위한 설치 스크립트 파일로 구성합니다.

  • whatap-agent: 에이전트, 트레이서에서 UDP로 전달한 정보를 수집 서버로 전송하는 프로그램입니다.

  • /etc/init.d/whatap-agent: 서비스 스크립트 파일입니다.

  • whatap_agent: 서비스 실행 파일입니다.

  • whatap.conf: 설정 정보 및 수집 서버 IP, 액세스 키를 입력하는 파일입니다.

  • whatap-boot-yyyymmdd.log: 에이전트 로그 파일입니다. (경로: /usr/whata/agent/log)

에이전트 설정

기본 설정하기

다음 명령어를 차례로 실행해 whatap.conf 파일에 액세스 키수집 서버 IP 주소 등을 설정하세요.

  • 애플리케이션의 시작 스크립트 경로에 whatap.conf 파일을 생성하세요.

  • WHATAP_HOME 환경 변수를 설정하지 않으면 애플리케이션 시작 스크립트의 경로를 whatap.conf 파일 경로로 인식합니다.

SH
# 스크립트 실행 경로에 whatap.conf 파일 생성
$ echo "license={액세스 키}" >> ./whatap.conf
$ echo "whatap.server.host={수집 서버 IP 주소}" >> ./whatap.conf
$ echo "app_name={애플리케이션 이름}" >> ./whatap.conf

# 애플리케이션 실행
./app
  • license: 액세스 키를 입력하세요.

  • whatap.server.host: 수집 서버 IP 주소를 입력하세요.

  • app_name: 애플리케이션 이름을 입력하세요. 문자열을 이용해 사용자 설정할 수 있습니다.

    노트

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

WHATAP_HOME 환경 변수 설정하기

whatap.conf 파일 경로를 WHATAP_HOME 환경 변수로 설정할 수 있습니다. WHATAP_HOME 경로를 우선 생성하세요.

# WHATAP_HOME 경로 우선 생성 후 whatap.conf 파일 경로 설정
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개 이상의 프로세스로 실행되는 애플리케이션에서 1개의 whatap.conf 파일을 공유하면 사용자가 설정한 변경 사항이 정상 반영되지 않을 수 있습니다. 프로세스 별로 각각의 whatap.conf 파일을 설정할 것을 권장합니다.

에이전트 이름이 중복되지 않도록 사용자는 문자열을 에이전트 이름에 추가해 구분할 수 있습니다. app_name 옵션으로 설정한 값이 에이전트 이름의 가장 앞 부분에 추가됩니다.

동일 인스턴스, 동일 명령어로 실행되는 에이전트의 이름이 중복되는 현상을 피할 수 있습니다.

# WHATAP_HOME 경로 우선 생성 후 whatap.conf 파일 경로 설정
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

# WHATAP_HOME 경로 우선 생성 후 whatap.conf 파일 경로 설정
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

Go 라이브러리 설정하기

Go 애플리케이션 소스 코드에 github.com/whatap/go-api 패키지를 추가하세요.

go get github.com/whatap/go-api

trace.Init(), trace.Shutdown() 함수로 초기화 및 종료를 설정하세요. trace.Start(), trace.End() 함수로 트랜잭션의 시작 종료를 설정하세요.

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

func main(){
trace.Init(nil)
//It must be executed before closing the app.
defer trace.Shutdown()

ctx, _ := trace.Start(context.Bacground(), "Start Tx")

...

trace.End(ctx, err)
}
노트

라이브러리 설정에 대한 자세한 내용은 다음 문서를 참조하세요.

모니터링 시작하기

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