Docker Python 설치
관리 > 에이전트 설치 > 하단의 애플리케이션 설치 클릭 > 설치 안내 중 Docker Python 탭 선택
Docker 컨테이너 기반으로 실행하는 Python 애플리케이션에 와탭 모니터링 에이전트를 적용하고 컨테이너 이미지를 패키징하는 과정을 다음과 같이 안내합니다. 쿠버네티스 애플리케이션을 배포하기 위해 도커 이미지가 필요합니다. 다음 과정을 통해 whatap-python 패키지가 설치된 도커 이미지를 생성합니다.
-
EKS Fargate는 지원 예정입니다.
-
Python 애플리케이션 연동 과정에 대한 이해를 돕고자 Git 예시 코드를 제공합니다. 다음 문서를 참조하세요.
에이전트 다운로드
Python 애플리케이션 도커 이미지 빌드 시 whatap-python 패키지를 설치하세요.
RUN pip3 install --upgrade whatap-python
다음 Dockerfile의 정의 예시를 참조하세요.
# python3.10을 도커환경에 설치합니다.
FROM python:3.10
# 작업 디렉터리를 /app 으로 설정합니다.
WORKDIR /app
# 현재 디렉터리의 모든 파일과 폴더를 컨테이너 내의 /app 디렉터리에 복사합니다.
ADD . /app/
# Python에서는 pip를 이용하여 외부 라이브러리를 설치할 수 있습니다.
# 와탭 Python 에이전트를 도커 이미지 빌드시 설치합니다.
RUN pip3 install --upgrade whatap-python
에이전트 설정 및 실행
애플리케이션 실행 전 Python 에이전트 작업 디렉터리를 정하고 기본 설정 파일을 생성하세요. 설정 파일(entrypoint.sh)을 통해 에이전트에 인증 정보를 전달하고 로그 추적 여부 등을 설정합니다.
설정 파일(entrypoint.sh) 완성 예시
#!/bin/bash
# 컨테이너의 작업 디렉터리를 와탭 경로로 설정하세요. 해당 경로에 에이전트 로그 및 설정 파일을 생성합니다.
export WHATAP_HOME=${PWD}
# 권한 오류 발생 시 다음 주석을 제거 후 진행하세요.
#chmod -R 777 $WHATAP_HOME
# 다음은 에이전트 구성에 필수적인 설정 값입니다. 애플리케이션 배포 yaml 파일을 통해 설정합니다.
whatap-setting-config \
--host $whatap_server_host \
--license $license \
--app_name $app_name \
--app_process_name $app_process_name
# 다음 주석은 에이전트 그룹화 및 로그 수집 활성화 등의 추가 설정입니다. 필요한 경우에만 사용하세요.
# 에이전트 그룹화
#echo "whatap.okind=$whatap.okind" >> whatap.conf
# 로그 수집 활성화
#echo "logsink_enabled=true" >> whatap.conf
#echo "logsink_trace_enabled=true" >> whatap.conf
#echo "trace_logging_enabled=true" >> whatap.conf
# 다음과 같이 whatap-start-agent를 애플리케이션 시작 명령어 앞에 추가해 에이전트를 실행하세요.
whatap-start-agent uvicorn server:app --host 0.0.0.0 --port 8000
-
컨테이너 작업 디렉터리를
WHATAP_HOME
환경변수로 설정하세요. 해당 경로에 에이전트 로그 및 설정 파일을 생성합니다.export WHATAP_HOME=${PWD}
-
WHATAP_HOME
으로 설정한 경로에 whatap.conf 파일을 생성하고 설정하도록 다음 명령어를 실행하세요.$
로 표시된 변수는 에이전트 구성에 필수적인 설정 값으로 애플리케이션 배포 yaml 파일을 통해 설정합니다.whatap-setting-config \
--host $whatap_server_host \
--license $license \
--app_name $app_name \
--app_process_name $app_process_name -
애플리케이션 시작 명령어 앞에 다음과 같이
whatap-start-agent
를 추가해 에이전트를 실행하세요.
whatap-start-agent uvicorn server:app --host 0.0.0.0 --port 8000
권한 문제가 발생하는 경우 다음과 같이 $WHATAP_HOME
에 권한을 부여하세요.
echo `sudo chmod -R 777 $WHATAP_HOME`
-
yaml 작성 예제는 다음 컨테이너 환경변수 설정을 참고하세요.
-
라이센스(
license
)는 와탭의 사용자 인증 정보입니다. 외부에 노출해서는 안됩니다.
스크립트 실행 예시
다음 Dockerfile 정의 예시를 참조하세요. entrypoint.sh 스크립트를 실행하는 완성된 예시입니다.
FROM python:3.10
WORKDIR /app
ADD . /app/
RUN pip3 install --upgrade whatap-python
# entrypoint.sh 스크립트를 컨테이너에서 실행할 수 있도록 권한을 부여합니다.
RUN chmod +x ./entrypoint.sh
# 컨테이너 생성시 entrypoint.sh 스크립트를 실행합니다.
CMD ["./entrypoint.sh"]
추가 설정
다음 설정은 선택사항으로 필요한 경우에만 사용하세요. 설정 파일(entrypoint.sh)에 다음 추가 설정 외에도 로그 및 트랜잭션 관련 설정이 가능합니다. 기타 추가 설정의 경우 다음 문서를 참조하세요.
-
에이전트 그룹화
echo "whatap.okind=$whatap.okind" >> whatap.conf
-
로그 수집 활성화
echo "logsink_enabled=true" >> whatap.conf
echo "logsink_trace_enabled=true" >> whatap.conf
echo "trace_logging_enabled=true" >> whatap.conf