본문으로 건너뛰기

에이전트 설치

와탭 모니터링 서비스를 사용하기 위해서는 회원 가입 후 프로젝트를 생성하고 대상 서버에 에이전트를 설치해야 합니다. 회원 가입에 관한 자세한 내용은 다음 문서를 참조하세요.

다음 동영상 가이드를 참조하세요.

프로젝트 생성하기

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

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

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

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

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

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

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

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

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

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

액세스 키 확인

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

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

노트

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

Virtual Environment 활성화

애플리케이션이 virtualenv를 사용 중이라면 가상 환경을 활성화하세요. bin/activate 파일을 실행하세요.

에이전트 다운로드

액세스 키를 발급받은 다음 에이전트 다운로드 섹션으로 이동하세요. 다음 코드를 실행해 에이전트를 설치하세요.

pip install whatap-python
노트

pip 명령으로 설치할 수 없다면 pypi 와탭 페이지에서 설치 파일을 다운로드하세요. 다운로드한 파일을 압축 해제한 다음 설치를 진행하세요.

Docker

  1. Docker 컨테이너로 서비스되는 애플리케이션의 경우 다음 내용을 DockerFile에 추가하세요.

    • Python 에이전트를 설치하세요.

      Dockerfile
      ENV WHATAP_HOME /whatap
      RUN mkdir -p /whatap
      RUN pip install whatap-python
      // requirements.txt를 사용하는 경우 해당 파일에 whatap-python 을 추가하세요.
    • 액세스 키수집 서버 IP 설정을 등록하세요.

      Dockerfile
      RUN 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
  2. 기존 실행 커맨드 python manage.py runserver앞에 whatap-start-agent를 추가하세요.

    Dockerfile
    #ENTRYPOINT python manage.py runserver
    ENTRYPOINT whatap-start-agent python manage.py runserver
노트

에이전트 파일 구성에 대한 자세한 설명은 Python 파일 구성을 참조하세요.

Details

Python 에이전트 구성 파일 Python 에이전트 파일은 애플리케이션 모니터링에 필요한 정보를 추출해 와탭 수집 서버로 전달하는 트레이서와 트레이서가 데이터를 보낼 수 있도록 돕는 요소로 구성되어 있습니다.

  • whatap.conf

    에이전트 설정 기본 필수 파일입니다. 에이전트와 관련된 옵션은 모두 whatap.conf 파일에서 설정 가능합니다.

  • paramkey.txt

    추적한 트랜잭션의 트레이스 정보로 수집한 HTTP와 SQL 데이터의 파라미터 정보를 확인할 때 사용합니다.

    보안 키를 파일에 저장하고 실제 수집된 데이터를 브라우저에서 확인하고자 할 때 파일에 저장해 둔 보안 키를 입력해야 조회할 수 있습니다.

    파일의 내용을 직접 변경하여 보안 키 수정이 가능합니다. 관련 옵션은 다음과 같습니다.

    • profile_http_parameter_enabled Boolean

      기본값 false

    • profile_sql_param_enabled Boolean

      기본값 false

에이전트 설정

  1. WHATAP_HOME 기본 경로 설정

    로그와 설정 파일 경로를 위한 $WHATAP_HOME 경로를 지정하세요. whatap 디렉터리를 새로 생성하는 것을 권장합니다.

    $ export WHATAP_HOME=[PATH]
  2. 액세스 키 및 수집 서버 IP 설정

    다음 명령어를 실행하면 $WHATAP_HOME에 지정한 경로에 바로 whatap.conf 파일이 생성 및 설정됩니다.

    whatap-setting-config \
    --host [수집 서버 IP] \
    --license [액세스 키] \
    --app_name [사용자 지정 에이전트 이름 입력] \
    --app_process_name [프로세스 명, ex. uwsgi, gunicorn]
  3. 설정 확인

    다음과 같이 설정 파일이 잘 생성되었는지 확인하세요.

    $ 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