에이전트 설치
와탭 모니터링 서비스를 사용하기 위해서는 회원 가입 후 프로젝트를 생성하고 대상 서버에 에이전트를 설치해야 합니다. 회원 가입에 관한 자세한 내용은 다음 문서를 참조하세요.
다음 동영상 가이드를 참조하세요.
프로젝트 생성하기
에이전트를 설치하기 전에 먼저 프로젝트를 생성하세요.
와탭 모니터링 서비스로 이동한 다음 로그인하세요.
프로젝트를 생성하려면 화면 왼쪽 메뉴에서 + 프로젝트 버튼을 선택하세요.
상품 카탈로그 화면에서 프로젝트에 설치할 상품을 선택하세요.
프로젝트 이름, 데이터 서버 지역, 타임 존 등의 항목을 차례로 설정하세요.
모든 설정을 완료한 다음에는 프로젝트 생성하기 버튼을 선택하세요.
- 데이터 서버 지역은 리전(클라우드 서비스를 제공하기 위해 설치한 데이터 센터의 묶음)을 의미합니다. 특정 리전을 선택하면 해당 리전에 속한 데이터 센터에 사용자의 데이터를 저장합니다.
- 타임 존은 알림, 보고서를 생성하는 기준 시간입니다.
- 여러 개의 프로젝트를 그룹으로 묶어 관리하려면 프로젝트 그룹에서 그룹을 선택하거나 그룹을 추가하세요. 그룹에 대한 자세한 설명은 다음 문서를 참조하세요.
- 조직을 선택한 상태에서 프로젝트를 추가할 경우 조직 하위 그룹을 필수로 설정해야 합니다.
액세스 키 확인
액세스 키는 와탭 서비스 활성화를 위한 고유 ID입니다.
설치 안내 섹션에서 프로젝트 액세스 키 발급받기 버튼을 선택하세요. 액세스 키를 자동으로 발급받은 후 다음 단계를 진행합니다.
액세스 키가 유효하지 않은 경우 서비스 이용이 제한됩니다. 화면 오른쪽 위에 채널 문의를 통해 갱신하거나 연장할 수 있습니다.
프로젝트를 생성한 다음에는 자동으로 에이전트 설치 페이지로 이동합니다. 에이전트 설치 페이지로 이동하지 않는다면 화면 왼쪽 메뉴에서 관리 > 에이전트 설치를 선택하세요.
Virtual Environment 활성화
애플리케이션이 virtualenv를 사용 중이라면 가상 환경을 활성화하세요. bin/activate 파일을 실행하세요.
에이전트 다운로드
액세스 키를 발급받은 다음 에이전트 다운로드 섹션으로 이동하세요. 다음 코드를 실행해 에이전트를 설치하세요.
pip install whatap-python
pip 명령으로 설치할 수 없다면 pypi 와탭 페이지에서 설치 파일을 다운로드하세요. 다운로드한 파일을 압축 해제한 다음 설치를 진행하세요.
Docker
Docker 컨테이너로 서비스되는 애플리케이션의 경우 다음 내용을 DockerFile에 추가하세요.
Python 에이전트를 설치하세요.
DockerfileENV WHATAP_HOME /whatap
RUN mkdir -p /whatap
RUN pip install whatap-python
// requirements.txt를 사용하는 경우 해당 파일에 whatap-python 을 추가하세요.액세스 키 및 수집 서버 IP 설정을 등록하세요.
DockerfileRUN touch /whatap/whatap.conf
RUN echo "license=[ 발급된 액세스 키 ]" > /whatap/whatap.conf
RUN echo "whatap.server.host=[ 수집 서버 IP ]" >> /whatap/whatap.conf
RUN echo "app_name=[ 에이전트 이름 ]" >> /whatap/whatap.conf
RUN echo "app_process_name=[ 애플리케이션 프로세스 이름 예)uwsgi, gunicorn.. ]" >> /whatap/whatap.conf
기존 실행 커맨드
python manage.py runserver
앞에whatap-start-agent
를 추가하세요.Dockerfile#ENTRYPOINT python manage.py runserver
ENTRYPOINT whatap-start-agent python manage.py runserver
에이전트 파일 구성에 대한 자세한 설명은 Python 파일 구성을 참조하세요.
Python 에이전트 구성 파일
whatap.conf
에이전트 설정 기본 필수 파일입니다. 에이전트와 관련된 옵션은 모두 whatap.conf 파일에서 설정 가능합니다.
paramkey.txt
추적한 트랜잭션의 트레이스 정보로 수집한 HTTP와 SQL 데이터의 파라미터 정보를 확인할 때 사용합니다.
보안 키를 파일에 저장하고 실제 수집된 데이터를 브라우저에서 확인하고자 할 때 파일에 저장해 둔 보안 키를 입력해야 조회할 수 있습니다.
파일의 내용을 직접 변경하여 보안 키 수정이 가능합니다. 관련 옵션은 다음과 같습니다.
profile_http_parameter_enabled Boolean
기본값
false
profile_sql_param_enabled Boolean
기본값
false
에이전트 설정
WHATAP_HOME 기본 경로 설정
로그와 설정 파일 경로를 위한
$WHATAP_HOME
경로를 지정하세요. whatap 디렉터리를 새로 생성하는 것을 권장합니다.$ export WHATAP_HOME=[PATH]
액세스 키 및 수집 서버 IP 설정
다음 명령어를 실행하면
$WHATAP_HOME
에 지정한 경로에 바로 whatap.conf 파일이 생성 및 설정됩니다.whatap-setting-config \
--host [수집 서버 IP] \
--license [액세스 키] \
--app_name [사용자 지정 에이전트 이름 입력] \
--app_process_name [프로세스 명, ex. uwsgi, gunicorn]설정 확인
다음과 같이 설정 파일이 잘 생성되었는지 확인하세요.
$ cat $WHATAP_HOME/whatap.conf
애플리케이션 서버별 적용
WHATAP_AGENT
시작 명령어로 애플리케이션 서버를 재시작하세요. 재시작 후 와탭 에이전트가 애플리케이션의 모니터링 정보를 수집합니다.
Command
$ whatap-start-agent python manage.py runserver
uWSGI
예제 1
$ whatap-start-agent uwsgi --ini myapp.ini
예제 2
description "uWSGI application server handling myapp"
start on runlevel [2345]
stop on runlevel [!2345]
exec whatap-start-agent [YOUR_APPLICATION_START_COMMAND]
또는
exec env WHATAP_HOME=[PATH] [절대 경로]/whatap-start-agent [YOUR_APPLICATION_START_COMMAND]
예제 3
$ whatap-start-agent gunicorn myapp.wsgi
Gunicorn
예제 1
NAME="uwsgi"
PATH=/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/uwsgi
########## WHATAP_AGENT_CONF ##########
WHATAP_HOME=[PATH]
WHATAP_AGENT=[절대 경로]/whatap-start-agent
...
do_start(){
env WHATAP_HOME=$WHATAP_HOME $WHATAP_AGENT [YOUR_APPLICATION_START_COMMAND]
}
예제 2
description "Gunicorn application server handling myapp"
start on runlevel [2345]
stop on runlevel [!2345]
exec whatap-start-agent [YOUR_APPLICATION_START_COMMAND]
또는
exec env WHATAP_HOME=[PATH] [절대 경로]/whatap-start-agent [YOUR_APPLICATION_START_COMMAND]
예제 3
NAME="gunicorn"
PATH=/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/gunicorn
########## WHATAP_AGENT_CONF ##########
WHATAP_HOME=[PATH]
WHATAP_AGENT=[절대 경로]/whatap-start-agent
...
do_start(){
env WHATAP_HOME=$WHATAP_HOME $WHATAP_AGENT [YOUR_APPLICATION_START_COMMAND]
}
Supervisor
[program:app-uwsgi]
environment = WHATAP_HOME=[PATH]
command = [절대 경로]/whatap-start-agent /usr/local/bin/uwsgi --ini /home/blog/backend/config/uwsgi.ini
[program:nginx-app]
command = /usr/sbin/nginx
WSGI 애플리케이션 직접 구현
import whatap
@whatap.register_app
def simple_app(environ, start_response):
"""Simplest possible application object"""
status = '200 OK'
response_headers = [('Content-type', 'text/plain')]
start_response(status, response_headers)
return ['Hello world!\n']
에이전트 적용 및 서비스 실행 확인
와탭 에이전트 적용
가장 상단에 API를 직접 호출하는 코드를 다음과 같이 추가해 와탭 에이전트를 적용하세요.
import whatap
whatap.agent서비스 실행 확인
다음 명령어를 실행해 와탭 Python 서비스가 정상적으로 실행되었는지 확인하세요.
ps -ef | grep whatap_python