본문으로 건너뛰기

On-premise설치및_구동

▣ On-premise 기준으로 설치 및 구동 방법에 대해 설명합니다.

  • exem-python-agent 3.0.8 버전 기준으로 설명합니다.

❶ Download

  • 설치할 EXEM-PYTHON-AGENT-X.X.X.tar.gz 패키지를 서버에 다운로드 또는 직접 업로드 합니다.
$ wget https://{donwload URL}/EXEM-PYTHON-AGENT-3.0.8.tar.gz
--2025-03-13 11:33:52-- https://{donwload URL}/EXEM-PYTHON-AGENT-3.0.8.tar.gz
......
HTTP request sent, awaiting response... 200 OK
Length: 25407076 (24M) [application/x-gzip]
Saving to: ‘EXEM-PYTHON-AGENT-3.0.8.tar.gz’

100%[================================================================================================================>] 25,407,076 100MB/s in 0.2s

2025-03-13 11:33:52 (100 MB/s) - ‘EXEM-PYTHON-AGENT-3.0.8.tar.gz’ saved [25407076/25407076]

$ ls
EXEM-PYTHON-AGENT-3.0.8.tar.gz

❷ 압축 해제

  • EXEM-PYTHON-AGENT-X.X.X.tar.gz를 압축 해제 합니다.
$ ls
EXEM-PYTHON-AGENT-3.0.8.tar.gz

$ tar -zxvf EXEM-PYTHON-AGENT-3.0.8.tar.gz
exem/
exem/python/
exem/python/cfg/
exem/python/cfg/agent/
exem/python/cfg/agent/pymon.ini
exem/python/cfg/agent/pymon_extend.ini
exem/python/cfg/tmp/
exem/python/cfg/tmp/Dockerfile
exem/python/cfg/tmp/deploy_configmap.yaml
exem/python/cfg/tmp/deploy_env.yaml
exem/python/pkg_version.sh
exem/python/data/
exem/python/data/agent/
exem/python/lib/
exem/python/lib/dependency/
exem/python/lib/dependency/grpcio-1.53.0.tar.gz
exem/python/lib/dependency/grpcio-tools-1.53.0.tar.gz
exem/python/lib/dependency/protobuf-4.21.6.tar.gz
exem/python/lib/dependency/psutil-5.9.8.tar.gz
exem/python/lib/exem-python-agent-3.0.8.tar.gz

❸ 모듈 설치

  • 모듈은 exem/python/lib 디렉토리에 위치해있습니다.
  • 모듈 파일 명은 exem-python-agent-x.x.x.tar.gz 입니다.
  • pip install을 이용하여 모듈을 설치합니다.
  • ex ] pip install ${모듈 파일 명}
$ cd exem/python/lib

$ ls
dependency exem-python-agent-3.0.8.tar.gz

$ pip install exem-python-agent-3.0.8.tar.gz
Processing ./exem-python-agent-3.0.8.tar.gz
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: grpcio>=1.53.0 in /usr/local/lib/python3.9/site-packages (from exem-python-agent==3.0.8) (1.66.0)
Requirement already satisfied: grpcio-tools>=1.53.0 in /usr/local/lib/python3.9/site-packages (from exem-python-agent==3.0.8) (1.66.0)
Requirement already satisfied: psutil in /usr/local/lib/python3.9/site-packages (from exem-python-agent==3.0.8) (6.0.0)
Requirement already satisfied: protobuf<6.0dev,>=5.26.1 in /usr/local/lib/python3.9/site-packages (from grpcio-tools>=1.53.0->exem-python-agent==3.0.8) (5.27.3)
Requirement already satisfied: setuptools in /usr/local/lib/python3.9/site-packages (from grpcio-tools>=1.53.0->exem-python-agent==3.0.8) (70.0.0)
Building wheels for collected packages: exem-python-agent
Building wheel for exem-python-agent (pyproject.toml) ... done
Created wheel for exem-python-agent: filename=exem_python_agent-3.0.8-py3-none-any.whl size=163430 sha256=0ab194fe150236d82fe1b4a96887fdeb9b4083e585b7e120cc8e1b609f95f855
Stored in directory: /root/.cache/pip/wheels/2a/e8/db/279042942c5ad697ab8e054e021ca0dcb95b7e3c5547a4528c
Successfully built exem-python-agent
stalling collected packages: exem-python-agent
Successfully installed exem-python-agent-3.0.8

❹ 기동에 필요한 필수 옵션 설정

  • CURR_TRACE_TXN 옵션 기본 값이 *:3000 로 설정되어 있어 3초 미만 트랜잭션은 수집되지 않습니다. 모든 트랜잭션을 확인하고 싶은 경우 CURR_TRACE_TXN 옵션을 *:0 으로 설정해야 합니다.
  • EXEM_PYTHON_HOME , EXEM_PYTHON_AGENT_NAME, EXEM_RECEIVER_ADDR , EXEM_GROUP_ID 는 exem-python-agent 기동에 필수로 필요한 옵션 설정입니다.
  • 옵션은 환경변수, 기동옵션, 설정파일로 설정이 가능합니다.

❶ 환경변수

  • 4개의 옵션(EXEM_PYTHON_HOME , EXEM_PYTHON_AGENT_NAME, EXEM_RECEIVER_ADDR , EXEM_GROUP_ID) 을 export로 환경변수로 설정합니다.
    export EXEM_PYTHON_HOME=/exem/python
export EXEM_PYTHON_AGENT_NAME=python-agent
export EXEM_GROUP_ID=python
export EXEM_RECEIVER_ADDR=10.10.10.10:9010

❷ 기동옵션 + 설정파일

  • 2개의 옵션(EXEM_PYTHON_HOME , EXEM_PYTHON_AGENT_NAME ) 을 아래 모듈 적용 할 때 기동옵션으로 설정합니다.
    start_agent --python_home /exem/python --agent_name python-agent ${python application 실행 명령어}
  • 2개의 옵션(EXEM_RECEIVER_ADDR , EXEM_GROUP_ID ) 을 pymon.ini 설정파일로 설정합니다, (/exem/python/cfg/agent/pymon.ini)
    $ cd exem/python/cfg/agent
$ ls
pymon.ini pymon_extend.ini
$ vim pymon.ini
// .. 생략
EXEM_GROUP_ID=python
RECEIVER_ADDR=10.10.10.10:9010
// .. 생략

❺ 모듈 적용

  • 모듈 설치시 start_agent 라는 실행파일이 Python 의 경로에 추가됩니다.
  • start_agent 를 이용하여 모듈을 적용합니다.
    • 단, 위 기동에 필요한 필수 옵션 설정 에서 환경변수로 설정하지 않았다면 기동옵션을 추가 하여 start_agent로 기동합니다.
  • ex ] start_agent ${python application 실행 명령어}
$ start_agent uvicorn app:app
INFO: Started server process [2634]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)