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)